如何使用 XHR (Ajax) 通过 GCM 发送推送通知
Posted
技术标签:
【中文标题】如何使用 XHR (Ajax) 通过 GCM 发送推送通知【英文标题】:How to Send a push notification through GCM using XHR (Ajax) 【发布时间】:2016-04-14 05:42:47 【问题描述】:这是我通过终端发送通知的 curl 命令。它可以正常工作,但是如何在按钮单击时发送通知(使用 XHR 请求)
curl --header "Authorization: key=AIzaSyCjrU5SqotSg2ybDLK0dMusvY" --header Content-Type:"application/json" https://android.googleapis.com/gcm/send -d "\"registration_ids\":[\"f5xzshqcfDE2qiKGJu858nFhqGCuk0uuUC6vm\"]"
【问题讨论】:
【参考方案1】:您可以编写一个 php 脚本来达到此目的,只需使用客户端发出 XHR 请求,例如 javascript 或您选择的任何其他请求。 这是我几个月前做的 php 脚本,它正在工作。
<?php
$message = "\": 3,\"title\": \"High score alert!\",\"\": true,\"custom_field\": \"score\": 51,\"headlines\": \"And now for something completely different...\" ";
$apiKey = "Your Key";
$registrationIDs = array("Registration id");
$url = 'https://android.googleapis.com/gcm/send';
// Set POST variables
$notify = array(
"alert"=> "great match!",
"title"=> "Portugal vs. Denmark",
"icon" => "myicon",
"badge"=>3,
"vibrate"=>true,
"notification"=>"message"
);
$fields = array(
'registration_ids' => $registrationIDs,
'data' => array( "payload" => $notify,
"notification"=>json_encode($notify)));
$headers = array(
'Authorization: key=' . $apiKey,
'Content-Type: application/json'
);
$ch = curl_init(); // Open connection
curl_setopt($ch, CURLOPT_URL, $url );
// Set the url, number of POST vars, POST data
curl_setopt($ch, CURLOPT_POST, true );
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode( $fields ));
var_dump( $url );
var_dump($headers);
var_dump(json_encode( $fields ));
$result = curl_exec($ch); // Execute post
if($result === false)
die('Curl failed ' . curl_error());
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$response = json_decode($result);
print_r($response);
?>
【讨论】:
感谢您的回答,但我不想使用 php。有没有办法用 javascript 做到这一点 是javascript适合还是你? 是的,我也可以使用 ajax .....有没有办法用 ajax,jquery @Asim Khan 来做到这一点 请阅读this thread以上是关于如何使用 XHR (Ajax) 通过 GCM 发送推送通知的主要内容,如果未能解决你的问题,请参考以下文章
Springboot ajax xhr 加载失败 404 错误