Firebase Cloud Messagingをテストしています。RemoteMessage.GetNotification()は、リクエストがFirebaseコンソールからのものでない場合はnullを返しますか?
私がメッセージを送信するためにFirebaseコンソールを使用している場合 - 私のコードI通知オブジェクトに設定された値で - ない問題:
public override void OnMessageReceived(RemoteMessage message)
{
base.OnMessageReceived(message);
Firebase.Messaging.RemoteMessage.Notification oNotification;
oNotification = message.GetNotification();
私は通知を送信するためにhttp://requestmaker.com/を使用しています - そして、すべてが正常に動作します - それが送信され、私はmessageIDを取得します。
POST /fcm/send HTTP/1.1
Host: fcm.googleapis.com
Accept: */*
Authorization: key=not-a-real-key0omClYhniZaIAercMVzeFHEG508USi8lud9pxC-SzxAAbR2mflAfVNsfrbrsPJxoFYTr15ytRn9aqWSQXm5x00AOwu2Wl6mWwTcm9l6G
Content-Length: 188
Content-Type: application/x-www-form-urlencoded
ただし、oNotification = message.GetNotification();
はnullを返します。 質問は - なぜですか?
こんにちは。 「通知」ペイロードの代わりに['data'](https://firebase.google.com/docs/cloud-messaging/android/receive#handling_messages)ペイロードを送信している可能性があります。 Firebaseコンソールを使用する場合、送信されるメッセージは常に「通知」ペイロードメッセージとして扱われます。依頼者と一緒に送信している*リクエストデータを投稿できますか? –
リクエストURL:https://fcm.googleapis.com/fcm/send - 認証キー= AAAAAXu6AHE:APA9 ....要求データREGISTRATION_ID = eMM1bnJVxT8:APA91bEiVop08dRKLTSF9LdW4mGql8EFw9CwXjLqdAqxs7D8A_GF_D6DU7QPyy5JahzZoQVraJmxTQiV0UTUet_hbr1G_9xNv87Vpu4yCgN751hVF07hdRx-hlJRcfUEC82IlvaV-9AD –
@AL。それは良い点です! https://firebase.google.com/docs/cloud-messaging/concept-options#notifications_and_data_messages –