首页 > 解决方案 > GCM/FCM 替代方案如何在内部工作以克服操作系统挑战

问题描述

对于没有 Google Play 服务的设备,有几个选项可以接收推送通知。这些选项可以是中国的百度、Pushy、Facebook 自己的推送通知等。

但我无法理解如何克服这两个主要问题:

  1. 由于我们无法在设备级别拥有某种“SDK”,例如 Google Play 服务,我们唯一的选择是将其集成到应用级别。这意味着,我们不能像 GCM 那样对所有应用程序都有一个到推送服务器的套接字连接。相反,我们需要与安装的应用程序数量一样多的套接字连接。
  2. 即使我们密切关注第 1 个问题,为了使该连接能够在 Doze 和 App Standby 中存活,我们也必须在前台服务中处理它们,这是即使在杀死应用程序后也能保证其运行的唯一方法,或者当设备进入打盹状态。但是为什么我们在中国手机的通知栏中看不到前台服务的通知,或者使用Pushy的应用程序?他们只是定期轮询推送服务器吗?使用 AlarmManager(用 setAndAllowWhileIdle 标记)和 BroadcastReceiver ?这将过于耗费资源且效率低下。

标签: androidpush-notification

解决方案


推荐阅读