gpt4 book ai didi

没有谷歌帐户的Android云到设备消息传递

转载 作者:太空狗 更新时间:2023-10-29 15:33:55 25 4
gpt4 key购买 nike

如果用户的帐户中没有云到设备消息传递 (C2DM),C2DM 将无法工作,这是真的吗?

如果是这样,我如何在没有 Google 帐户的情况下进行推送通知?

最佳答案

发送推送通知的不同技术可以列举如下

  • OS2.2+ 上的 Android 云到设备消息传递 (C2DM)
  • 适用于 OS2.2 之前设备的其他技术。

Cloud to Device Messaging (C2DM) OS2.2+:Android 平台中使用的标准推送通知方法称为 Android Cloud to Device Messaging (C2DM)。该服务提供了一种简单、轻量级的机制,服务器可以使用该机制告诉应用程序直接联系服务器以获取更新的数据。

C2DM 允许向 Android 应用程序发送轻量级消息。消息服务不是为通过消息发送大量用户内容而设计的。相反,它应该用于告诉应用程序服务器上有新警报,以便应用程序可以获取它。

C2DM 限制:

  • 消息大小限制为 1024 字节。
  • Google 限制发件人发送的消息总数,以及发件人发送到特定设备的消息数
  • C2DM 不保证消息的传递或顺序
  • C2DM 要求用户在他们的移动设备上设置他们的 Google 帐户。
  • C2DM 需要运行 Android 2.2 或更高版本且安装了 Market 应用程序的设备

服务器应该是

  • 能够使用 HTTPS 与 C2DM 服务器通信。
  • 能够与我们的客户沟通。
  • 能够向 C2DM 服务器发出 HTTP 请求。
  • 能够根据需要处理请求和排队数据。例如,它应该能够执行指数退避。
  • 能够存储 ClientLogin 身份验证 token 和客户端注册 ID。 ClientLogin Auth token 包含在发送消息的 POST 请求的 header 中。有关此主题的更多讨论,请参阅已安装应用程序的 ClientLogin。服务器应存储 token 并制定定期刷新 token 的策略。

适用于 OS2.2 之前设备的其他技术:

  • 轮询而不是插入
  • 短信
  • 持久的 TCP/IP
  • 第三方产品

轮询而不是推送:Android 应用可以定期轮询服务器以获取来自后台本地服务的新消息。您轮询的次数越多,您就越接近实时推送。

  • 优点:易于实现。
  • Disadv:不是实时的。会耗尽电池电量。

SMS:Android 应用程序可以拦截 android 手机中的短信。因此,如果服务器可以在有通知时发送短信,则 android 应用程序可以接收短信,然后检查新数据在服务器上。

  • 优点:易于实现。完全实时更新。
  • 缺点:这样做的成本很高。

爱立信实验室提供托管服务,最多可发送 2000 条短信。

持久 TCP/IP:Android 应用启动与服务器的长期大部分空闲的 TCP/IP 连接,并通过偶尔发送保持 Activity 消息来维持它。每当服务器上有新内容时,它都会通过 TCP 连接向手机发送消息。

  • 高级:完全实时更新。
  • 缺点:很难在手机端和服务器端实现可靠的服务。众所周知,Android 操作系统能够在内存不足时终止服务,因此我们的通知服务很容易消失。当我们的手机进入休眠状态时会发生什么?想象一下,如果所有应用程序都使用相同的技术。将有大量打开的连接会耗尽电池。

第三方产品

  • Urban Airship Push:最大的缺点是它需要用户在他们的设备上安装 AirMail 应用程序。
  • 执事项目
  • 巩固
  • pushdroid.org

关于没有谷歌帐户的Android云到设备消息传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8269086/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com