【问题标题】:Working principles of Android Push Notification SystemAndroid推送通知系统的工作原理
【发布时间】:2017-04-22 18:24:57
【问题描述】:

我有两个关于 Android 推送通知系统的问题:

  1. 这个系统的工作原理是什么?客户端将自己的 IP 发送到 Google Cloud Messaging Service(例如,当它切换自己的 IP 时)?所以这是一种池化?。
  2. 您如何知道 Google 云消息服务“查看”通知消息的内容(在服务器中创建并发送到客户端)?

【问题讨论】:

  • “你怎么知道谷歌云消息服务“查看”通知消息的内容”请澄清更多
  • 我会在通知消息中发送数据:所以当客户端看到通知时,它可以获取数据,而无需联系服务器。可能吗?我确定 GCM 服务无法“查看”此消息并嗅探数据?
  • 当然可以。当客户端收到通知时,它可以轻松读取其中的数据,并可以在不与服务器通信的情况下采取必要的行动。这就是推送通知的全部想法。
  • 好的,但我最初的问题是:我可以在数据中(例如)放入敏感信息吗?我确定GCM看不到数据?或者换句话说,只有当客户端收到通知时,数据才会被加密和解密?
  • 是的,您可以将数据放入通知中。数据也可以加密。它可以在客户端解密。没问题。

标签: android push-notification google-cloud-messaging


【解决方案1】:

在回答有关 GCM 服务如何联系客户端的问题时,GCM 客户端联系 GCM 以创建连接。您是正确的,设备地址会随着设备断开连接并重新连接而发生变化,因此 GCM 无法从服务器端启动连接。

这个连接被尽可能的维护,不是为特定的消息创建的。

注册 ID 标识设备和应用程序,并允许 GCM 将消息路由到设备(如果设备已连接)。如果未连接,GCM 需要等待设备重新连接。

【讨论】:

  • 好的,所以是客户端建立连接并维护它。当连接断开时,客户端再次联系 GCM 服务并建立新连接(是真的吗?)。客户端的所有应用程序都使用“全局”连接,还是每个应用程序都维护一个连接?它是一种什么样的联系? TCP 连接?
  • 这是正确的,所有应用程序都共享连接 - 这可以节省电池寿命和数据使用量。
【解决方案2】:

这个系统的工作原理是什么?客户端发送自己的 谷歌云消息服务的 IP(例如当它切换时) 自己的IP)?所以这是一种池化?

我在这里添加一张图片来描述 GCM 的工作原理。

这是一步一步的演示。您需要在应用启动时首先获取推送注册 ID。因此,如果您有一个后端服务器来在您的应用程序中发送一些推送通知,您需要将注册 ID 传递给您的后端服务器。因此,当您需要发送推送通知时,您的后端服务器将使用目标注册 ID 将推送直接发送到 GCM。当您的设备上线时,GCM 会设法在您的设备中推送通知。

所以这不是任何类型的池。 GCM 唯一需要知道的是您的设备在联机并尝试与 GCM 通信时的注册 ID。注册您的设备后,GCM 会使用该注册 ID 发送推送通知。

您怎么知道 Google Cloud Messaging Service “调查”了 通知消息的内容(在服务器中创建和 发送给客户)?

这个问题对我来说不是很清楚。据我所知,您想知道当通知来自您的后端服务器时,GCM 如何理解它需要向谁发送推送通知。如果这是您的问题,那么我想我已经在答案的上一部分中回答了。

GCM 无需查看您的通知内容即可知道推送通知的目的地。正如我之前所说,当您的应用程序启动时,它会从 GCM 请求推送注册 ID,当它收到注册 ID 时,您可能必须通过调用后端服务器的服务来传递注册 ID。服务器然后知道它可能向谁发送一些通知。

因此,当需要向您的客户端应用程序发送通知时,后端服务器会使用您之前发送到后端服务器的注册 ID 将通知发送到 GCM。然后,当应用程序上线时,GCM 会处理向客户端发送推送通知。

希望有帮助!

【讨论】:

  • 好的,这很清楚,但我的问题是:GCM 服务如何联系客户?它必须知道他的地址,而且这个地址可以改变……
  • 或者可能在注册操作期间,用户向 GCM 服务发送 SIM 的号码?
  • 不,这里不计算 SIM 卡的数量。 GCM 只知道注册 ID。当应用程序上线时,它会自行发送注册 ID。此注册 ID 不会随着网络地址的变化而频繁变化。
猜你喜欢
  • 2019-02-05
  • 2016-03-16
  • 2016-02-27
  • 1970-01-01
  • 1970-01-01
  • 2010-12-12
  • 1970-01-01
  • 2019-12-05
  • 1970-01-01
相关资源
最近更新 更多