我可以使用代码
在我的客户端应用上获取注册码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] ”
我无法继续下去。如果有人可以建议我解决这个问题,那将会很有帮助。
答案 0 :(得分:4)
API密钥和senderID应属于同一帐户。此外,您应该使用使用给定senderID生成的相同registrationID。检查你的钥匙。
GCM page中解释如下:
注册ID与某组发件人绑定。当一个 应用程序寄存器用于GCM使用,它必须指定哪些发件人 允许发送消息。确保你正在使用其中之一 尝试向设备发送消息。如果你切换到另一个 发件人,现有的注册ID将无法正常工作。发生错误时发生 代码是MismatchSenderId。