GCM的文檔說應用服務器應該使用https://gcm-http.googleapis.com/cloud-messaging/send向GCM設備發送消息,但示例程序(在GcmSender類中)使用https://android.googleapis.com/gcm/send。正確的URL到GCM設備的消息?
哪一個是正確的?
我已經在現場使用了後者的URL幾年的GCM應用程序,客戶端使用舊的類,而不是當前記錄的類。我想這意味着我的實現是C2DM,而不是GCM,但上面的URL不一致使我有點不確定。除了URL,我的應用服務器實現與今天記錄的內容相匹配,例如,它使用這種格式向GCM設備發送消息:
Content-Type:application/json 授權:key = AIzaSyZ-1u ... 0GBYzPu7Udno5aA
{ 「registration_id」: 「APA91bHun4MxP5egoKMwt2KZFBaFUH-1RYqx ...」, 「數據」:{ ... }, }
這也是奇 - 示例應用程序的用途「,以「,而不是」registration_id「,我的應用使用」registration_ids「。
此外,我的應用程序服務器從未使用過文檔使我相信所有C2DM應用程序都使用的「ClientLogin身份驗證令牌」。這增加了我對我的實施是C2DM還是GCM的疑惑,因此是否會在10/20/2015停止工作或繼續工作。
有人可以澄清嗎?
感謝,
馬克
謝謝 - 澄清了URL問題。總之,記錄的URL(很可能)是錯誤的(應該是https://gcm-http.googleapis.com/gcm/send),但示例代碼使用的仍然有效的URL是爲以前版本引入的(GCM或C2DM?)。 但是,這仍然讓我想知道我的實現是C2DM還是GCM。 –
如果您可以註冊正在使用GCM的設備,因爲C2DM不再接受新的註冊。 – e4c5
是的,我可以註冊一個新設備。我想GCM仍然與舊的客戶端類(例如GCMBaseIntentService,GCMRegistrar等)兼容。 –