푸시 알림 기능 마이그레이션Push notifications function migration
이 항목에는 푸시 알림 메시지 기능 영역의 마이그레이션 지침이 포함되어 있습니다.
Important
현재 원시 푸시 알림과 앱 푸시 알림만 지원됩니다. 배지 푸시 알림 및 타일 푸시 알림은 지원되지 않습니다.
API 및/또는 기능 차이점 요약
푸시 알림은 이러한 4개의 개별 단계로 나눌 수 있습니다.
단계 | UWP | Windows 앱 SDK |
---|---|---|
ID | 파트너 센터(MSA) | Azure 앱 등록(AAD) |
채널 요청 | 비동기 | 비동기 Azure 앱 등록 ID 기본 제공 재시도 논리(최대 5회 재시도) |
활성화 | In-process, PushTrigger*, COM 활성화* | In-process, COM 활성화, ShellExecute |
푸시 알림 보내기 | login.live.com 엔드포인트를 사용하여 액세스 토큰 받기 | 토큰 요청에 https://login.microsoftonline.com/{tenantID}/oauth2/token 엔드포인트 사용 |
* Windows 10, 버전 2004(10.0, 빌드 19041) 이상에서 지원됩니다.
ID 설정
Windows 앱 SDK에서 푸시 알림 기능은 AAD(Azure 앱 등록)의 ID를 사용하므로 푸시 알림을 사용하기 위해 파트너 센터의 PFN(패키지 패밀리 이름)가 필요한 것은 아닙니다.
- UWP 앱의 경우 Windows Store 파트너 센터에 로그인하여 응용 프로그램을 등록합니다.
- Windows 앱 SDK 앱의 경우 Azure 계정을 만들고 AAD(Azure 앱 등록)를 만듭니다.
채널 요청
채널 요청은 비동기적으로 처리되며 Azure 앱ID GUID 및 Azure tenantID(AAD 앱 등록에서 Azure 앱ID 및 테넌트 ID 수신)가 필요합니다. UWP 앱에서 사용하는 PFN(패키지 패밀리 이름) 대신 ID에 Azure AppID를 사용합니다. 요청 시 다시 시도 가능한 오류가 발생할 경우 알림 플랫폼은 여러 번 재시도합니다.
Windows 앱 SDK 앱은 채널 요청의 상태를 확인할 수 있습니다.
활성화
푸시 알림을 받도록 앱 구성에서 Windows 앱 SDK 등록 및 활성화 단계를 참조하세요.
푸시 알림 보내기
Windows 앱 SDK 앱은 MSA 엔드포인트가 아닌 AAD 엔드포인트에서 액세스 토큰을 요청해야 합니다.
액세스 토큰 요청
UWP 앱의 경우:
POST /accesstoken.srf HTTP/1.1
Host: login.live.com
Content-Type: application/x-www-form-urlencoded
Cookie: MSCC=73.140.231.96-US
Content-Length: 112
grant_type=client_credentials&client_id=<AppID_Here>&client_secret=<Client_Secret_Here>&scope=notify.windows.com
Windows 앱 SDK 앱(AAD 액세스 토큰 요청)의 경우:
POST /{tenantID}/oauth2/v2.0/token Http/1.1
Host: login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 160
grant_type=client_credentials&client_id=<Azure_App_Registration_AppId_Here>&client_secret=<Azure_App_Registration_Secret_Here>&resource=https://wns.windows.com/
WNS에 HTTP 게시
WNS에 HTTP POST 요청을 보내는 경우 UWP에서 변경된 내용이 없습니다. 액세스 토큰은 여전히 인증 헤더에 전달됩니다.
POST /?token=[ChannelURI] HTTP/1.1
Host: dm3p.notify.windows.com
Content-Type: application/octet-stream
X-WNS-Type: wns/raw
Authorization: Bearer [your access token]
Content-Length: 46
{ Sync: "Hello from the Contoso App Service" }
참고 항목
Windows developer