29

Heloo、Firebase コンソール経由でプッシュ通知を使用するアプリを構築しています。単純なプッシュ通知とクラウド メッセージの違いは何ですか? クラウド メッセージングからのメッセージはデータ メッセージ (キーと値を持つ) であり、通知はキーと値のない単なるテキストですか?

4

1 に答える 1

58

Firebase API には 2 種類のメッセージがあり、次のように呼ばれます。

  • 通知
  • データ

説明:

  1. 通知- アプリがバックグラウンド/強制終了された場合にのみ Android の通知トレイに直接送られるメッセージ、またはアプリがフォアグラウンドonMessageReceived()にある場合はメソッドに配信されるメッセージ。

サンプル:

{
    "notification" : { "body" : "Hi"}
}
  1. データ ペイロード- アプリケーションがフォアグラウンドかバックグラウンドか強制終了かに関係なく、これらのメッセージは常にonMessageReceived()メソッドに配信されます。

サンプル:

{
    "data" : { "message" : "Hi", "whatever_key": "value"}
 }

参考リンク

重要: Firebase コンソールからデータ ペイロード メッセージを送信することはできません。コンソールは通知メッセージのみを配信します。ただし、API を使用すると、両方のタイプのメッセージを送信できます。

データ ペイロード メッセージを送信するには、curl リクエストを行う必要があります。

HTTP POST リクエスト

https://fcm.googleapis.com/fcm/send
Content-Type:application/json
Authorization:key=AIzaSyZ-1u...0GBYzPu7Udno5aA

{ "data": {
    "score": "5x1",
    "time": "15:10"
  },
  "to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1..."
}

Firebase コンソールからサーバー キー (AIzaSyZ-1u...0GBYzPu7Udno5aA) を取得できます:プロジェクト -> 設定 -> プロジェクト設定 -> クラウド メッセージング -> サーバー キー

于 2016-06-21T15:21:00.123 に答える