2012-09-19 145 views
0

我需要的應用程序所創建的每個時間註冊推送?還是足夠註冊一次,例如登錄後? C2DMessaging.register(getApplicationContext(), C2DMConstants.SENDER);的最佳點是什麼?註冊推送?

回答

1

號其應用程序時每次啓動時間註冊。但是你必須檢查你的註冊ID是否被GCM服務器改變了。因爲有時GCM需要更改註冊ID,甚至不通知設備。因此,您必須將您的註冊ID保存在您的應用程序中並在應用程序啓動時與GCMRegistrar.getRegistrationId()方法返回的保存的ID和ID相匹配。如果兩者不同,請保存並在服務器上更新。

1

我想你應該在GCM註冊設備每次用戶登錄時,每當用戶註銷,因爲用戶可以使用的設備從他們的朋友來訪問你的applciation取消註冊設備。所以,每次用戶註銷後最好註銷設備。每次用戶登錄或註銷時,您還需要更新用戶及其設備的映射(最可能在應用程序服務器上)。

1

每次應用程序啓動,請檢查您保存令牌:

如果爲空,發送意圖推送

註冊。如果它不爲空,你可以檢查它是否已發送到服務器並決定是否發送它。

不過,我寧願更多的時候以防萬一問題發生在服務器上發送。

在一般情況下,谷歌問我們要不要註冊多次。一旦你有一個令牌,使用它沒有必要