1

新しい Google Cloud Messaging Framework を使用してアプリを開発しています。アプリを登録すると、登録 ID が取得されることがわかっています。しかし、ユーザーがデバイスから何度もアプリをアンインストールし、何度も再インストールするとどうなるでしょうか (今のところ新しい通知は送信されていません)。多くのインストールが完了すると、Google はいくつかの新しい登録 ID を返す可能性があり、すべての ID がアプリ データベースに保存されます。送信する通知がある場合は、以前に保存したすべての ID にも送信されます。今私の問題は、Googleが以前のすべてのIDに通知を送信していると思うことです(そのため、同じデバイスで複数の通知を受け取ります)。

質問が明確になったことを願っています。これに対する解決策はありますか。

4

2 に答える 2

0

正規 ID は問題を解決するために特別に設計されているため、公式ドキュメントの正規 IDのセクションを読むことをお勧めします。

古い登録 IDにメッセージを送信するたびに、メッセージの送信先デバイスの現在の正規 ID が何であるかが Google から通知されます。必ず ID をこの ID に置き換えてください。

また、公式デモのコードはこちらで確認してください。

于 2013-09-16T21:09:55.760 に答える
0

各デバイスのアプリに一意の識別子を割り当てることができます。その識別子をこのデバイスの外部ストレージに保存すると、アプリをアンインストールしても削除されません。その後、アプリが再度インストールされたときに、登録 ID とその保存された一意の識別子を送信できます。サーバーは識別子を使用して古い登録 ID を見つけ、新しい ID に置き換えます。

さらに、GCM から取得した応答で正規登録 ID を確認する必要があります。正規 ID を取得するたびに、DB にその ID があることを確認し、古い ID (応答で正規登録 ID を取得したメッセージの送信に使用した ID) を削除する必要があります。

于 2013-09-16T21:06:57.437 に答える