5

Apple のドキュメントから、デバイスがオフラインの場合、APNS は最後の通知を保持し、デバイスがオンラインに戻ったときにデバイスに送信することを理解しています。その再送信を回避するメカニズムはありますか?

4

3 に答える 3

17

正解はYES

拡張バイナリ形式(メッセージ識別子と有効期限を含むもの)を使用して通知を送信する場合、有効期限パラメーターを使用して、通知が APN サーバーに保存されないようにすることができます。この方法では、APN サーバーが最初に通知を配信しようとしたときにデバイスがオンラインである場合にのみ、通知が配信されます。

有効期限

通知が有効ではなくなり、破棄できる時期を特定する、秒単位 (UTC) で表される固定の UNIX エポック日付。有効期限の値は、ネットワーク バイト オーダー (ビッグ エンディアン) を使用します。有効期限の値が正の場合、APNs は通知を少なくとも 1 回配信しようとします。ゼロ (またはゼロ未満の値) を指定して、APN が通知をまったく保存しないように要求します

于 2013-09-11T15:06:27.480 に答える
2

私はエランに同意します。

「APNSは最後の通知を保持し、デバイスがオンラインに戻ったときにデバイスに送信します」という質問のこの部分は、有効期限がゼロ以外の場合にのみ当てはまります。

電話がオンラインになったときにメッセージを配信したい場合、メッセージは破棄される前に「有効期限」まで待機します。

APNS ドキュメント:

有効期限 4 バイト 通知が有効ではなくなり、破棄できる時期を示す、秒 (UTC) で表される UNIX エポック日付。この値がゼロ以外の場合、APNs は通知を保存し、少なくとも 1 回は通知の配信を試みます。通知がすぐに期限切れになり、APN が通知をまったく保存しないことを示すには、0 を指定します

詳細については、https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/CommunicatingWIthAPS.htmlを参照してください。

于 2015-02-23T14:00:23.603 に答える