24

アプリを削除してから再インストールしても、ユーザーが通知を受け取り続けるという異常なシナリオに遭遇しました。シナリオは次のとおりです。

  • ユーザーはアプリストアからアプリをインストールします
  • ユーザーがアプリにログオンし、通知用に登録します
  • ユーザーが自分のデバイスからアプリを削除します
  • ユーザーはアプリストアからアプリを再インストールします
  • ユーザーは、アプリをまだ起動していない、ログインしていないなどの場合でも、通知を受け取ります。

APNs アーキテクチャに関する私の理解では、アプリがデバイスから削除されると、OS 自体によって APNs から登録解除されます。アプリを再インストールしても、「registerForRemoteNotificationTypes」を呼び出すまで通知が再度有効になりません。そのため、古いトークンを使用してメモがデバイスに送信された場合、上記のメソッドが呼び出されていないため、APN はそれを配信しません。

それは正確ではありませんか?

4

2 に答える 2

23

トークンはそのままです。デバイス上のすべてのアプリケーションでも同じです。OS のバージョンを変更した場合にのみ変更されます。しかし、それでもあなたが遭遇した奇妙な振る舞いを説明することはできません.

私は、アプリケーションがデバイスからアンインストールされたことを Apple が特定した後にのみ (デバイスがアンインストールした後に、特定のデバイス上のアプリに通知を送信したときに通常発生します)、アプリの登録を解除すると考えています。アンインストール時と新規インストール時の間にアプリをアンインストールしたデバイス上のアプリに通知が送信されなかった場合、Apple はデバイスがアプリをアンインストールしたことを認識しないため、APNS に登録されたままになります。

フィードバック サービスの動作は私の理論をサポートしています。アプリをアンインストールしてフィードバック サービスを呼び出すと、アプリをアンインストールしたデバイスのデバイス トークンは取得されません。そのデバイスに通知を送信しようとした後でのみ、Apple はアンインストールを検出し、フィードバック サービスでそのデバイス トークンを返します。

最後に追加する必要があるのは、アンインストールされたアプリがプッシュ通知用に登録されたデバイス上の最後のアプリである場合、APN サービスはアプリがアンインストールされたことを決して認識しないため、再インストール後も引き続き APN に登録されます。インストールされています。

于 2013-02-13T16:48:18.660 に答える
11

アプリを削除しても、OS はアプリを APNS から「登録解除」しません。アプリを「登録解除」するには、アプリを削除したデバイスに通知を送信する必要があります。アプリが削除されたことを確認するまで、APNS から数回の試行が必要になる場合があります。

于 2013-02-13T16:50:56.177 に答える