web-dev-qa-db-ja.com

GCMAPIキーと送信者ID

GCM SenderIDとAPIキーについて混乱しています。 Android appに通知を送信するサードパーティサーバーを構築する責任があります。

サーバー側にどちらを保存する必要がありますか? APIキーまたは送信者ID? Android開発者または私?

14
Admir Tuzović

私は自分でそれをちょっと理解しました:

  1. APIキーはコンソールで生成され、サードパーティサーバーがGCMで認証/承認するために使用します。
  2. 送信者IDは、Androidアプリが物理デバイスをGCMに登録して、特定のサードパーティサーバーからGCMからの通知を受信できるようにするために使用されます。
  3. 登録IDは、送信者IDを使用して物理デバイスをGCMに登録した結果です。
33
Admir Tuzović

サードパーティのサーバーがどのように機能するかによって異なりますが、一般的には次のように機能します。

  1. アプリは、Googleプロジェクト番号である1つ以上の送信者IDをGCMサーバーに送信します。
  2. GCMは、アプリがサーバーへの登録に使用する登録IDを返します。
  3. サーバーは、登録IDとAPIキーを使用して、GCMを介してデバイスにメッセージを送信します。
  4. メッセージを送信するとき、GCMは、Googleプロジェクト番号とAPIキーが、登録IDの作成に使用されたものと一致していることを確認します。彼らがそうするならば、それはメッセージを送ります。

開発者がこの情報を取得する方法に関する情報は、GCMドキュメントに記載されています: http://developer.Android.com/google/gcm/gs.html

ニーズに応じて、サードパーティの商用サーバーソリューションを利用できます。

4
selsine

GCMプロセスが依存する2つのキーまたはIDがあります。 1つはAndroidアプリケーション側で作成され、APIキーがすでに保存されているサーバーアプリケーションに送信されるregistrationIDです。メッセージは登録IDとAPIキーの組み合わせを使用してデバイスにプッシュされます。

登録IDは、AndroidアプリケーションがGCMサーバーにリクエストを送信したときにGCMサーバーによって生成されます。作成済みのプロジェクトIDを保持します(Google開発コンソールで)。

1
Relsell

GCM送信者IDもこれを参照する場合があります。

ソース: https://firebase.google.com/docs/cloud-messaging/js/client

enter image description here

0
Josh Wolff