Javaを使用してAPNSサーバーと通信する場合のように、Enhanced Notification Format(Apple Push Notification Serviceに送信するため)のExpiryフィールドの4バイトが何を意味するのかを誰かが明確にできますか?たとえば、Dateオブジェクトを準備する場合、APNSに送信するために必要な4バイトにするにはどうすればよいですか?
1 に答える
1
APNSドキュメントには次のように記載されています。
Expiry:通知が無効になり、破棄できる時期を識別する、秒単位で表される固定UNIXエポック日付(UTC)。有効期限の値はネットワーク順(ビッグエンディアン)である必要があります。有効期限の値が正の場合、APNは少なくとも1回は通知の配信を試みます。ゼロまたはゼロ未満の値を指定して、APNに通知をまったく保存しないように要求できます。
date
メッセージの有効期限が切れる日時を保持するDateオブジェクト(これを呼び出す)がある場合、APNSに送信する有効期限の4バイトは次の値になりexpiry
ます。
Calendar cal = Calendar.getInstance ();
cal.setTime (date);
int expiry = cal.getTimeInMillis () / 1000L;
または、相対的な有効期限間隔を設定することもできます。たとえば、メッセージがAPNSサーバーに送信されてから2時間(7200秒)後に期限切れになるようにする場合、の値は次のexpiry
ようになります。
int expiry = (System.currentTimeMillis () / 1000L) + 7200;
于 2012-12-07T20:30:57.983 に答える