問題タブ [instanceid]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
496 参照

android - デバイス トークンがバックグラウンドで更新されたときに通知を受信しない

https://developers.google.comのガイドラインを使用して、プロジェクトに GCM を実装しました。

私が取った手順は次のとおりです。

  1. デバイストークンを受け取る場合:

    ->GCMRegistrationIntentService拡張IntentServiceし、私の mainActivity から開始されるクラス。

    -> このサービスで使用したもの:

    トークンを正常に受け取りました。

  2. メイン アクティビティの LocalBroadcastListener を使用して、ステップ 1 で生成されたトークンを取得し、それを共有設定に保存します (メッセージ サーバーにも送信します)。

  3. 古いトークンが期限切れになった場合にトークンを取得するためにGCMTokenRefreshListenerService拡張するクラス。InstanceIDListenerService

    ->これで私はに電話をかけましGCMRegistrationIntentServiceonTokenRefresh()

今私の質問は次のとおりです。

  1. どの場合に GCMTokenRefreshListenerService が呼び出されますか?
  2. インスタンス ID とは何ですか? instanceID のライフサイクルとは何ですか?
  3. 以下を使用してターミナルからサービスを実行しました。

    毎回新しいトークンをくれました。この新しく生成されたトークンを共有設定に保存するにはどうすればよいですか?

  4. このサービスから新しいトークンを受け取ると、トークンが変更されているため通知が届きません。トークンを更新するには、アプリを開く必要があります。このトークンを更新するには?

  5. アプリを開いてトークンを取得するたびに GCM を呼び出す必要がありますか?