2012-03-26 78 views
1

我需要向我的應用的所有用戶發送推送通知消息。我知道我需要一個從每個用戶收到的URI發回給他們的消息。向我的應用(Windows Phone)的所有用戶發送推送通知消息

所以,我必須註冊ChannelUriUpdated事件並將URI發送到我的服務器。 在我的服務器中,我應該將這些數據存儲在數據庫中,並使用URI列表發送消息。我不確定這是不是完美的方法。但如果是這樣,我怎麼知道某個特定設備的URI是否從我的服務器更新過。我不想在每個設備的數據庫中存儲多個URI。

我是否也應該使用唯一的URI發送設備的GUID?

回答

0

當MPNS返回推送URI時,它會標識一個唯一的「設備中的應用程序」,即安裝在請求推送通知的設備中的每個應用程序都被賦予不同的URI。

現在,我不對WP7應用程序負責,只是Web服務部分,但我認爲應用程序必須在每次啓動時重新驗證URI。 在這種情況下,您應該更新之前存儲的URI,這就是爲什麼您應該存儲設備ID,因此您可以跟蹤和更新以前的頻道。

另外要注意的響應代碼,因爲在有些情況下,如下所述,您必須停止發送新的通知:

http://msdn.microsoft.com/en-us/library/ff941100(v=vs.92).aspx

0

當更新設備的Uri時,應該將服務器上舊的Uri更換爲新的。所以,一個設備 - 一個Uri。

如果您需要將通知發送給所有用戶而不標識每個用戶,並且此要求將來不會更改 - 請不要保存GUID。只需發送通知存儲Uri的就是這些。

+0

但在這種情況下,我會繼續儲存未使用URI在我的數據庫。我試圖關閉手機並重新開機。我有一個不同的URI。 – Ateik 2012-03-26 08:33:04

+0

哦,是的。忘記了問題的第一部分。所以,你回答了你的問題 - 你需要發送電話'GUID'在數據庫中找到舊用戶'Uri'並相應地更新它 – Ku6opr 2012-03-26 08:41:00

+0

謝謝。所以我看到沒有其他辦法可以做到這一點。 – Ateik 2012-03-26 08:42:41

0

我是否也應該使用唯一的URI發送設備的GUID?

這是你不清楚:你得到的GUID這是每部手機獨特,和URI不屬於間的一種一對多的關係。

您應該將GUID存儲爲數據庫中的主鍵,將URIs存儲爲列。每當你輸入一個新的密鑰,檢查提供的GUID是否已經存在,在這種情況下你是UPDATE而不是INSERT

相關問題