5

내 앱이 비활성 상태 (예 : 중지됨, 삭제 표시 또는 휴면 중) 일 때 저장된 알림 채널 URI가 유효하지 않을 수 있습니다. 일정 기간 동안 사용하지 않으면 웹 서비스로 채널 URI를 업데이트하는 가장 좋은 방법은 무엇입니까?앱 비활성 후 MPNS 채널 URI를 업데이트하는 방법

웹의 다양한 기사에는 URI를 "검색하여"웹 서비스에 보내야합니다. 그러나 내가 알 수있는 한, 내 앱이 채널 URI를 알 수있는 유일한 방법은 HttpNotificationChannel에있는 ChannelUriUpdated 이벤트를 통해 이루어지며 그 이벤트를 발생시키는 것은 내 통제하에 있지 않습니다. 내 앱이 비활성 상태 인 동안 MPNS가 URI를 변경했을 수 있습니다. 앱이 ChannelUriUpdated에 응답하지 않으면 URI가 내 앱과 웹 서비스에서 오래되지 않습니다.

아마도 HttpNotificationChannel.Find에 의해 반환 된 채널은 항상 최신 채널 URI를 갖게됩니다.

+0

명확히하기 위해 일반적으로 채널 URI를 추적하는 방법을 묻지 않습니다. 채널 URI가 비활성 상태 (예 : 삭제 표시)에서 깨어나 자마자 즉시 최신 상태 인 것을 _ _ 보증하는 방법을 묻습니다. – lencharest

+0

툼 스톤 처리에서 앱이 깨어나면 현재 채널이 유효하지 않은 경우 null NotificationChannel.ChannelUri가 표시됩니다. 이 경우, 귀하의 웹 서비스에 통지하고 ChannelUriUpdated에서 새로운 링크를 기다리십시오. MPNS에서 새로운 채널 URI를 가져올 방법이 없습니다. –

답변

0

일반적인 모범 사례는 앱이 시작될 때마다 현재 채널 Uri를 요청하는 것입니다. 응용 프로그램 내에서 반환 된 마지막 값 (응용 프로그램 호출 전반)과 웹 서비스에 업로드하도록 변경된 값을 추적해야합니다.

+0

채널 URI를 어떻게 요청합니까? ChannelUriUpdated 이벤트는 MPNS가 앱에 새로운 가치를 부여 할 수있게 해주지 만 MPNS의 현재 URI를 "끌어 올"수 있습니까? 내가 API를 볼 수 없습니다. – lencharest

+0

더 자세히 살펴보면 Http.NotificationChannel.ChannelUri 속성을 가져와야한다는 것을 의미하는지 궁금합니다. – lencharest

+0

@lencharest ChannelUriUpdated 이벤트가 발생할 때마다 새 URI를 격리 된 메모리에 저장해야 할 것입니다. 마지막으로 저장된 채널 Uri가 "현재"이고 알림 이벤트에 반영된 새 채널이 새로운 이벤트입니다. 비교하고 서로 다른 경우 웹 서비스에 알립니다. –

0

업데이트 된 문서 here을 준수하십시오. 그것이하는 일은 채널 uri 삽입시 스크립트를 실행하고, 채널 URI가 존재하는지 검사하고, 존재하지 않으면 레코드를 삽입하고 그렇지 않으면 레코드를 삽입합니다. 그래서 일단 장치에 대한 채널 uri가 만료되면, 새로운 채널 uri가 장치에 주어지며, 비교 불일치와 새로운 채널 uri가 삽입됩니다. 그렇게함으로써 장치는 항상 통지를 보냅니다.

참고 : - 해당 기능을 활용하려면 앱을 시작할 때마다 보내야합니다. 이것이 도움이되기를 바랍니다.

관련 문제