2012-03-28 37 views
0

我一直在使用de C2DM並且一直在努力工作。最近我遇到了一個問題,我似乎無法解決這個問題,也無法在這個論壇上提供任何幫助。問題是我有幾個使用C2DM的應用程序,我讓所有應用程序註冊了相同的發件人ID,然後在用戶數據庫中註冊用戶令牌。如果用戶有我的兩個應用程序A & B(相同的發件人ID)並啓動應用程序A,並且我向用戶B發送了推送通知,那麼啓動應用程序A的用戶A的最後一個將收到實際用於應用程序B.Android C2DM發件人ID

我的問題是有辦法使用相同的發件人ID爲1設備上安裝的所有應用程序?

回答

1

編號C2DM註冊ID的範圍是一個設備上的一個應用程序。如果一個C2DM消息被髮送到一個註冊ID,它只會被傳送到一個應用程序。您應該從一開始就使用不同的C2DM帳戶,因此每個應用程序都有自己的註冊ID。註冊ID不是每個設備,而是每個App每個設備。

如果您不能重新配置註冊ID,那麼您可以使用接收器,然後發送廣播意圖,並且您的應用程序可以通過響應該廣播來接收它。我希望你會需要兩個應用程序來聽和重播,但它應該工作。我建議你重新配置你的C2DM使用壽命,因爲你目前的設置並不理想,我預計這個問題只會變得更糟。

我假設你說的「發件人ID」是指你的註冊ID。

+0

感謝Ollie C,是的,我的意思是註冊ID(Google稱它爲發件人ID)。那麼我想,除了爲每個應用程序分配自己的註冊ID之外沒有其他辦法。我還沒有部署應用程序是,仍在測試它們。這確實會導致我的問題,我必須爲每個應用程序創建一個谷歌帳戶。另一個問題是每個應用程序都屬於一個客戶端。在這種情況下,客戶可以提供帳戶信息,但令我困擾的是我必須提示客戶提供他的密碼。 – Bami 2012-03-29 13:49:00

+0

請勿將註冊ID與發件人ID混淆。對於所有應用程序來說,使用相同的發件人ID完全有效,但如Ollie C所說,每個註冊ID都與一個設備上的一個應用程序相關聯。 – gnuf 2012-03-29 16:13:50