2012-09-12 2 views
3

Java를 사용하여 APNS 서버와 통신하는 것처럼 Enhanced Notification Format (Apple Push Notification Service로 보내기)의 Expiry 필드에있는 4 바이트가 의미하는 바를 명확히 알 수 있습니까? 예를 들어 Date 객체를 준비했다면 APNS로 보내는데 필요한 4 바이트로 어떻게 가져올 수 있습니까?(Java) Date 개체의 만료 필드를 Apple Push Notification Services로 보내려면 어떻게해야합니까?

답변

1

APNS 문서 상태 :

유효 -A 고정 UNIX 에포크 날짜는 통지가 더 이상 유효하지 않으며 폐기 할 때 가 식별 초 (UTC)로 표현. 만기 값은 네트워크 순서 (big endian) 여야합니다. 만료 값이 양수이면 APN은 적어도 알림을 전달하려고 시도합니다. 0보다 작은 값이나 0보다 작은 값을 지정하여 APN에 알림을 저장하지 않도록 요청할 수 있습니다.

:

당신이 날짜 개체가 귀하의 메시지가 만료해야하는 날짜/시간을 보관 유지합니다 (date를 호출 할 수 있습니다) 경우, 만료의 4 바이트가 APNS에 보낼 수는 expiry의 가치입니다

Calendar cal = Calendar.getInstance(); 
cal.setTime (date); 
int expiry = cal.getTimeInMillis()/1000L; 

또는 상대 만료 간격을 가질 수 있습니다. 예를 들어 APNS 서버로 전송 된 후 메시지가 2 시간 (7200 초) 만료되도록하려면 expiry의 값은

int expiry = (System.currentTimeMillis()/1000L) + 7200; 
이됩니다.
관련 문제