0

開発中のアプリに Uniqush を使用して GCM メッセージを送信していますが、これまでのところうまく機能しています。ただし、明らかな理由により、開発中にアプリをアンインストールして再インストールし、新しいインストールごとに GCM に再登録しています。

GCMがこれを自動的に処理することになっていることを理解しています:

http://developer.android.com/guide/google/gcm/adv.html#unreg

メッセージをデバイスに配信できない場合、メッセージを処理するサーバーにエラーが送信されます。残念ながら (アプリがインストールされていない状態でテスト プッシュ メッセージを送信した後でも)、デバイスに重複したメッセージが届きます。

これは、Uniqush、私のプログラム、GCM、または 3 つの組み合わせの失敗ですか?

4

2 に答える 2

0

あなたの説明では、あなたの状況を再現することができません。再現を試みる手順は次のとおりです。

  • テスト アプリを携帯電話にインストールし、uniqush を使用してプッシュ通知を送信します。正しい。Uniqush のログは正常に配信されたことを示しており、私の電話は正しい結果を示しています。
  • テスト アプリをアンインストールします。
  • uniqush を使用して別の通知を再度プッシュします。Uniqush のログには、ユーザーがサービスの登録を解除したことを示すメッセージが表示されます。[Unsubscribe][Info] 2012/12/21 19:18:08 [UnsubscribeRequest] RequestId=3992a14e4987e94e3ce16bb7394ee06d2d9e7231 Success DeliveryPoint=gcm:47e6551857be173b1418e56b63dbdb8cd58c94a2
  • 次に、もう 1 つの通知をデバイスにプッシュします。uniqush は、デバイスが見つからないことを示します (既に削除されているため)。
  • を使用してデータベースを確認してくださいredis-cli。デバイスの情報は保存されていません。無事に退会されました。

ただし、いくつかの問題が見つかりました。HTTP の uniqush から返されたエラー メッセージを確認するとSuccess、2 番目の通知に表示されます。このバグは次のリリースで修正済みです。まもなくオンラインになります。(興味がある場合は、.deb パッケージを確認してください)

実際、uniqush はそのような状況を処理できるように設計されているため、ユーザーはサブスクリプションの解除、デバイス トークン/登録 ID の更新などを気にする必要はありません。

今後もご不明な点がございましたら、お気軽にコメントまたはご連絡ください。

于 2012-12-22T00:33:55.470 に答える