使用 GCM 的 Android 聊天应用程序如何工作?

Posted

技术标签:

【中文标题】使用 GCM 的 Android 聊天应用程序如何工作?【英文标题】:How do android chat apps using GCM work? 【发布时间】:2015-04-12 12:09:28 【问题描述】:

我想创建一个用于学习目的的简单聊天应用。

This 提到了“第三方应用服务器”,但它的用途是什么?

据我了解是这样的:

android 设备向第 3 方服务器注册其注册 ID Android 设备向第三方服务器发送消息 第三方服务器使用 HTTP 或 XMPP 将这些消息发送到 Google Cloud 消息传递 GCM 响应,第 3 方服务器将它们发送回客户端

这是否正确?

【问题讨论】:

【参考方案1】:

这里提到了“第 3 方应用服务器”,但它的目的是什么?

由于您是创建服务器的人,这取决于您。

这是否正确?

你的第四个子弹应该是:

GCM 将前一个项目符号中的消息传递到请求的设备和您在这些设备上的应用

否则,您的描述似乎准确。

【讨论】:

我明白了。但是为什么需要我自己的服务器呢?为什么不能直接使用GCM? @Bebras:“为什么”不是一个可以在这里轻易回答的问题,因为只有能够准确地告诉您“为什么”为 Google 工作并且不太可能提供他们的理由的人。但是,请记住,应用程序经常被逆向工程。您真的不希望“服务器”API 密钥您的应用在其他设备上的注册 ID 出现在容易受到攻击的东西上。否则,黑客可以轻而易举地劫持该 API 密钥并使用它来发送他们想要的任何消息,发送到他们可以找到的任何您的注册 ID。

以上是关于使用 GCM 的 Android 聊天应用程序如何工作?的主要内容,如果未能解决你的问题,请参考以下文章

使用 GCM 的 Android 聊天应用

如何在 Android + GCM 中获得带有声音 + 自定义应用程序图标的推送通知

GCM 响应是无效的 Android 应用注册 ID

android中两个应用程序的相同GCM注册ID?

Android:开发聊天应用程序

Android- Open Fire、云连接服务器和 GCM 之间的区别