あなたの質問では、次のようなペイロードを持つメッセージである
data-messageを送信しています。{"registration_ids" : ["token1"], "data" : { "key1" : "value1"}}
data
ペイロード (例では key1:value1)を受け取るには、クライアント アプリで次を使用する必要があります。
String value1 = remoteMessage.getData().get("key1");
FCM はdisplay-messagesもサポートしています。
例:
{"registration_ids" : ["token1"], "notification" : { "body" : "hello"}}
これらのメッセージは、アプリがバックグラウンドにあるときに自動的に表示されます。onMessageReceived()
また、アプリが既に開いていてフォアグラウンドにある場合にのみ呼び出します。この 2 番目のケースでは、次の方法で元の通知のフィールドにアクセスできます。remoteMessage.getNotification().getBody()
表示メッセージには{"data" : { "key1" : "value1"}}
.
アプリがフォアグラウンドにある場合、データ メッセージのようにこれらの値にアクセスできます。
アプリが bakground にある場合は、ユーザーが通知をクリックしてアクティビティを開始するまで待つ必要があります。
その時点で、次の方法でデータにアクセスできます。getIntent().getExtras()
PS: Firebase Web コンソール経由で送信される通知は、表示メッセージのみです。