0

私がFCMについて学んだのは、トークンが期限切れにならないことです。FCMが何度かトークンを変更するのはなぜですか?

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

私は、無効をユーザーがクリックすると/無効の通知を有効にするには、ユーザーにオプションを提供していると私は、サーバーにnullを送信し、ユーザーpush notifications

を有効にするには現在、いくつかの回がユーザーと同じトークンを送信しFirebaseInstanceId.getInstance().getToken()通知を再度有効にして、それが何度かFCM Tokenを変更します。

私の質問は以下のとおりです。 は、上記の4つの条件の何もtrueではない、それがランダムにそれを変更するなら、それはトークンを変更する可能性がある場合に

  1. は、なぜそれが、Tokenを変えません任意の時点で とサーバーが間違ったトークンに通知を送信しています。
  2. 私はそれはそれは同じ だことを知っていることで、I明確なデータ、およびアプリを開いて、それがトークン 登録にヒットし、時にはそれがデバイスのudid を保存する、または何メカニズムん同じトークンを取得する場合、ということに気づきましたデバイス。
+1

[この回答](https://stackoverflow.com/questions/41093189/firebase-fcm-registration-token)を参照してください。あなたと同じことを言っています。あなたの疑問を解決することを願って – AndiM

答えて

1

ご質問のため。

1)セキュリティの理由は、tokenの変更の背後にあります。あなたのアプリが静的なトークンを持っていて誰かがそれを持っていれば、コントロールを持つことができます。新しいトークンが生成されたら、それをサーバーのユーザーデータで更新する必要があります。だから間違ったトークンには送信しません。これは、ユーザーがしばらくの間オフラインになったときにのみ発生します。

2)FCMによって生成されるトークンは一意です。 FCMトークンは、のデバイスIDのアプリケーションIDを使用して生成されました。あなたが変更された場合、他のデバイスは同じトークンを取得しません。トークンを生成する完全なメカニズムは、同じセキュリティ目的のために公開することはできません。

+0

"*あなたのデバイスIDとアプリケーションIDを使用して生成されたFCMトークン" * - 私はこれも覚えていると思います。こんにちはBhuvanesh、あなたもあなたの参照を含めることができる、私はそれを追加することが素晴らしいと思う。 –

関連する問題