Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/186.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 向所有注册设备广播通知_Android_Google Cloud Messaging - Fatal编程技术网

Android 向所有注册设备广播通知

Android 向所有注册设备广播通知,android,google-cloud-messaging,Android,Google Cloud Messaging,我正在尝试使用谷歌云消息将推送通知添加到我的Android应用程序中。我不需要任何花哨的东西,我只想在某些事件发生时通知应用程序的所有用户 我不需要通知单个用户,我总是希望向每个用户发送通知。这是一个用户数量非常有限的内部应用程序,它不是公开发布的 现在,就我所了解的文档而言,我需要一个注册id,用于发送每个通知。我真的不想跟踪这些,因为我不需要识别单个设备 我可以不使用任何注册ID向所有设备广播吗 如果没有,如何获取所有已注册设备的注册ID?我是否必须手动跟踪这些信息(在GCM通信之外)

我正在尝试使用谷歌云消息将推送通知添加到我的Android应用程序中。我不需要任何花哨的东西,我只想在某些事件发生时通知应用程序的所有用户

我不需要通知单个用户,我总是希望向每个用户发送通知。这是一个用户数量非常有限的内部应用程序,它不是公开发布的

现在,就我所了解的文档而言,我需要一个注册id,用于发送每个通知。我真的不想跟踪这些,因为我不需要识别单个设备

  • 我可以不使用任何注册ID向所有设备广播吗
  • 如果没有,如何获取所有已注册设备的注册ID?我是否必须手动跟踪这些信息(在GCM通信之外)
我可以不使用任何注册ID向所有设备广播吗

不,对不起,现在不行

如果没有,如何获取所有已注册设备的注册ID?我是否必须手动跟踪这些信息(在GCM通信之外)


是的,你必须手动跟踪这些(例如,应用程序通过Web服务发送注册ID)。

因为你与少量设备交互,你可能想考虑使用一个服务来处理服务器端的复杂性,而不是通过实现自己的努力。例如,GCM服务最多可免费提供1000台设备。

您可以订阅主题并从服务器发送通知

客户:

 private void subscribeTopics(String token) throws IOException {
    GcmPubSub pubSub = GcmPubSub.getInstance(this);   
    pubSub.subscribe(token, "/topics/global", null);    
 }
服务器:

   {"to": "/topics/global","notification":{"message":"testmessage"}}

我们可以针对所有注册设备发送主题通知,但每个应用程序的reg IDLE订阅数不超过100万: