我正在尝试使用GCM在我的应用中收到通知。我正在使用android工具工具,我尝试了很多教程。其中大多数使用eclips工具完成。
最后,我尝试了这一个,
http://rmarcejaeger.com/2015/09/18/tutorial-how-to-implement-push-notifications-using-google-cloud-messaging-for-android-part-1-client-app/#comment-576070,
https://github.com/googlesamples/google-services/tree/master/android/gcm
我使用上面的教程完成了android客户端部分。但问题是,我需要在php中设置应用服务器,通过GCM连接我的应用程序。我不知道是否有可能。我尝试了以下链接, https://developers.google.com/cloud-messaging/server
但我无法获得更多。所以请任何人建议我更好的解决方案。
答案 0 :(得分:3)
答案 1 :(得分:1)
首先,您需要从Console创建浏览器密钥。
这是您需要为发送通知添加的代码GOOGLE_API_KEY是您从控制台创建的密钥。
<?php
class GCM {
//put your code here
// constructor
function __construct() {
}
/**
* Sending Push Notification
*/
public function send_notification($registatoin_ids, $message) {
// include config
include_once './config.php';
// Set POST variables
$url = 'https://android.googleapis.com/gcm/send';
$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, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Disabling SSL Certificate support temporarly
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
// Execute post
$result = curl_exec($ch);
if ($result === FALSE) {
die('Curl failed: ' . curl_error($ch));
}
// Close connection
curl_close($ch);
echo $result;
}
}
?>
现在使用GCM类的这种方法,您可以通过调用其方法向设备发送通知。 传递reg.id,这是您从Android设备获得的令牌ID以及您想要传递的消息。
$gcm = new GCM();
$result = $gcm->send_notification($registatoin_ids, $message);
echo $result;