2012-05-16 45 views
2

我有麻煩時,我發送推送通知到手機吧這個錯誤返回:的Windows手機推送通道到期

[X-SubscriptionStatus] => Expired 
[X-NotificationStatus] => Dropped 
[X-DeviceConnectionStatus] => Connected 

從這一點來說,我有兩個問題:

  1. 現在給辦據我不要在文檔和推送通道的娛樂正常指令返回相同的URL
  2. 我怎麼知道,到期happend在客戶端?至於在現實世界中運行時手機只是將停止接收消息並不會知道什麼happend ... 謝謝

回答

3

從服務器端有什麼可以做 - 你只需要停止發送通知該URI。

你可以做的是儘量確保你的ChannelUri不會過期,或者如果它的變化,通知該改變你的服務器端應用程序。基本過程是;

。唯一標識手機。一個很可能的候選人是Microsoft.Phone.Info.UserExtendedProperties.GetValue("ANID")但要注意,它會要求你的應用程序有ID_CAP_IDENTITY_DEVICE能力

。安裝在手機上HttpNotificationChannel並接收ChannelUri

。將唯一設備標識符和ChannelUri發送到您的服務器。

。訂閱的HttpNotificationChannelChannelUriUpdated通知。每當這種事件觸發發送設備ID/ChannelUri對重新發送到服務器。

按照這個模式,你應該總是在你的服務器端正確的推送通知烏里,只要用戶定期運行你的應用程序來刷新推送通知通道。