如何在安卓使用php发送推送通知?

时间:2016-01-12 作者:Chandra Kumar

我想从php发送android推送通知。我已经在php中创建了管理&;mysql当管理员从管理员处批准任何内容,而不是向用户发送通知时。

1 个回复
SO网友:Ashish Nayyar

Android推送通知要求您拥有GCM密钥和项目ID,需要在Google开发者控制台上注册。

我假设您能够获取用户注册ID并将其存储在表中。

要发送Android推送通知,请在函数文件中的某个位置创建函数

function AndroidPushNotification($registration_ids, $message) {

$url = \'https://android.googleapis.com/gcm/send\';
$fields = array(
    \'registration_ids\' => $registration_ids,
    \'data\' => $message,
);

define(\'GOOGLE_API_KEY\', \'YOUR-API-KEYS\');

$headers = array(
    \'Authorization:key=\' . GOOGLE_API_KEY,
    \'Content-Type: application/json\'
);
echo json_encode($fields);
$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_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));

$result = curl_exec($ch);
if($result === false)
    die(\'Curl failed \' . curl_error());

curl_close($ch);
return $result;
}

从数据库中获取所有注册ID并调用此函数。将注册ID拆分为999组。有时,如果阵列的注册ID超过1000个,则不会传递通知。

如果您的订阅服务器列表非常大,您还可以查找速度更快的multi-curl选项。