繁体   English   中英

Android推送通知GCM

[英]Android push notification GCM

我正在为我的应用程序使用android GCM向用户发送推送通知。 我正在关注本教程

http://www.androidhive.info/2012/10/android-push-notifications-using-google-cloud-messaging-gcm-php-and-mysql/

但是在本教程中显示,我们可以将推送通知发送到单个设备。 但是我想一次向所有用户发送推送通知。 那么我该如何实现这种技术。

我已经面临过同样的问题并解决了。 要将推送通知立即发送给所有用户,您必须完成所提到的教程中列出的所有操作。 但是您必须更改两个文件: index.phpsend_message.php

  1. index.php

    一种。 将JavaScript代码替换为以下代码:

     $(document).ready(function(){ }); function sendToAll(){ var data = $("#sendtoall").serialize(); $("#sendtoall").unbind('submit'); $.ajax({ url: "send_message.php", type: 'GET', data: data, beforeSend: function() { }, success: function(data, textStatus, xhr) { $('.txt_message').val(""); }, error: function(xhr, textStatus, errorThrown) { } }); return false; } 

    b。 将body标签内的代码替换为以下内容(跳过前五行):

     <div class="container"> <h1>No of Devices Registered: <?php echo $no_of_users; ?></h1> <hr/> <ul class="devices"> <?php if ($no_of_users > 0) { ?> <li> <form id="sendtoall" name="" method="post" onsubmit="return sendToAll()"> <div class="send_container"> <textarea rows="3" name="message" cols="25" class="txt_message" placeholder="Type message here"></textarea> <?php while ($row = mysql_fetch_array($users)) { ?> <input type="hidden" name="regId[]" value="<?php echo $row["gcm_regid"]; ?>"/> <?php } ?> <input type="submit" class="send_btn" value="Send To All" onclick=""/> </div> </form> </li> <?php } else { ?> <li> No Users Registered Yet! </li> <?php } ?> </ul> </div> <div class="clear"></div> 
  2. send_message.php

    替换行:

     $registatoin_ids = array($regId); 

     $registatoin_ids = $regId; 

您还可以将集成了推送模块的“后端即服务”。 因此,您可以从后端通知所有参与者。 我有一段时间用过“ apiomat ”,很满意

是的,您可以使用GCM发送,因为它也允许多播消息服务。

使用下面的格式:

{
  "registration_ids" : ["APA91bHun4MxP5egoKMwt2KZFBaFUH-1RYqx..."],
  "data" : {
    ...
  },
}

此处的key registration_ids值应如下所示:

一个字符串数组,其中包含接收消息的设备(注册ID)的列表。 它必须包含至少1个,最多1000个注册ID。 要发送多播消息,必须使用JSON。 要将单个消息发送到单个设备,可以使用仅包含1个注册ID或纯文本的JSON对象(请参见下文)。 需要。

希望对您有帮助。

GCM主题消息传递允许您的应用服务器将消息发送到已选择加入特定主题的多个设备。 基于发布/订阅模型,主题消息支持每个应用最多支持一百万个订阅。 应用服务器将消息发送给主题,而消息的有效负载最大为2KB,GCM处理消息路由并将消息可靠地传递到正确的设备。 例如,天气预报应用程序的用户可以选择“恶劣天气警报”主题,并接收风暴威胁特定区域的通知。 要向所有用户发送消息,可以使用主题。
资料来源:Google Developer网站

如果您看一看,可以看到所有用户都在注册一个主题。 您可以将主题发送给所有用户。

要发送到主题,您必须使用此页面https://developers.google.com/cloud-messaging/topic-messaging

并且为了测试推送通知,您可以在chrome扩展程序中使用“高级其余客户端”。 推送通知测试

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM