2012-08-14 44 views
1

我能夠使用的代碼無法使用谷歌雲通訊/ GCM從服務器發佈消息客戶端

GCMRegistrar.register獲得我的客戶端應用程序激活碼(這一點,「805421596082」);

我收到了註冊ID。

我使用以下JAVA代碼發佈消息。

import java.util.ArrayList; 

import com.google.android.gcm.server.Message; 
import com.google.android.gcm.server.MulticastResult; 
import com.google.android.gcm.server.Result; 
import com.google.android.gcm.server.Sender; 

public class Notify { 

    public static void main(String args[]) { 

     try { 

      Sender sender = new Sender("AIzaSyAj0cooI3YxBzbug-6CcmJQdRXxGKphRbU"); // This is the server api key 

      Message message = new Message.Builder() 
      .collapseKey("1") 
      .timeToLive(3) 
      .delayWhileIdle(true) 
      .addData("message", 
      "this text will be seen in notification bar!!") 
      .build(); 

      Result result = sender 
      .send(message, 
      "APA91bEMi5lmYKxaJX4-80eUp1JsW50_jSbZoqUs16xswI9EuXK_Km3qyuGxvoqKBvg9_5009naFrF7VKBknOKEo946SWtH57cd_m5BbTxpgaaT_Iy-m9McyV6aqy6BjxAy0d57arqp2yq6mHZrgw7qx-o4ntv7T2Q", // This is the registration id 
      1); 


     } catch (Exception e) { 
      e.printStackTrace(); 
     } 

    } 
} 

登錄時的結果值我正在 「[錯誤碼= MismatchSenderId]

我不能進一步進行。如果有人能爲我提供一個解決方案,這將是很大的幫助。

回答

4

API密鑰和senderID應該屬於同一個帳戶。還應該使用使用給定senderID生成的相同註冊ID。檢查你的鑰匙。

它在GCM page解釋如下:

註冊ID被綁定到一組特定的發件人。當一個 應用程序註冊GCM使用情況時,它必須指定哪些發件人允許發送消息 。確保在使用 嘗試向設備發送消息時使用其中的一種。如果您切換到其他 發件人,現有的註冊ID將不起作用。錯誤 代碼爲MismatchSenderId時發生。

相關問題