Google 致力于为黑人社区推动种族平等。查看具体举措

优化服务器发起的网络使用行为

服务器程序向您的应用发送的网络流量可能很难进行优化。解决此问题的方法是让应用定期轮询服务器以检查更新。当您的应用启动设备的无线装置时,如果只收到一条回复,告知没有新数据可用,此方法可能会浪费网络连接和电源。一种效率更高的方法是让服务器在有新数据时通知您的应用,但是在以前,要查明如何从服务器向多达数千台设备发送通知并非易事。

为了解决这一通信问题,Google 云消息传递 (GCM) 服务允许您的服务器向安装于任何位置的应用实例发送通知,从而提高了网络效率,并降低了耗电量。

本节课将指导您如何应用 GCM 服务以减少针对服务器发起的操作的网络使用并减少电池消耗。

使用 GCM 发送服务器更新

Google 云消息传递 (GCM) 是一种轻量级机制,用于将简短消息从应用服务器传输到您的应用。借助 GCM,您的应用服务器会使用消息传递机制通知您的应用有新数据可用。此方法在没有可用数据的情况下不会与后端服务器通信以获取新数据,从而消除了应用产生的网络流量。

例如,一个应用在列出会议上的扬声器会话时可使用 GCM。服务器上的会话出现更新时,服务器会向您的应用发送一条简短消息,告知其有更新可用。然后,您的应用只有在服务器具有新数据时才会与服务器通信以更新设备上的会话。

比起让应用轮询服务器上的更改,GCM 的效率更高。GCM 服务消除了轮询后不返回任何更新时的不必要连接,并避免因为运行定期网络请求而导致设备的无线装置开启。由于许多应用都可以使用 GCM,因此在应用中使用 GCM 会减少设备上所需的网络连接总数,让设备无线装置更多地处于休眠状态。

要详细了解 GCM 以及如何为应用实施 GCM,请参阅 Google 云消息传递

注意:使用 GCM 时,您的应用可以传递处于普通或高优先级的消息。 您的服务器通常应使用普通优先级来传递消息。使用此优先级可防止设备在不活动时以及处于低电耗模式状态时被唤醒。仅在绝对必要时才应使用高优先级消息。