2012-08-03 84 views
0

活瓷磚能夠接收推送通知,而不需要關聯的城域應用程序需要運行。活瓷磚 - 保持聯繫

但是我相信應用程序必須至少運行一次,才能讓應用程序獲取通知通道並訂閱通知服務器,並將通道傳遞給服務器。

我的問題是 -

會發生什麼,如果服務器切斷客戶端?如果用戶關閉他們的電腦,我認爲服務器將開始收到傳送失敗錯誤。服務器可能會切斷客戶端。

但是當用戶重新啓動計算機時會發生什麼?在用戶再次啓動應用程序並重新向服務器訂閱通知之前,該切片現在是否已斷開連接?

或者有沒有一種方法讓瓷磚在啓動時自動重新訂閱而不必運行?

回答

2

推送通知不會直接發送到客戶端;他們通過雲中的Windows通知服務發送。這意味着您的服務將能夠發送它們。當機器退出睡眠狀態/重新連接到網絡時,WNS服務會通知您正確的通知。

http://msdn.microsoft.com/en-us/library/windows/apps/hh913756.aspx概述了通知的服務端。

需要注意的是,tile通道在30天后過期,並且需要(以編程方式)更新。指導意見是,您應該在應用程序運行時進行續訂以確保它不會過期。

我無法在文檔中找到的唯一東西是多少推送通知在客戶端排隊 - 我懷疑對於給定的標記通知,只有一個被保留。

也許另一種思考方式是用不好的通知 - 例如「新項目」計數。如果在設備與網絡斷開連接(關閉,驅動等)時推送此號碼,則您的服務將成功發送通知,並且當該設備重新連接時,它將無縫地看到徽章更新。

1

你應該在你的代碼中處理,當你的服務器的客戶端脫機時,你應該刪除它們並斷開連接,客戶端將只收到活動切片中的緩存值。

如果他們重新開始,那麼您還應該在服務器端處理它以推送新的通知數據。

只是一個快速提示:如果您使用WCF作爲您的服務,您可能需要檢查Announcement Service Class那裏您可以處理您的客戶在線/離線情況。