【问题标题】:Android : Some Questions to Understand GCM wellAndroid : 了解 GCM 的一些问题
【发布时间】:2012-12-11 16:56:25
【问题描述】:

我正在尝试获取并推送通知(通知设备连接到数据源,因为它已更改/更新)

我阅读了很多关于它的教程,并试图在我的案例中应用它来帮助我,但我确实遇到了一些理解 GCM 如何工作的问题

我已在 https://code.google.com/apis/console 注册并获取 SENDER IDAPIKEY

现在我有一些问题:

  1. 您是在每次我们启动应用程序时将设备注册到服务中还是仅在第一次时注册?

  2. 我们将 GCM 用于(仅通知设备发生某事)还是(通知并获取有关发生了什么变化的信息)?

  3. 为什么需要这个操作(客户端和服务器) 我的意思是(客户端)没关系,因为他会收到推送通知,但是(服务器这意味着什么):(,因为我认为这里的服务器将是它自己通知的谷歌设备

  4. 在这种情况下,当我们使用 APIKEY

想法是:

我的网站上有 SQL Server 数据库,并且有两个用户的小型 android 应用程序(处理它) 需要在任何用户向数据库中添加一条记录时通知其他用户

提前致谢,,

问候:)


【问题讨论】:

    标签: android google-cloud-messaging


    【解决方案1】:

    1) 仅在需要时才向 GCM 注册。例如。当你打电话时

    GCMRegistrar.getRegistrationId(appContext);
    

    它返回一个空白字符串。这通常会在您第一次启动应用程序时发生。

    2) 这取决于您要尝试的数据是什么以及它是否适合 4K 有效负载限制。查看Send-to-Sync vs. Messages with Payload Google 帮助主题。

    3) 您的服务器是将消息发送到 GCM 服务器的服务器。然后 GCM 服务器将消息向下发送到应用程序。看看我为我帮助创建的服务写的这篇博文:http://blog.andromo.com/2012/how-does-airbop-push-messaging-work/ 它应该有助于解释它是如何工作的。在说明中,您可以用您自己的服务器替换我们的服务器。

    4) 您将 API 密钥作为消息的一部分发送到 GCM 服务器,详见此处:http://developer.android.com/google/gcm/gcm.html#request

    所以在下面的请求中:

    Content-Type:application/json
    Authorization:key=AIzaSyB-1uEai2WiUapxCs2Q0GZYzPu7Udno5aA
    
    {
      "registration_ids" : ["APA91bHun4MxP5egoKMwt2KZFBaFUH-1RYqx..."],
      "data" : {
        ...
      },
    }
    

    授权:key=YOUR_API_KEY

    【讨论】:

    • 非常感谢 (+1),1- 我明白了,服务器将从设备接收一些内容并将其发送回 GCM,GCM 将推送通知另一个设备?那样可以么 ? 2- 我认为取决于您在上面写的内容,服务器可能在同一个应用程序中,或者它可以在网站(页面)上从设备接收并将其发送到 GCM?
    • 看看我链接到的博客文章。简而言之,您的应用在注册时会从 GCM 获取一个 ID,然后将其发送到您的服务器。然后,您的服务器在向 GCM 发送消息时包含该 ID。 GCM 使用该 ID 将消息定向到您的应用。
    • @sesline 我已经阅读了这篇文章,但仍然需要了解服务器功能......当我从客户端发送内容直接到另一台设备时,我可以将服务器放在客户端设备中吗? ..
    • 当然可以。然后,该应用程序会将消息发送到 GCM,然后 GCM 会将其分发给您的其余应用程序。在您的应用程序中执行此操作的困难在于,该应用程序必须知道它需要联系的所有注册 ID。不过,您仍然需要某种服务器,即设备注册的地方。有些东西需要存储这些注册 ID。
    • 我不确定,我假设设备的 ID?我认为这取决于您的实施。
    猜你喜欢
    • 2016-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多