정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

Windows Phone 8의 푸시 알림 서비스 응답 코드

2014-06-18

적용 대상: Windows Phone 8 및 Windows Phone Silverlight 8.1 | Windows Phone OS 7.1

 

클라우드 서비스가 Microsoft 푸시 알림 서비스에 푸시 알림을 보내고 나면 클라우드 서비스는 가능한 사용자 지정 헤더가 있는 여러 응답 코드 중 하나를 받습니다.

중요중요:

Windows Phone 의 Microsoft 푸시 알림 서비스는 전력 효율적인 방식으로 클라우드 서비스에서 Windows Phone 앱에 데이터를 보낼 수 있는 채널을 타사 개발자에게 제공하는 비동기적인 최선의 서비스입니다.

이 항목에는 다음 단원이 포함되어 있습니다.

 

Microsoft 푸시 알림 서비스로부터의 응답은 다음 형식이 됩니다.

HTTP/1.1 [error code] [error text] 
Date: [HTTP-date]
[Custom HTTP Headers]

[error code]

3자리 오류 코드입니다. 아래 오류 코드 목록을 참조하세요.

[error text]

오류에 대한 설명입니다.

[Custom HTTP Headers]

사용자 지정 HTTP 헤더는 아래에서 정의합니다.

다음 표에서는 클라우드 서비스에서 반환될 수 있는 오류 응답과 오류가 아닌 응답에 대해 설명합니다. 응답 코드는 단말기가 메시지를 수신했음을 나타내는 것이 아닙니다. 단지 서버가 알림을 수신했고 다음에 단말기에 연결할 수 있을 때 전송하기 위해 대기 중이라는 것을 나타냅니다.

응답 코드

알림 상태

장치 연결 상태

구독 상태

설명

200 OK

수신

연결

사용

알림 요청이 수락되고 전송 대기되었습니다. 서버는 단말기가 현재 일시적 연결 중단 상태로 전환되는 중이더라도 이 상태로 응답할 수 있습니다. 이는 단말기가 일시적 연결 중단 상태에서 복구될 때까지 알림이 전달되지 않는다는 것을 의미합니다.

200 OK

수신

일시적 연결 중단

사용

알림 요청이 수락되고 전송 대기되었습니다. 그러나 단말기의 연결이 일시적으로 끊어졌습니다. 자세한 내용은 일시적 연결 중단 상태 이해를 참조하세요.

200 OK

큐 사용됨

연결

사용

서버에서는 각 URI에 대해 유형에 관계없이 최대 30개의 알림을 유지합니다. 30개 제한에 도달하면 단말기가 다시 연결되고 큐가 플러시될 때까지 서버에 전송된 새로운 메시지가 모두 무시됩니다.

200 OK

큐 사용됨

일시적 연결 중단

사용

서버에서는 각 URI에 대해 유형에 관계없이 최대 30개의 알림을 유지합니다. 30개 제한에 도달하면 단말기가 다시 연결되고 큐가 플러시될 때까지 서버에 전송된 새로운 메시지가 모두 무시됩니다.

200 OK

차단

연결

사용

푸시 알림이 수신되어 푸시 알림 서비스에 의해 삭제되었습니다. 클라이언트 응용프로그램에서 BindToShellTile 또는 BindToShellToast를 호출해도 알림 유형이 사용하도록 설정되지 않을 경우, 응용프로그램이 포그라운드에 없을 때 원시 알림이 전송되는 경우 또는 시작 화면에 고정된 응용프로그램의 타일이 없는데 타일 알림이 전송되는 경우 차단 상태가 발생할 수 있습니다.

200 OK

차단

일시적 연결 중단

사용

푸시 알림이 수신되어 푸시 알림 서비스에 의해 삭제되었습니다. 클라이언트 응용프로그램에서 BindToShellTile 또는 BindToShellToast를 호출해도 알림 유형이 사용하도록 설정되지 않을 경우, 응용프로그램이 포그라운드에 없을 때 원시 알림이 전송되는 경우 또는 시작 화면에 고정된 응용프로그램의 타일이 없는데 타일 알림이 전송되는 경우 차단 상태가 발생할 수 있습니다.

400 불량 요청

N/A

N/A

N/A

이 오류는 클라우드 서비스가 유효하지 않은 XML 문서나 형식이 잘못된 URI가 있는 알림 요청을 보낼 때 발생합니다.

401 권한 없음

N/A

N/A

N/A

이 알림을 보낼 권한이 없습니다. 이 오류는 다음 이유 중 하나로 인해 발생할 수 있습니다.

  • 클라우드 서비스의 인증서 제목과 푸시 알림 서비스의 인증서 제목이 일치하지 않는 경우

  • 토큰이 수정된 경우

  • 토큰이 해당 구독에 대해 유효하지 않은 경우

404 찾을 수 없음

삭제됨

연결

만료됨

구독이 유효하지 않고 푸시 알림 서비스에 표시되지 않습니다. 클라우드 서비스는 이 구독에 대한 새 알림 보내기를 중지하고 해당 응용프로그램 세션의 구독 상태를 삭제해야 합니다.

404 찾을 수 없음

삭제됨

일시적 연결 중단

만료됨

구독이 유효하지 않고 푸시 알림 서비스에 표시되지 않습니다. 클라우드 서비스는 이 구독에 대한 새 알림 보내기를 중지하고 클라이언트의 구독 상태를 삭제해야 합니다.

404 찾을 수 없음

삭제됨

연결 끊김

만료됨

구독이 유효하지 않고 푸시 알림 서비스에 표시되지 않습니다. 클라우드 서비스는 이 구독에 대한 새 알림 보내기를 중지하고 클라이언트의 구독 상태를 삭제해야 합니다.

405 방식 허용 안 함

N/A

N/A

N/A

유효하지 않은 (PUT, DELETE, CREATE)입니다. 알림 요청을 보낼 때는 POST만 사용할 수 있습니다.

406 허용할 수 없음

삭제됨

연결

사용

이 오류는 인증되지 않은 클라우드 서비스가 구독에 대한 하루 스로틀 제한에 도달하거나, 인증되거나 인증되지 않은 클라우드 서비스에서 초당 지나치게 많은 알림을 보낸 경우에 발생합니다. 클라우드 서비스는 이 오류를 수신한 후 1시간 간격으로 푸시 알림 재전송을 시도할 수 있습니다. 클라우드 서비스는 정상적인 알림 흐름이 다시 시작될 때까지 최대 24시간을 대기해야 할 수 있습니다.

406 허용할 수 없음

삭제됨

일시적 연결 중단

사용

이 오류는 인증되지 않은 클라우드 서비스가 구독에 대한 하루 스로틀 제한에 도달하거나, 인증되거나 인증되지 않은 클라우드 서비스에서 초당 지나치게 많은 알림을 보낸 경우에 발생합니다. 클라우드 서비스는 이 오류를 수신한 후 1시간 간격으로 푸시 알림 재전송을 시도할 수 있습니다. 클라우드 서비스는 정상적인 알림 흐름이 다시 시작될 때까지 최대 24시간을 대기해야 할 수 있습니다.

412 전제 조건 실패

삭제됨

연결 끊김

N/A

단말기가 연결 중단 상태입니다. 단말기가 연결 상태로 돌아갈 때 알림 흐름이 단말기로 계속 이어져야 하므로 해당 알림이 삭제되더라도 클라우드 서비스에서는 평소와 같이 계속해서 알림을 보내야 합니다.

503 서비스를 사용할 수 없음

N/A

N/A

N/A

푸시 알림 서비스가 요청을 처리할 수 없습니다. 클라우드 서비스에서 나중에 알림을 다시 보내야 합니다.

푸시 알림 서비스에서 전송된 각 응답에는 다음 사용자 지정 헤더가 하나 이상 포함될 수 있습니다.

헤더

설명/사양

MessageID

응답과 연관된 알림 메시지 ID입니다. 푸시 알림 서비스로 전달된 POST가 MessageID 사용자 지정 헤더를 포함하고 있지 않았으면 MessageID가 응답으로 반환되지 않습니다. 자세한 내용은 Windows Phone 8의 푸시 알림 보내기를 참조하세요.

"X-MessageID"":"1*MessageIDValue
MessageIDValue = STRING (uuid)
//For example:
X-MessageID:<UUID>

NotificationStatus

Microsoft 푸시 알림 서비스에서 수신된 알림 상태입니다.

"X-NotificationStatus"":"1*NotificationStatusValue
NotificationStatusValue = STRING (Received|Dropped|QueueFull|)
//For example:
X-NotificationStatus:Received

DeviceConnectionStatus

단말기의 연결 상태입니다.

"X-DeviceConnectionStatus"":"1*DeviceConnectionStatusValue
DeviceConnectionStatusValue = STRING
(Connected|InActive|Disconnected|TempDisconnected)
//For example:
X-DeviceConnectionStatus:Connected

SubscriptionStatus

구독 상태입니다.

"X-SubscriptionStatus"":"1*SubscriptionStatusValue
SubscriptionStatusValue = STRING
(Active|Expired)
//For example:
X-SubscriptionStatus:Active

다음 흐름은 단말기가 연결, 일시적 연결 중단 및 연결 중단 상태 사이에서 전환되는 주기를 나타냅니다.

  • 연결 상태에서 단말기는 푸시 알림 서버에 연결되어 있으므로 알림을 실시간으로 받을 수 있습니다.

    • 이 상태는 단말기의 70-80%에 대한 예상 상태입니다.

  • 일시적 연결 중단 상태에서 단말기는 푸시 알림 서버와의 연결이 끊긴 임시 상태로 전환되었고 단말기에서 유효한 인터넷 연결을 사용할 수 있으면 바로 자동으로 다시 연결을 시도합니다.

    • 단말기는 최대 24시간 동안 이 상태를 유지할 수 있습니다.

    • 이 기간 동안 단말기에 전송된 모든 알림은 나중에 전송할 수 있도록 30개 큐 사용 제한 내에서 서버에 저장됩니다.

    • 단말기가 이 상태로 전환되는 일반적인 이유는 아래 일시적 연결 중단에 대한 지침에 나와 있습니다.

    • 평균적으로 최대 30%의 단말기가 이 상태를 반환할 수 있습니다.

  • 연결 중단 상태에서 단말기는 24시간 넘게 푸시 알림 서버에서 연결이 끊어졌지만 단말기에서 유효한 인터넷 연결을 사용할 수 있을 때 자동으로 푸시 알림 서버에 다시 연결을 시도합니다.

    • 단말기가 연결 중단 상태로 전환된 후에는 해당 단말기의 모든 대기 메시지와 해당 단말기로 전송된 새 메시지가 무시되며 단말기가 푸시 알림 서버에 다시 연결될 때 전달되지 않습니다.

    • 연결이 끊어진 단말기가 이 상태로 전환되는 이유는 일반적으로 소유자의 의도 때문입니다. 이는 사용자가 의도적으로 데이터 연결을 사용하지 않도록 설정하거나 물리적으로 단말기의 전원을 껐음을 의미합니다.

    • 평균적으로 10-15%의 단말기가 이 상태를 반환할 수 있습니다.

Transition flow for device connection status

이 응답 코드는 다음을 비롯한 여러 가지 이유로 발생할 수 있습니다.

  • 네트워크 부하 및 지연을 줄이기 위해, 지속되는 데이터 연결이 살아 있도록 허용하는 시간에 대한 통신사 네트워크 구성은 아주 다양할 수 있습니다. 푸시 알림 클라이언트는 이러한 지속되는 데이터 연결 시간 제한을 완화하려고 시도하지만, 하한이 정해져 있어 이 한도를 넘어가면 시간 제한 완화 시도로 인해 전력 효율이 떨어집니다. 따라서 데이터 연결이 방해를 받고, 결과적으로 단말기 상태가 OK/수신/일시적 연결 중단/사용으로 바뀌게 됩니다.

  • 단말기가 이동 통신 사업자의 서비스 제공 지역을 벗어났으며 사용자가 로밍 시 데이터 연결을 사용하지 않도록 선택했습니다.

  • 단말기가 선불 요금제에 가입되어 있고 일시적으로 데이터 연결을 사용할 수 없거나, 제한적인 데이터 요금제 옵션에 가입되어 있습니다.

  • 단말기가 서비스 제공 지역의 경계에 있어 데이터 연결이 불안정합니다.

  • Wi-Fi를 사용 중이고 셀룰러 데이터는 사용할 수 없는 경우 푸시 알림을 받기 위해서는 단말기에 명확한 인터넷 접속 경로가 있어야 합니다. 일부 회사 네트워크에서는 문제가 될 수 있습니다.

  • 사용자가 Data Sense를 사용하도록 설정하고 데이터 요금제 제한을 초과했으므로 푸시 알림은 데이터 요금제가 정상으로 돌아올 때까지 사용되지 않습니다. 이 경우 일시적 연결 중단 상태가 이 사용자에 대해 연결 중단 상태로 전환되고 정상으로 돌아올 때까지 복구되지 않을 수 있습니다.

  • 사용자가 배터리 절약 모드를 사용하도록 설정했고 배터리 절약 모드 표시기(시스템 트레이에 있는 배터리 아이콘의 하트 모양)가 표시되어 있습니다. 이 상태에서는 배터리를 절약하기 위해 푸시 연결이 꺼집니다. 배터리 절약 모드 활성화 기간이 길어지면 단말기가 결국 연결 중단 상태로 전환될 수 있습니다.

  • 단말기가 셀룰러 연결과 Wi-Fi 연결을 번갈아 사용하는 중이어서 연결이 안정적인 상태가 아닙니다.

표시: