0

デバイスの再インストール/インストール時に Google が別のデバイス ID を送信するため、同じデバイスを指すデータベース テーブルに複数の異なるデバイス ID があります。どのデバイスが複数の通知を受け取るかが原因で、私と私のユーザーが非常に苦しんでいます。1 つのデバイスに 1 つの通知のみを送信するように Google に指示する方法はありますか? または、リクエストを送信する前にIDが新しいか古いかを確認する方法はありますか? この奇妙な問題を経験した人はいますか? ところで、私はバックエンドで PushSharp/ASP.NET を使用しています。

更新:現在、ネイティブ デバイス ID に依存しています。そのため、ネイティブ デバイス ID が同じであるデータベース テーブルから古い登録 ID を削除/置換します。

4

1 に答える 1

1

未登録のエラー コードが表示されたら、データベースからデバイス ID を削除する必要があると思います。

Unregistered Device
An existing registration ID may cease to be valid in a number of scenarios, including:
If the application manually unregisters by issuing a com.google.android.c2dm.intent.UNREGISTER intent.
If the application is automatically unregistered, which can happen (but is not guaranteed) if the user uninstalls the application.
If the registration ID expires. Google might decide to refresh registration IDs.
If the application is updated but the new version does not have a broadcast receiver configured to receive com.google.android.c2dm.intent.RECEIVE intents.
For all these cases, you should remove this registration ID from the 3rd-party server and stop using it to send messages. 
Happens when error code is NotRegistered.

メッセージをデバイスに送信するときは、エラー コードを処理することをお勧めします。

http://developer.android.com/google/gcm/gcm.html

サードパーティ サーバーの役割をお読みください。詳細が表示されます。

于 2013-04-18T05:58:45.830 に答える