2011-12-22 8 views
18

クライアントのAppleのプッシュ通知のデータと、回答が見つからないデータの一部を公開しようとしています。プッシュ通知がオフラインデバイスのキューに入れられてから削除されるまでの時間です。プッシュ通知は削除されるまでキューに入れられます。

たとえば、デバイスが非アクティブで電源が切れている可能性がある、たとえば2〜3ヶ月という長い時間があります。私は単に通知がどれくらい待っているのか、それが自動的に削除される前にオフラインデバイスに配信されるのを待っていることを知ることに興味を持っています。

+1

サーバはAPIエンドポイントをアプリに公開することができるため、特定の日付以降にアプリが起動時にサーバーを直接ポーリングすることができます。 –

+1

メッセージを長時間保管しているAPNSサーバーが問題になる場合は、メッセージを手動で期限切れにするために「空の」プッシュ通知を送信しないでください。 APNS上のQoSは、1つのメッセージをキューに入れるだけです。 –

答えて

17

これについての公式の開発者向けドキュメントは不明です。 developer.apple.comから:

Apple Push Notificationサービスは、ストア・アンド・フォワード機能を実行サービス (QoS)のコンポーネントのデフォルトの品質を含んでいます。 APNの が通知を配信しようとしたがデバイスがオフラインの場合、QoS は通知を保存します。デバイス上の アプリケーションごとに1つの通知(そのアプリケーションの プロバイダーから最後に受信した通知)を保持します。後でオフラインデバイス が再接続すると、QoSは格納された通知をデバイスに転送します。 QoSは、 を削除する前に、一定期間通知を保持します。

しかしPCWorldによれば、28日です:

アプリが実行されている場合、それはすぐに通知を取得します。 アプリが実行されていない場合、通知はアプリの次回起動時に使用される になるように電話機で保持されます。 送信者が配信を試みるときにiPhoneがオフラインになっている場合、APNSは の通知を28日間送信しようとします。

2009年に28日が本当だったかもしれないが、今日は違うかもしれないが、私は驚かないだろう。ドキュメンテーションのあいまいさは、Appleがこのタイムアウト期間を無駄に変更する大きな理由です。

+0

ありがとうございます。私は28-30日からどこでも読んでいました。そして、はい、基本的に「最終的に」と言った公式の曖昧な文書を見ました。確認していただいてありがとうございます! – NicholasTGD

+2

これを確認するには、28〜30のオフになったiPhoneの通知がそれぞれキューに登録されている必要があります。メッセージが表示されなくなるまで、毎日1つずつオンにします。彼らは実際に私たちにとってこれを簡単にしてくれませんでした。 – paislee

+1

すでに1つ並べられているデバイスに新しい通知を送信した場合、新しい通知がキューに入れられ、キュー内の通知が削除されますか?正しい? – Jeremy

2

私は、APNS通知のキューイングを制御するために「有効期限」パラメータを使用できることを発見しました。

Hereは、有効期限

apns-expiration

A秒(UTC)で表さUNIXエポック日付の使用に関する詳細な説明です。このヘッダーは、通知がもはや有効でなくなり破棄できる日付を示します。

この値がゼロ以外の場合、APNは通知を保存し、通知を少なくとも1回は送信し、初めて通知を送信できない場合は必要に応じて試行を繰り返します。値が0の場合、APNは通知をすぐに期限切れにして通知し、通知を保管したり再配信を試みたりしません。

+2

どこですか?あなたのURLが有効でないか無効です – Shamsiddin

+0

リンクを修正しました。 – Zano

+0

残念ながら、このドキュメントは保持について何ら保証しません。私が将来10年間の有効期限を指定した場合、そのサービスはそれを長く保持することは間違いありません。また、文書では、有効期限が指定されていない場合に何が起こるかを無視しています。 – augurar

関連する問題