2

アーバンエアシップ(C2DM経由)を介してプッシュ通知を受信するAndroidアプリケーションの問題に気づきました。

アプリケーションは、最初にインストールされたときにアーバンエアシップに登録されます。ユーザーがアプリを起動すると、アプリが接続するシステムにユーザーIDとパスワードを提供するように求められます。認証が成功すると、このユーザーIDがこのインスタンスのUrbanAirshipエイリアスとして割り当てられます。

この問題は、ユーザーがアプリのアプリケーションデータをクリアしたときに発生します。次回アプリを起動すると、Urban Airshipに再登録されますが、別のAPIDを受け取ります。ユーザーがクレデンシャルを再度入力すると、同じデバイスを参照する同じエイリアスを持つ2つの異なるAPIDがあります。ブロードキャストメッセージまたはそのエイリアス宛てのメッセージを送信するたびに、アプリはメッセージを2回受信します。明らかに、私はこれが起こってほしくない。

同時に、ユーザーが2つの異なるデバイス(たとえば、電話とタブレット)にアプリをインストールする可能性は完全にあります。その場合、2つの異なるAPIDに同じエイリアスが割り当てられます。これで問題ありません。 。私の問題は、2つのAPIDが同じデバイスを参照している場合です。

私はこれを防ぐ方法を見つけようとしています。ユーザーがアプリケーションデータをクリアすることを選択したときに発生する何らかのインテントがあるのではないかと期待していましたが、そのようなインテントは存在しないようです。

他の誰かがこの問題に遭遇しましたか、そしてあなたはそれの解決策を思い付くことができましたか?

4

1 に答える 1

1

都市の空気が最後に問題を修正したようです。複数のデバイス ID が同じエイリアスで登録されている場合、最後に登録されたものにメッセージを送信するだけです。問題は修正されますが、新しい別の種類の問題が作成されます一部のユーザーは、いくつかのエイリアスで登録された2つのデバイスIDを持っており、最後の1つだけがプッシュ通知を受け取ります.しかし、複数の登録のために単一のデバイスで複数の通知を取得することは、より顕著で悪いユースケースです。したがって、彼らはこのトレードオフを考慮したに違いないと思います. .

于 2013-03-18T13:18:05.337 に答える