2017-01-13 4 views
1

私はGSM PUSHパネルを持っています。ユーザーがアプリをインストールすると、彼のIDが記録され、今後の通知が送信されます。アプリを持っていないユーザーにプッシュを送信しないでください。

しかし、アンインストールした後、データベースに保存されているIDを引き続き実行し、ルーチンを実行するたびに、アプリをインストールしなくてもそれらのユーザーにプッシュを送信します。

私はすでに何千ものIDを持っていますが、今は送信することがますます増えています。

誰にもアプリケーションがインストールされていないことを知り、データベースにフラグを設定して送信されなくなる可能性はありますか? JSONリターンの

例:

{"multicast_id":5157270514039936452,"success":2,"failure":1,"canonical_ids":0,"results":[{"message_id":"0:1474029083357948%0e3f0485f9fd7acv"},{"error":"MismatchSenderId"},{"message_id":"0:1474029083356778%f17b55e1f9fd7erf"}]} 
+0

これは便利かもしれません:http://stackoverflow.com/a/18816716/4350275 –

答えて

0

あなたはそれを実装するために:(https://developers.google.com/cloud-messaging/registrationを持っている)

  1. エンドユーザは、クライアントアプリをアンインストールします。

  2. アプリケーションサーバーからGCM接続サーバーにメッセージが送信されます。

  3. GCM接続サーバーは、メッセージをデバイスのGCMクライアントに送信します。
  4. デバイスのGCMクライアントがメッセージを受信し、クライアントアプリケーションがアンインストールされたことを検出しました。検出の詳細は、クライアントアプリケーションが実行されているプラ​​ットフォームによって異なります。
  5. 端末のGCMクライアントは、GCM接続サーバーにクライアントアプリがアンインストールされたことを通知します。
  6. GCM接続サーバーは登録トークンに削除をマークします。

7.アプリケーションサーバーからGCMにメッセージが送信されます。

8. GCMは、NotRegisteredエラーメッセージをアプリケーションサーバーに返します。

9.アプリケーションサーバーは登録トークンを削除する必要があります。

関連する問題