我是 GCM 新手,对 Android 编程也比较陌生。我正在尝试实现推送通知。我的 MySQL 数据库中有 gcm_reg_no。
现在我想将推送通知发送到这些注册 ID。你能帮我知道下一步是什么吗?我需要在项目的 Android 部分添加任何内容吗?还是我只需要使用 PHP 将请求发送到 GCM 服务器?
我是 GCM 新手,对 Android 编程也比较陌生。我正在尝试实现推送通知。我的 MySQL 数据库中有 gcm_reg_no。
现在我想将推送通知发送到这些注册 ID。你能帮我知道下一步是什么吗?我需要在项目的 Android 部分添加任何内容吗?还是我只需要使用 PHP 将请求发送到 GCM 服务器?
如果您将设备中的 GCM 注册 ID 发回您的服务器并存储在您的数据库中,那么您所要做的就是在您想要向 GCM 服务器发送推送通知时将数据传递给 GCM 服务器。
例如,这是我用来发送推送通知的函数:
//reg array here is an array of the GCM_reg_Ids I wish to send the push to
function push($regarr)
{
// Set POST variables
$url = 'https://android.googleapis.com/gcm/send';
// Google API KEY, If you don't know your key just walk through the starter guide
$apiKey = "***************";
// Get all the message variables
// These are variables of data you send in the push notification which you use in the
// Appcode to do stuff
$message = "test" ;
$data = "http://www.google.com";
$preheader = "New Notification";
$header = "test" ;
$fields = array(
'registration_ids' => $regarr,
'data' => array( "message" => $message,
"preheader" => $preheader,
"header" => $header,
"data" => $data ),
);
$headers = array(
'Authorization: key=' . $apiKey,
'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 );
curl_setopt( $ch, CURLOPT_POSTFIELDS, json_encode( $fields ) );
// Execute post
$result = curl_exec($ch);
// Close connection
curl_close($ch);
$json_return = json_decode($result);
return $json_return;
}
不要忘记确保您在 PHP 上启用了 CURL,那里有很多指南,其中包含示例和 GCM 入门,快乐推送消息:D