如何在PHP后端中集成新的Google Cloud Messaging?
我正在尝试为我的Android应用创建推送服务,并且我遵循Google GCM的文档和示例:
我可以注册/取消注册我的Android应用程序.从我的服务器端,我可以看到我注册了一个订阅,但当我尝试从服务器向我的Android应用程序发送消息时,我总是会收到以下错误:
向设备#0发送消息时出错:MismatchSenderId
对于我的Android应用,我使用SENDER_ID = 200000000001.
对于我的服务器端,谷歌说我使用API_KEY = AIzxxxxxxxxxxxxxxxxXxxXxxXxxxXXXXXxxxxs
我按照这个文件:
我也在我的Google API面板中启用了GCM,但我会收到恼人的错误消息.
我该如何解决这个问题?
我正面临着GCM推送通知的问题.我收到以下错误.
{
"multicast_id":4630467710672911593,
"success":0,
"failure":1,
"canonical_ids":0,
"results":[{
"error":"MismatchSenderId"
}]
}
Run Code Online (Sandbox Code Playgroud)
以下是代码.任何帮助将非常感激.提前致谢.
public function gcmPush()
{
$regId = "APA91bHFcgOssQZEqtdUk3EC1ojwC5-LVG3NPV2bMqKyC9rPymR6StmAbz-N7Ss8fnvruZhWWNrR3lmBqpjQItlu00AKHPbltBclUJF-EfC5qG4CF2xiuYYC0NCf8u5rbiYFk8ARhIT4lY2AEPWzGpl1OtTvQEC0gA";
$registatoin_ids = array($regId);
$message = array("msg" => 12345);
$this->send_notification($registatoin_ids, $message);
}
public function send_notification($registatoin_ids, $message)
{
// Set POST variables
$url = 'https://android.googleapis.com/gcm/send';
define('GOOGLE_API_KEY', 'AIzaSyBavsIgQKo1Nf9wKZ5o_fGvE_6MI52LFR0');
$fields = array(
'registration_ids' => $registatoin_ids,
'data' => $message,
);
$headers = array(
'Authorization: key=' . GOOGLE_API_KEY,
'Content-Type: application/json'
);
// Open connection
$ch = curl_init();
// Set the url, number of POST vars, POST data
curl_setopt($ch, …Run Code Online (Sandbox Code Playgroud) 我想在我的Android应用程序中使用GCM服务.
为此,我使用了http://developer.android.com/guide/google/gcm/gcm.html上的android文档
我创建了客户端注册过程与发件人ID等和服务器端应用程序,我使用注册ID和发件人ID发送邮件.
当我通过Eclipse在我的手机中安装应用程序时,推送通知工作正常,所以发件人ID我是正确的.
然后,当我用Eclipse导出apk文件并将其安装在我的手机中时,我收到SenderId错误的错误消息
MissmatchedSenderId
Run Code Online (Sandbox Code Playgroud)
任何人都知道为什么我会得到这个.
我已经阅读了这些主题:
为什么我从GCM服务器端获得"MismatchSenderId"?
使用GCM发送消息时,我不断收到响应'MismatchSenderId'
但在我的情况下奇怪的是,在将应用程序导出为apk之前一切正常,然后我遇到了这个问题.
任何想法都是最好的.