2017-02-27 5 views
0

クライアントアプリケーションがgcm自体に再登録されているが、サーバーがこれを認識していない場合、サーバーがその特定のクライアントに通知を送信していると仮定します。古い登録IDで通知を送信すべきではありません。これはどうすればできますか?古い登録IDの通知を送信するためにgcmを停止する

答えて

0

サーバーが無効な登録トークンにメッセージを送信すると、おそらくNotRegisteredというエラー応答が返されます。それに応じて、対応するトークンを削除してこのエラーを処理する必要があります。上にリンクされたドキュメントに従って:

このような場合は、この登録トークンをアプリケーションサーバーから削除し、メッセージの送信を停止します。

+0

私のサーバが古い登録トークンでメッセージを送信していても、gcmサーバが新しいものを持っていても、gcmサーバは古いトークンを新しいものに置き換えるメッセージを送信します(必ずしも古いものではなく、 )しかし、gcmサーバが登録IDが古いと判断した場合、gcmサーバはメッセージを送信せず、それを示す応答を返します。 – nurulnabi

+0

あなたが私の問題をよりよく理解できるかもしれないことを説明させてください。 user1は現在ログインしています。そしてuser2が来て、アプリケーションを再インストールしてログインします。このシナリオでは、サーバーが古いトークンでuser1にメッセージを送信すると、user1とserverのどちらも、この時点でuser1の登録トークンが変更されたことはわかりませんuser1はuser2に配信されます。 – nurulnabi

+0

私はあなたがこれまで説明しようとしているものをちょっと得る。アプリがアンインストールされると、登録トークンが*更新されます*。これにより、Appサーバーに通知され、対応する登録トークンが削除されることを確認するのは開発者の責任です。特定のユーザーにプッシュを送信するときは、メッセージが指定されたユーザーにのみ表示されるように、クライアント側の確認を行うことをお勧めします。 –

関連する問題