firebaseプッシュ通知の動作に関するドキュメントをよく読んでいます。私のアプリがバックグラウンドではあるが、アプリケーションがフォアグラウンドになったときにコールバックするonMessageReceived
を起動していないときに、システムトレイで通知を見ることができます。私は、メッセージが私のアプリで受信されたログを見ることができます。私は、データペイロードとアプリケーションサーバーからのデータペイロードなしで呼び出すことを試みました。私のアプリケーションサーバーは、fcm apiを起動するためにPHPスクリプトを使用しています。以下は、私は私のAndroidアプリアプリケーションがフォアグラウンドのときにFirebase onMessageReceivedが呼び出されない
<service
android:name="service.MyFirebaseMessagingService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
<service
android:name="service.MyFirebaseInstanceIdService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
</intent-filter>
</service>
データペイロードで試したことは、PHPコードのJSONの 'notification'フィールドを' data'に置き換えたことを意味しますか?あなたのアプリがフォアグラウンドにあるときにonMessageReceivedメソッドが呼び出されていない場合でもですか? – GeorgeLBA
あなたのAndroidManifest.xmlに問題があると思われます。 "service.MyFirebaseInstanceIdService"を "。service.myFirebaseInstanceIdService"に置き換えてください(最初の点に注意してください)。 https://developer.android.com/guide/topics/manifest/service-element.htmlの "android:name"セクションを参照してください。 –
@GeorgeLBA通知とデータのペイロードを一緒に送信しようとしました。データペイロードの有無にかかわらず、アプリケーションがフォアグラウンドにあるときにonMessageReceivedは呼び出されません。 FirebaseMessagingService内でメッセージが受信されたログを確認できます。 – LvN