基本的に、私は、ユーザーが、ログインするたびことにしたい:Firebaseクラウドメッセージングログイン管理
- 要求firebaseトークン。
- 私のウェブサーバーにトークンを登録してください。
- MessagingServiceを実行します。
ユーザーがログアウト:
- メッセージサービスを停止する必要があります。
- トークンは私のWebサーバから登録解除されています。
私が直面しています主な問題は、次のとおりです。
- Firebaseは、トークンが存在しないことを検出し、それはユーザーがログインしていない場合でも、新しいトークンを要求します。
- メッセージを受信する責任を持つFirebaseMessageServiceは、トークンが受信されると自動的に実行を開始します。
このように、メッセージを聞いているサービスは引き続き実行されますが、これはこの質問のポイントの1つです。設定画面のユーザーがプッシュ通知を無効にすることを選択した場合や、ユーザーがログに記録されていないアプリを巡回する場合など、一部の場合は停止する必要があります。 –
オプトインのトピックはどうですか?基本的にチェックボックスを結んで、トピックの購読/購読解除を行います。 –
注:トークンは自動生成されますが、ユーザがログインするまで使用する必要はありません。また、トークンが生成されるとFirebaseMessagingServiceは起動しません。メッセージが届いたときなど、必要に応じてGoogle Playサービスから開始されます。 –