同步作业之间的好时机是什么



在发现WhatsApp可能每秒更新通知后,我开始想知道电池寿命和通过通知让用户保持最新状态的最佳组合是什么。

我现在工作的公司真的很害怕吸电池寿命。因此,他们希望最快的同步速度在四分之一左右。与此同时,WhatsApp每秒更新一次。那么我们公司做的事情是正确的吗?或者我们可以像WhatsApp一样每秒检查新的更新,因为它不会消耗那么长的电池寿命吗?

这种广泛的网络使用对于电池甚至数据使用来说肯定会非常昂贵。如果您需要在应用中频繁更新数据,在大多数情况下,每 1(2 甚至 5)秒发送一次 HTTP 请求是一种不好的做法。

接收和更新任何类型的通知(无论是Android系统通知还是应用内的某些通知徽章)的一个好方法是使用Google Cloud Messaging。您必须在服务器端和客户端实现它。您需要在 Google 开发者控制台中注册应用包名称并检索 API 密钥。执行此操作后,您的应用将能够接收来自 GCM 服务器的推送通知。接收推送通知的流程如下所示:

  • 您使用提供的SDK将当前设备注册到GCM系统,它会生成当前设备的GCM唯一标识符
  • 将此密钥上传到服务器(如果应用体系结构中有用户配置文件,最好将其存储在当前用户配置文件中)
  • 一旦服务器上发生了重要的事情,例如,用户收到新的未读消息,您的服务器就会从用户配置文件中获取GCM唯一标识符,并向GCM服务器发送通知
  • GCM 服务器使用此标识符将此数据发送到用户的设备,并将通知传递给您的BroadcastReciever实现。之后,由你决定如何处理这些数据:创建系统通知或/并使用此信息更新应用的 UI。

这只是对Google云消息传递如何工作的概述,有大量关于如何设置它并将其实施到您的项目中的文章,例如,这篇文章。此解决方案可能看起来比每秒发送HTTP请求要复杂得多,但是您的潜在用户将感谢节省的电池和数据限制。

此外,如果您想制作 Android 系统通知,您可能需要使用 Parse 库,它包装了 GCM 并使实现更容易一些。

最新更新