私が作業しているアプリケーションでは、Google Cloud Messaging を統合する必要があります。さまざまな例で少し遊んだ後、デバイスで通知を送受信することができました。
しかし、興味深い状況に遭遇しました。私が知っているように (間違っている場合は訂正してください)、registration_id はデバイスごとおよびアプリケーションごとに発行されます。
私が作業しているアプリケーションは、ログイン機能をサポートしています。アプリケーションがインストールされ、ユーザーが初めてログインするとき (「UserA」とします)、GCM に registration_id を要求し、それをサーバーに送信します。
ここで、UserA がログアウトし、自分のデバイスを UserB に渡してログインさせたとします。つまり、UserB は UserA のデバイスを使用してログインします。
問題は、その間に UserA が通知を受信すると、UserB がそれを傍受できることです。また、UserB が通知を受け取った場合、彼はそれを受け取ることができません。
registration_id はデバイスごとおよびアプリケーションごとであるため、これは正常に思えますが、私の場合は妥当ではないようです。
したがって、registration_id を (デバイスとアプリ以外の) ユーザー ID に依存させる方法があるかどうかを尋ねています。または、ログインしたユーザーが自分の通知のみを受け取るようにするにはどうすればよいですか?