5

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

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

现在,据我了解文档,我需要为要发送的每个通知提供一个注册 ID。我真的不想跟踪这些,因为我不需要识别单个设备。

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

3 回答 3

7

我可以在不使用任何注册 ID 的情况下向所有设备广播吗?

不,抱歉,目前没有。

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

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

于 2012-08-27T12:33:24.260 回答
2

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

客户 :

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

服务器 :

   {"to": "/topics/global","notification":{"message":"testmessage"}}
于 2015-09-22T12:38:49.937 回答
1

由于您正在与少量设备进行交互,因此您可能需要考虑使用一种服务来为您处理服务器端的复杂性,而不是通过自己的努力来实现。例如,AirBop是一项 GCM 服务,最多可免费用于 1000 台设备。

于 2012-12-06T18:37:59.497 回答