Open2

Firebase Cloud MessagingはToken指定してテスト送信するまではできたけど実際どういう運用になるの?

MEGUMUMEGUMU

Tokenの発行から管理に関して

Tokenの鮮度の担保?

トークンが新しいか古いかを判断するのは必ずしも簡単ではありません。すべてのケースをカバーするには、トークンが古くなっていると見なす場合のしきい値を採用する必要があります。私たちの推奨は2ヶ月です。 2か月より古いトークンは、非アクティブなデバイスである可能性があります。それ以外の場合、アクティブなデバイスはトークンを更新します。

FCMバックエンドからの無効なトークン応答を検出する

HTTP v1 APIの場合、これらのエラーメッセージは、送信リクエストが古いトークンまたは無効なトークンをターゲットにしていることを示している可能性があります。UNREGISTERED (HTTP 404)INVALID_ARGUMENT (HTTP 400)

ただし、完全に無効のトークンの判別ではなさそう。

定期的にタイムスタンプを見て更新する仕組みの前にアプリ起動時にTokenが一致しているか都度確認する仕組みではだめなのだろうか。

そもそもTokenが変わるのはいつ?

Androidの場合
こちらを参考に

・アプリが新しいデバイスで復元される場合
・ユーザーがアプリをアンインストール / 再インストールする場合
・ユーザーがアプリのデータを消去する場合

トークンの生成をモニタリングするで解説されているonNewTokenを使用すれば、新しいTokenが発行されるたびにユーザーと一緒に保存しておいたTokenと一致するか確認しておけば良さそう。

iOSの場合
同じそう。
https://firebase.google.com/docs/cloud-messaging/ios/client?hl=jp#monitor-token-refresh