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

I need suggestions on sending push notifications

我在我的 android 应用程序中需要实现推送通知,我已经有一个 Google API 键和所有并已启用推送通知钥匙。

我了解通知将从服务器发送到应用程序的下游。

基本上我想做的是每当我的数据库更新时,我想向特定设备发送一条消息,但 return 中没有消息。

但我不是特别了解的是将消息下游发送到 phone。这是如何完成的,我只向上游发送 HTTP 消息到我的服务器,并且对如何完成这项工作有些困惑。是否有任何服务器应用程序可以执行此操作,如果有,我在寻找什么。

再搜索一下就会得到这个:

Push Notifications in Android using Google App Engine

这应该是您要找的。这是 link 到 Google 的网站,也提供了一些额外的见解:http://developer.android.com/google/gcm/http.html

有几种方法可以从 server.One 发送下游消息 PHP.You 可以编写 PHP 脚本来将消息发送到 GCM(实际上发送通知到 phone).

这是我为我的应用想出的:

我用过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 脚本到 运行 当 required.This 是所谓的从服务器发送下游消息时。

由于您正在寻找具有推送通知的特定服务器功能,我建议您使用一些可以为您完成这项工作的软件,而不是为服务器编写所有代码。

我知道的一个这样的软件是 IBM MobileFirst(以前称为 Worklight)...它在其中嵌入了推送通知...可能还有更多的服务器软件可以做同样的事情

看看我的dev push server. All you need just paste your google api key and registration id in corresponding fields and send push to your client. Also you can look source code of that push server on the Bitbucket

您不会自己处理 phone 的下游。该过程有多个部分,如下所示。

使用 GCM 进行设置(听起来您已经完成了)

让应用为 GCM 注册该设备并设置接收推送消息的处理程序。这通常是在应用程序启动时完成的,所以是的,您需要事先与设备进行通信。您通常还希望为他们提供选择退出推送消息的选项。概述了应用程序方面的大部分内容 here

有一个在更新数据库时触发的脚本。然后,您可以通过将消息和特定设备的注册 ID 作为有效载荷传递给 GCM 来发送消息。

我只想更新此 post 以防此信息对其他人有用。所以基本上我所做的是当用户安装应用程序时,它会在 google 注册以获取注册 ID,然后它将它发送到我的数据库以供我以后需要时使用。现在,当用户通过添加 post 或添加评论来更新数据库时,它将触发一个 php 脚本,该脚本在 tomcat 上运行我的 web servlet,从那里我的 tomcat servlet 查询我的数据库并确定向谁(注册 ID)发送消息。