2009-09-30 7 views
1

APNS 알림을 보낼 때 클라이언트의 응용 프로그램이 페이로드의 데이터를 읽을 수 있는지 궁금합니다.클라이언트를 사용하여 APNS 페이로드 읽기

예를 들어 APNS 알림에 "Hello world!"라고 표시되고 사용자가 '보기'를 클릭하여 앱으로 이동하면 APNS 알림에 '안녕하세요!'라고 표시되는 앱이 표시되는 방법이 있습니까? ".

감사합니다.

답변

4

APNS 알림은 하나의 휴대 전화에서 특정 앱과 연결된 특정 토큰과 연결되어 있습니다. 알림이 도착하면 iPhone OS는 사용자에게 알림을 표시하고 소리가 들리면 (지정된 경우) 응용 프로그램 배지 (있는 경우)를 설정합니다.

앱이 실행 중이고 화면이 잠자기 모드가 아닌 경우 앱이 실행되고 페이로드 JSON 패킷이 전달됩니다. 앱이 실행 중이고 화면이 어두우면 사용자에게 화면 잠금을 해제하는 버튼 하나로 알림이 표시되고 앱에 페이로드가 전달됩니다. 앱이 실행 중이 아닌 경우 사용자에게보기/취소 옵션이 제공됩니다. 탭이 View를 탭하면 앱이 실행되고 페이로드 JSON이 전달됩니다.

이 모든 경우 알림 알림, 사운드, 배지 및 보낸 여분의 비트가 포함 된 JSON 패킷이 응용 프로그램에 전달됩니다. 문서에서는 JSON 패킷을 검색하는 방법을 보여줍니다. 그걸로 무엇을 해야할지는 당신에게 달려 있습니다.

다른 앱의 페이로드를보고있는 앱을 생각하고 있다면 대답은 '아니오'입니다. 알림은 특정 앱 서명에 연결됩니다.

+0

"앱이 실행 중이 아닌 경우 사용자에게보기/취소 옵션이 제공되며,보기를 누르면 앱이 실행되고 페이로드 JSON이 양도됩니다. 사용자가 취소하고 메일과 같은 서버의 마지막 배지 번호를 읽지 않은 상태로 보내고 싶습니다. – harshalb

+1

'취소'버튼을 누르면 앱에 알림이 표시되지 않고 전체 페이로드 (배지 번호 포함)가 삭제됩니다. 그것은 사용자의 통제하에 있습니다. iOS 4에서는 앱이 백그라운드에서 작동 할 수 있도록 설정하고 정기적으로 서버에 대해 읽지 않은 횟수로 핑 (ping)하도록 설정할 수 있습니다. 그러나 OS가 메모리를 필요로한다면, 사용자가 기대를 구축하지 않는 것이 가장 좋습니다. 내장 된 앱 (Mail과 같은)은 동일한 규칙으로 실행되지 않습니다. – Ramin