Android 推送通知还是服务?

use*_*550 3 android push-notification

我有一个在 iPhone 和 Android 设备上运行的应用程序。我还有一个在客户端之间传输文件和其他数据的服务器。现在,我的问题是关于 Android 客户端的。

目前,我有一个在后台运行并处理与服务器之间的输出和输入的服务,每当从服务器收到新数据时,客户端都会向用户发出通知。

因此,如果用户进入他的设备设置并强制关闭应用程序,服务将停止运行并且不会收到数据(服务器的套接字将关闭,服务器不会向他发送任何数据,并且将将其存储在数据库中,以便用户下次启动应用程序并连接时使用)。

这是一种方法,但另一种方法是推送通知,即使包括服务在内的整个应用程序关闭,它也会启动通知。但缺点是,在我看来,我需要在我的应用程序中使用第三方组件,这增加了复杂性。

我需要帮助来决定是否使用推送通知,此外,此功能在其他 Android 应用程序中有多常见?

Bud*_*ius 5

据我了解,您有一个服务始终运行,并且套接字连接始终连接到您的服务器。这是巨大的电池消耗,并且可能已经给您的应用程序带来了很多不必要的复杂化。

您所说的第 3 方组件是 Google Play 服务,它是由创建 Android 操作系统的同一个人(即 Google)开发和维护的。

您所说的“额外的复杂性”是添加一些权限和一个BroadcastReceiverAndroidManifest.xml在 GCM Web 面板上注册您的应用程序。详细信息请参见https://developer.android.com/google/gcm/client.html

在很多应用程序中,这是非常非常非常非常常见的事情。Facebook、Facebook Messenger、Gmail、带有恶劣天气通知的天气应用程序、WhatsApp、Skype、Twitter,几乎所有带有“最新消息”部分的应用程序、Foursquare。它们都使用推送通知。

因此,以非常直接的方式回答这个问题:

  • 你绝对应该使用推送通知。