1

コードを使用してクライアントアプリの登録キーを取得できました

GCMRegistrar.register(this、 "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(); 
        } 

    } 
}

取得した結果値をログに記録すると" [errorCode= MismatchSenderId] "

これ以上先に進むことができません。誰かが私にこれに対する解決策を提案することができれば、それは大きな助けになるでしょう。

4

1 に答える 1

4

APIキーとsenderIDは同じアカウントに属している必要があります。また、指定されたsenderIDを使用して生成されたものと同じregistrationIDを使用する必要があります。キーを確認してください。

これは、GCMページで次のように説明されています。

登録IDは、特定の送信者グループに関連付けられています。アプリケーションがGCMの使用を登録するとき、メッセージの送信を許可する送信者を指定する必要があります。デバイスにメッセージを送信するときは、これらのいずれかを使用していることを確認してください。別の送信者に切り替えると、既存の登録IDは機能しなくなります。エラーコードがMismatchSenderIdの場合に発生します。

于 2012-08-14T06:12:11.840 に答える