我在我的 Android 应用程序中需要实现推送通知,我已经拥有一个 Google API key 和所有 key ,并且已在该 key 上启用了推送通知。
我了解通知将从服务器发送到应用程序的下游。
基本上我想做的是每当我的数据库更新时,我想向特定设备发送一条消息而不返回任何消息。
但我不是特别了解的是将消息下游发送到手机。这是如何完成的,我只向上游发送 HTTP 消息到我的服务器,并且对如何完成这项工作有些困惑。是否有任何服务器应用程序可以执行此操作,如果有,我在寻找什么。
最佳答案
有几种方法可以从服务器发送下游消息。一种是使用 PHP。您可以编写 PHP 脚本来将消息发送到 GCM(实际上是将通知发送到手机)。
这是我为我的应用想出的:
我用过curl
$url = 'https://android.googleapis.com/gcm/send';
$receive_id=$_POST['receiver_key'];
$message=$_POST['message'];
$registrationIDs = array( $receive_id);
$fields = array(
'registration_ids' => $registrationIDs,
'data' => array( "message" => $message ),
);
$headers = array(
'Authorization: key=' . $api_key,
'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_HEADER, true);
curl_setopt( $ch, CURLOPT_POSTFIELDS, json_encode($fields) );
$curl_result = curl_exec( $ch );
我实际上做的是让应用程序在需要时触发此 PHP 脚本运行。这就是所谓的从服务器发送下游消息。
关于android - 我需要有关发送推送通知的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30108234/