アプリケーションをGCMと統合しました。デバイスに更新が必要かどうかを確認するサードパーティサーバーをセットアップします。必要な場合は、GCMをくすぐりとして送信し、モバイルアプリケーションにサーバーに接続して新しいデータを取得するように指示します。
私のAndroidアプリケーションには、ログオン/ログオフアクションを備えた認証モジュールがあります。そして、ユーザーの現在のセッションがアクティブである限り、サーバーデータの同期(およびGCMメッセージ)のみを意図しています。
ただし、チュートリアルで示されているように、メッセージを受信するためにデバイス上のAndroidアプリケーションを実行する必要はありません。メッセージが到着すると、システムはインテントブロードキャストを介してAndroidアプリケーションをウェイクアップします。
私の質問は、ユーザーがログオフしたとき、またはアプリケーションがシャットダウンしたときにGCMメッセージを防ぐにはどうすればよいですか?
次のうちどれが良いと思いますか?他のアプローチを提案できますか?
オプションA:
ユーザーが正常にログオンしたらGCMに登録し、ユーザーがログオフしたらGCMから登録解除する私のAndroidアプリケーション。これにより、サードパーティのサーバーは、登録IDが使用可能な場合にのみGCMメッセージを送信するようになります。しかし、登録/登録解除はそれほど頻繁に推奨される方法ですか?
オプションB:
ログオフ状態またはシャットダウン状態でもAndroidアプリケーションがメッセージを受信できるようにしますが、アプリケーションはメッセージに反応しません(つまり、単に無視します)。これは推奨される方法ですか?パフォーマンスの面でペナルティがかかりますか?ユーザーは、Androidアプリケーションの不要な(迷惑な)ウェイクアップに気付くでしょうか?
どんな助けでもいただければ幸いです。