谷歌Android的云消息 [英] Android google cloud messaging
本文介绍了谷歌Android的云消息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我试图从我的服务器到谷歌云服务器发送消息,但我有问题,它...
我得到的服务器密钥(主要针对服务器应用程序),将其设置为这个code:
$头=阵列(
授权:键='。我的服务器密钥,
内容类型:应用程序/ JSON
);
$ CH = curl_init();
curl_setopt($ CH,CURLOPT_URL,$网址);
curl_setopt($ CH,CURLOPT_POST,真正的);
curl_setopt($ CH,CURLOPT_HTTPHEADER,$头);
curl_setopt($ CH,CURLOPT_RETURNTRANSFER,真正的);
curl_setopt($ CH,CURLOPT_SSL_VERIFYHOST,0);
curl_setopt($ CH,CURLOPT_SSL_VERIFYPEER,FALSE);
curl_setopt($ CH,CURLOPT_POSTFIELDS,json_en code($域));
$结果= curl_exec($ CH);
发送消息后,我有这样的结果是:
未经授权
错误401
我使用这种IP:78.47.150.20
但是当我使用测试IP 0.0.0.0/0我没有任何问题....
解决方案
函数sendNotification时($ registrationIdsArray,$ messageData){
$ apiKey =YOUR_API_KEY; $头=阵列(内容类型:应用/ JSON,授权键=$ apiKey。);
$数据=阵列(
'数据'=> $ messageData,
registration_ids'=> $ registrationIdsArray
);$ CH = curl_init(); curl_setopt($ CH,CURLOPT_HTTPHEADER,$头);
curl_setopt($ CH,CURLOPT_URLhttps://android.googleapis.com/gcm/send);
curl_setopt($ CH,CURLOPT_SSL_VERIFYHOST,0);
curl_setopt($ CH,CURLOPT_SSL_VERIFYPEER,0);
curl_setopt($ CH,CURLOPT_RETURNTRANSFER,真正的);
curl_setopt($ CH,CURLOPT_POSTFIELDS,json_en code($数据));$响应= curl_exec($ CH);
curl_close($ CH);返回$反应;
}
i try to send message from my server to google cloud server, but i have problem with it... i get server key(Key for server applications), set it to this code:
$headers = array(
'Authorization: key=' .My server key,
'Content-Type: application/json'
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
$result = curl_exec($ch);
after sending message i have such result:
Unauthorized Error 401
I use such ip:78.47.150.20
but when i use test ip 0.0.0.0/0 i haven't any problems....
解决方案
function sendNotification($registrationIdsArray, $messageData) {
$apiKey = "YOUR_API_KEY";
$headers = array("Content-Type:" . "application/json", "Authorization:" . "key=" . $apiKey);
$data = array(
'data' => $messageData,
'registration_ids' => $registrationIdsArray
);
$ch = curl_init();
curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers );
curl_setopt( $ch, CURLOPT_URL, "https://android.googleapis.com/gcm/send" );
curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, 0 );
curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, 0 );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_POSTFIELDS, json_encode($data) );
$response = curl_exec($ch);
curl_close($ch);
return $response;
}
这篇关于谷歌Android的云消息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文