android - 我需要有关发送推送通知的建议

标签 android google-app-engine google-cloud-messaging

我在我的 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/

相关文章:

Android:ksoap2 请求从标签中删除命名空间

android - 方法 ScrollTo 没有用

google-app-engine - Go 中 GAE Google App Engine 的最佳前端

google-app-engine - 在项目中添加自定义域成员作为所有者 - GAE

java - Android 解析 ArrayList

python - Google AppEngine PYTHON 灵活环境是否支持任务队列?

java - Appengine 缓慢

javascript - 网络上的 Google Cloud Messaging,无法获取 token

java - 安装带有依赖的jar到maven仓库(Android gcm-server push library)

带有自定义 View 错误的 Android Anko 警报(Kotlin)