2016-12-12 33 views
3

FCMの新機能です。Firebase(FCM)登録トークン

  1. FCM接続サーバーによって登録トークンが生成されていますか。
  2. トークンは接続サーバーで定期的に変更されますか?
    • いつですか?
    • アプリ内のonTokenRefresh()を強制的に呼び出しますか?

私は一週間のためにGoogleで検索しているが、任意の詳細情報を取得できませんでした。助けてください。ありがとう。

答えて

10

1. FCM接続サーバーによって登録トークンが生成されていますか。

いいえFirebaseInstanceIDによって生成されます。初回登録時のイベントの流れを理解する方法:

  1. アプリは一意のインスタンスIDを取得します。
  2. 登録トークンはInstanceId.getToken()を呼び出して生成されます。
  3. 開発者(通常は)がトークンをApp Serverに送信します。

2.接続サーバに定期的にトークンの変更をしていますか?

私はonTokenRefresh()ドキュメントにかなり答えていると思います。

トークンをリフレッシュする必要があるとシステムが判断したときに呼び出されます。アプリケーションはgetToken()を呼び出して、すべてのアプリケーションサーバーにトークンを送信する必要があります。

これは、非常に頻繁に呼び出されることはありません、それがキーローテーションのために必要であるとインスタンスIDを処理するためには、原因に変わり:

  • アプリケーションは、Appは、新しいデバイス
  • に復元されたインスタンスID
  • を削除しますユーザーがアンインストール/再インストールアプリ
  • ユーザーがアプリデータ

をクリアシステムでもリフレッシュを絞りますトークンの更新を伴うアプリケーション・サーバーのオーバーロードを回避するために、

詳細は、ドキュメントのこのpartを参照してください。

+0

ご返信ありがとうございます。登録フローはGCMとは異なります。 GCMの場合、クラウドから登録IDが返されます。しかし、FCMのSDKによって生成されます。右?そして、キーローテーションがいつトリガされるのか分かりますか? (トークンが期限切れになったために発生しますか?) – eldon

+0

@eldon FCMにはGCM *があるため、登録フローはまったく変わりません。あなたが言及した*キーローテーション*はおそらく*登録トークンがリフレッシュされたとき*すでに*上で述べられているでしょう。それに応じて(それがリフレッシュされるたびに新しいトークンをあなたのApp Serverに送信する)それに応じて 'onTokenRefresh'を処理するだけで十分です。 –

+0

Titanium Backupアプリを使用して電話機Aを電話機Bにコピーすると、同じ登録トークンを使用できますか?また、電話Aに送信された通知は、電話Bにも届きますか? – eldon

関連する問題