Android 体系有什么对标 APN 的推送吗?

2019-07-29 17:47:38 +08:00
 azh7138m

首先,FCM 并不符合需求

FCM does not process messages if an app is "killed" or force stopped. When a user kills an app it is an indication that the user does not want the app running so that app should not run till the user explicitly starts it again.

https://github.com/firebase/quickstart-android/issues/368#issuecomment-343567506

Starting Jan 2019, FCM will not deliver messages to apps which were put into background restriction by the user

https://firebase.google.com/docs/cloud-messaging/android/receive

看上去是个无解的操作,fcm 似乎只能推消息给被电池优化干掉的 app,并且推送会拉起 app 做处理,仍然非常耗电。

这里有两个问题

  1. 对开发者来说,Android 体系(这里指有 GMS 的手机)内存在类似 APN 的推送手段吗?
  2. 对用户来说,想要更低的耗电下收到提醒,绿色守护捐赠版是不是最佳选择呢?
6197 次点击
所在节点    问与答
17 条回复
yukiww233
2019-07-29 17:58:07 +08:00
1.FCM 在 killed 的情况下可以推送
2.其实国内 mipush 做的最好把,但接入门槛低也带来了垃圾推送较多
Buges
2019-07-29 18:03:15 +08:00
不知道你怎么理解的,我这里 fcm 杀掉也可以推,并且也不怎么耗电,甚至不挂飞机都没问题。
另外,99%的应用**不需要**在被杀掉后继续推送。
fofoone
2019-07-29 18:03:42 +08:00
没有,最有效的办法是给手机厂商交钱,保活,保到达率,当然你日活跃体量不大那就无所谓了。
iPhoneXI
2019-07-29 18:04:21 +08:00
使用 fcm 的真不费电,比如 Twitter,telegram
niubee1
2019-07-29 18:09:31 +08:00
fcm 国内能用啦?
Love4Taylor
2019-07-29 18:12:26 +08:00
FCM 就是.
azh7138m
2019-07-29 18:14:41 +08:00
@yukiww233
1. 杀后台是可以,这个最多算提前了电池优化的触发,issue 里面描述的是 force stop 这种
2. 只考虑 Android 体系的东西


@Buges 见上 1


@fofoone 仅做技术讨论


@iPhoneXI 拉起 app 后非常费电,而且也不能保证电池优化能即时起效,有的 app 还是毒瘤


@niubee1 一直可以用的吧
azh7138m
2019-07-29 18:20:23 +08:00
@Love4Taylor
我用过 APN,app 是不需要活着的,就只是一个单纯的推送,也不会拉起 app,我贴的两个链接里面,何种情况不会收到推送已经说的很清楚了

app 被用户杀掉就会提示
failed to broadcast to stopped app


@Livid 话说,为啥不能添加附言,是问与答的限制吗?
leafleave
2019-07-29 18:21:30 +08:00
iOS 通知也可以拉起应用,不过加了限制只能唤醒 30 秒
TobiahShaw
2019-07-29 18:24:25 +08:00
可以考虑小米 push,非 MIUI 也可用
mohoumk2
2019-07-29 18:31:17 +08:00
我觉得对用户来说,除了通讯类软件…完全没有给推送东西权限的必要,推送的也都是垃圾信息
所以还是直接干掉吧
Buges
2019-07-29 18:41:45 +08:00
@azh7138m 那应该不怪 Android。本来需要收推送的后台应该是“ cached background processe ”状态,不算完全被杀但也不算保活,不耗电。但国内应用你懂的,各种滥用,不得不彻底杀死。
murmur
2019-07-29 18:44:20 +08:00
联盟推送都可以,安卓为了舒服和省电都是要关推送的
codehz
2019-07-29 18:58:41 +08:00
force stop 的话,必须用户手动点,或者辅助功能点击,或者用特权接口才能关闭。。正常情况下应用后台被杀是不会进入这个停止状态的)即使所有进程都被干掉了。。
这个问题的原因是 Force Stop 阻止了任何后台唤醒操作,因此 FCM 也无法拉起应用并显示通知。。。
azh7138m
2019-07-29 19:28:51 +08:00
@codehz
我要怎么介入电池优化,让他即时休眠一个 app 呢?

我感觉哪里都能看到老哥 =。=
Livid
2019-07-29 20:03:03 +08:00
@azh7138m 主题创建 30 分钟之后才能创建附言。
Alozxy
2019-07-29 22:54:27 +08:00
看一下 fcm 的文档就知道,有数据推送和消息推送两种,分高优先级和低优先级。如果是消息推送的话走的是系统通知,不会拉起 app,这种方式很省电。但是如果需要 app 处理收到的数据,自然需要把 app 拉起。但是对国内流氓来说......肯定无脑选择能拉起 app 的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/587250

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX