Life is Really Short, Have Your Life!!

ござ先輩の主に技術的なメモ

FlutterのFirebase MessaingにおけるonTokenRefreshがよくわからない

このAPIすげー微妙な気がする。使い所がわからない。毎回 getToken でデバイストークンをぶん投げてええんちゃうって思う。

端末が変わる、アプリの再インストールでは自動的に新しいデバイストークンが採択されるから、onTokenRefreshが呼び出されることがない。このメソッド Stream を購読するものだから、Firebase側からのPUSHがないと動かない。

考えられるユースケースは、デバイストークンをアプリの操作で削除した場合。deleteToken したら Stream で新しいトークンが渡されて、それをサービスに投げるまでがワンセットみたいな仕様以外に、使い所が全然ないと思う。

起動時にgetTokenした値をバックエンドにぶん投げて、ユーザーと紐づけているトークンリストに該当していないならappendするべき。で、デバイストークンでPUSH通知を送ると失敗したトークンのリストがもらえるのでDELETEして、生きてるトークンだけ保持すれば良い。

これでいいのだ。