如何使用“google.gcm”服务?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用“google.gcm”服务?相关的知识,希望对你有一定的参考价值。

参考技术A

进入看如下步骤。

1.首先需要具有谷歌服务框架的手机,(也可以使用模拟器推荐bluestacks,非常好用),真机需要先root之后,然后下载谷歌服务安装程序的软件,自动安装即可。

2.准备一个谷歌账号,前提是你可以连接vpn,然后将手机添加一个谷歌邮箱账号。

3.看过我的第二个步骤之后,相信你已经在你的手机app程序和服务器上面添加了谷歌的gcm服务,也可以发送消息了,那么真的恭喜你,这一步很不容易。

4.不过你会发现一个小问题:当你发送多条通知的时候,总会显示一条通知,那是因为你接收通知的函数,默认的id号都是0,你需要将id设置为唯一的。

如何使用 GCM 通知同步

【中文标题】如何使用 GCM 通知同步【英文标题】:How to use GCM notification sync 【发布时间】:2014-05-06 12:03:26 【问题描述】:

我知道在 GCM 的任何版本中,您都可以根据 userId 而不是设备 ID 关闭通知。这实质上会将此操作与用户使用同一 google 帐户使用的所有设备同步。这方面的文档页面可以在这里找到,它很有帮助

http://developer.android.com/google/gcm/notifications.html

唯一我不明白的是: 我是否需要在我的应用程序中编写代码来联系 GCM 服务器或我自己的服务器以触发其他设备上的解除,或者这是否会在通知被解除或打开时自动发生?

这是导致我认为您需要手动执行此操作的部分,但我不确定: “您应该设计您的应用程序来处理应用程序收到解雇消息但尚未显示被解雇通知的情况。”

【问题讨论】:

【参考方案1】:

是的,您必须在您的应用中编写代码来触发解雇消息,并对其进行处理。

注意:通知解除消息与任何其他上游消息一样,这意味着它将被传递到属于指定 notification_key 的其他设备。您应该设计您的应用程序来处理应用程序收到解雇消息但尚未显示被解雇通知的情况。您可以通过缓存解雇然后将其与相应的通知进行协调来解决此问题。

这是有道理的,因为 GCM 不知道您的应用如何处理到达的 GCM 消息。您的应用程序可能会显示一个通知(如果它已经在属于同一用户的另一台设备上处理,则需要将其关闭),或者它可能会与服务器执行一些后台同步(在这种情况下不需要发送关闭消息)。

这项新功能的重点在于,您向单个通知键发送一条消息,而不是向多个注册 ID 发送一条消息,并且安装在属于同一用户的任何设备上的应用不需要知道所有这些设备的注册 ID。它只需要知道 notification_key 就可以与其他设备通信。

【讨论】:

感谢您的解释。我发现这种逻辑是合乎逻辑的,但这个新功能的意义毫无意义,因为只有新事物是通过一个标识符而不是列表来引用一组设备。在此之前同样的事情是可能的,您只需向用户设备发送多播消息并自己定义解除消息。我对这个事实有点失望,但你的回答很好,正是我想要的。唯一有用的是链接到一些最佳实践实施示例,所以如果您知道一些,请添加它以供功能参考。【参考方案2】:

我认为需要联系您的服务器 这样可以保持流程的一致性,并且在联系 GCM 服务器发送消息时,您需要提供您的 API 密钥和项目 ID ...这对于存储在移动应用程序中至关重要。

这就是为什么你应该联系你的服务器,反过来,你的服务器会联系 GCM 服务器

这是我的看法。

【讨论】:

感谢您的回答。所以我必须手动触发同步消息吗?我有点不明白这个新功能的意义。因为所有较旧的应用程序都必须重写才能使用它,而您可以在此之前通过定义自己的明确通知消息并将其发送到用户设备来完成。 好吧,经过第二次查看和更多搜索,我发现它应该通过移动应用程序发送到使用相同谷歌帐户注册的所有设备,但它将使用 notification_key,这是一个获取的密钥,就像来自 GCM 服务器的 regId,代表同一 google 帐户下的多台设备,首先,当您发送消息时,您应该使用 notification_key 来(不确定)...看看这里...一些有趣的信息captechconsulting.com/blog/antoine-campbell/…

以上是关于如何使用“google.gcm”服务?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 GCM 通知同步

如何使用 GCM 在 Android 中解析或实际获取推送消息

Google GCM 服务器返回未经授权的错误 401

google gcm 没有使用 PushSharp 作为我的服务器发送消息

哪个版本的gcm服务器用于gcm -fcm迁移

GCM 中的 100 个多发件人规则如何应用?