我正在將我的Android應用程序從C2DM遷移到GCM。我有服務器端設置來接收兩者都是指示GCM與C2DM的ID,然後在服務器端,我通過相應的服務發送出去,具體取決於它所註冊的服務。遷移到GCM,但仍然有C2DM註冊ID
我遇到的問題是,應用程序正在以我的服務器註冊爲GCM(應用程序更新使用新的發件人ID在意圖。)但不幸的是,它傳遞給服務器的ID註冊ID實際上是舊的C2DM ID。
作爲此遷移的一部分(在應用程序代碼中),我需要做些什麼來確保獲得新的(GCM)ID,而不是繼續使用現有的C2DM註冊ID。這對我來說很容易測試和重現,並且每次都會得到一致的結果(來自GCM服務器的MisMatchedSenderId)。我需要先註銷C2DM ID嗎?
注意顯示您在應用程序中用於註冊GCM的代碼? – Femaref
public static void register(Context context, String senderId){ Intent registrationIntent = new Intent(REQUEST_REGISTRATION_INTENT); registrationIntent.putExtra(EXTRA_APPLICATION_PENDING_INTENT, PendingIntent.getBroadcast(context,0,new Intent(),0)); registrationIntent.putExtra(EXTRA_SENDER,senderId); context.startService(registrationIntent); } –