-1

내 앱에서 FCM을 구현하려고하지만 문제가 있습니다. 내 맞춤 코드를 호출하는 대신 알림을 보낼 때마다 기본 알림 만 표시됩니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? 서비스를 실행하는 Android FCM 표시 알림

서비스 있습니다

<service 
    android:name="com.backgroundws.MyFirebaseMessagingService"> 
    <intent-filter> 
     <action android:name="com.google.firebase.MESSAGING_EVENT"/> 
    </intent-filter> 
</service> 
<service 
    android:name="com.backgroundws.MyFirebaseInstanceIDService"> 
    <intent-filter> 
     <action android:name="com.google.firebase.INSTANCE_ID_EVENT"/> 
    </intent-filter> 
</service> 

그리고 이것은 내 자바 코드 :

public class MyFirebaseMessagingService extends FirebaseMessagingService { 

    @Override 
    public void onMessageReceived(RemoteMessage remoteMessage) { 
     Log.d("MyFirebaseMessaging", "GotMessage"); 
     WSListener.sendEvent(this, "Push"); 
    } 

} 

그리고이 장치에 알림을받을 때 나는 로그 캣에서 볼 :

I/SendBroadcastPermission: action:com.google.android.gms.gcm.ACTION_SCHEDULE, mPermissionType:0 
I/SendBroadcastPermission: action:com.google.android.gms.gcm.ACTION_SCHEDULE, mPermissionType:0 

다음은 알림을 보내는 방법입니다.

function send_gcm_notify($reg_id, $message, $url, $key) { 
     $fields = array(

      'to'     => $reg_id , 
      'priority'    => "high", 
      "notification"   => array("body"=>$message), 
      'data'     => array("url"=> $url) 
     ); 

     $headers = array(
      'Content-Type: application/json', 
      'Authorization: key=' . $key 
     ); 

     $ch = curl_init(); 
     curl_setopt($ch, CURLOPT_URL, "https://fcm.googleapis.com/fcm/send"); 
     curl_setopt($ch, CURLOPT_POST, true); 
     curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
     curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields)); 

     $result = curl_exec($ch); 
     if ($result === FALSE) { 
      //die('Problem occurred: ' . curl_error($ch)); 
     } 
     curl_close($ch); 
     return $result; 

    } 

물론 테스트를 거쳤으며 서비스 경로가 정확합니다.

+0

가장 중요한 정보 인 알림 데이터를주의해서 관리 하시겠습니까? –

+0

. 키와 reg_id는 올바른 것이므로 알림을받습니다. –

+0

나는 당신의 PHP를 해독하고 싶지 않다. 실제 json 데이터 표시 –

답변