【发布时间】:2016-05-13 17:36:42
【问题描述】:
我正在努力解决我在使用 GCM 时遇到的问题。推送通知未在我的手机中发送:(。从简单表单发送消息后(我输入用户的电子邮件和消息),我得到以下json响应。
{
"multicast_id":5448677994062381651,
"success":1,
"failure":0,
"canonical_ids":0,
"results":[{"message_id":"0:1463160271625523%cbfca9dcf9fd7ecd"}
]}
这是我的 php 文件。
<?php
include("init.php");
$url = 'https://gcm-http.googleapis.com/gcm/send';
$apikey = 'xxxxxxxxxxxxxxxxxx';
$message="";
$registration_ids = array();
if(isset($_POST['submit'])){
$name = $_POST['email'];
$message = $_POST['message'];
$sql = "SELECT * FROM user_info where email = '".$name."'";
$result = mysqli_query($con,$sql);
while($row = mysqli_fetch_array($result)){
array_push($registration_ids,$row['token_id']);
}
}
$message_send = array("Notice"=>$message);
$fields = array(
'registration_ids' => $registration_ids,
'data' => $message_send
);
$headers = array('Authorization: key='.$apikey,
'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_VERIFYPEER,false);
curl_setopt($ch,CURLOPT_POSTFIELDS,json_encode($fields));
$result = curl_exec($ch);
if($result === FALSE){
die('Curl failed: ' . curl_error($ch));
}
curl_close($ch);
echo "done".$result;
?>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Admin Area</title>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<form method="post" action="index.php">
<label>Enter email:</label>
<input type="text" name="email"/>
<label>Enter message:</label>
<input type="message" name="message" rows="2" cols="30"/>
<input type="submit" name="submit" value="Send"/>
</form>
可能出了什么问题?端口号可能是什么?
谢谢, 西奥。
【问题讨论】:
标签: android google-cloud-messaging