Android Push的接收率以及提高Service的存活率

s_wenze 2014-11-03 11:36:39
本人在公司做Android App的推送系统,用的是mqtt。
1、APP完成后1小时内推送接收率是67%,3小时接收率是80%+,产品觉得这个接收率太低,我也不知道其他平台或者首个人写的push接收率是多少,想先问问有相关经验的这个数据是否合理?
2、若要提高的话一般是提高service的存活率,一般的基本设置例如设置开机启动、提高优先级,但是国产深度定制的例如小米开启启动也无效,第三方清理软件也有可能会将其清理掉,怎样才能提高存活率?
...全文
470 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
icyblood198999 2014-11-12
  • 打赏
  • 举报
回复
其实从纯应用角度上考虑,大公司用的技术也差不多,因为android给应用运行的虚拟机环境都是独立的,不太可能通过应用级权限的技术去保全自己,无非是几种无赖做法:多做监听,多做服务,甚至两个服务互相侦测。然后优先级提高,通知栏通知无法取消,并且绑定。甚至部分软件为了他们的应用网络畅通会使用powermanager来点亮屏幕……
budworm 2014-11-12
  • 打赏
  • 举报
回复
引用 10 楼 s715575807 的回复:
[quote=引用 9 楼 u010853225 的回复:] #7楼说的很清楚啦... 1.forground service的优先级最高,应用绑定到通知栏. 2.通过各种广播,事件,手段。不断循环检测并启动service~
嗯,之前也了解过这些,开这个帖子主要是想问问有没有其他方法[/quote] 巨头公司是不是有好的做法,我们也不知道。但大家都蛮关心这类问题的...
s_wenze 2014-11-12
  • 打赏
  • 举报
回复
引用 9 楼 u010853225 的回复:
#7楼说的很清楚啦... 1.forground service的优先级最高,应用绑定到通知栏. 2.通过各种广播,事件,手段。不断循环检测并启动service~
嗯,之前也了解过这些,开这个帖子主要是想问问有没有其他方法
budworm 2014-11-12
  • 打赏
  • 举报
回复
#7楼说的很清楚啦... 1.forground service的优先级最高,应用绑定到通知栏. 2.通过各种广播,事件,手段。不断循环检测并启动service~
freeman0526 2014-11-11
  • 打赏
  • 举报
回复
最近也想研究下mqtt
xnn123 2014-11-04
  • 打赏
  • 举报
回复
我来收分的~哈哈
zdd2389 2014-11-04
  • 打赏
  • 举报
回复
引用 4 楼 s715575807 的回复:
[quote=引用 3 楼 birdsaction 的回复:] 好像一些定制手机是把服务给杀掉了。 1.开机启动Service 2.网络改变时也检测Service是否已经启动 3.把Service搞成独立进程
Service搞成独立进程?这个怎么实现呢,有木有相关资料?[/quote] 昨天正好看到:http://blog.csdn.net/guolin_blog/article/details/9797169
Fiod 2014-11-04
  • 打赏
  • 举报
回复
引用 4 楼 s715575807 的回复:
[quote=引用 3 楼 birdsaction 的回复:] 好像一些定制手机是把服务给杀掉了。 1.开机启动Service 2.网络改变时也检测Service是否已经启动 3.把Service搞成独立进程
Service搞成独立进程?这个怎么实现呢,有木有相关资料?[/quote]
引用 3 楼 birdsaction 的回复:
好像一些定制手机是把服务给杀掉了。 1.开机启动Service 2.网络改变时也检测Service是否已经启动 3.把Service搞成独立进程
同问,设置独立进程我只知道android:process ,但设置以后我IPC会失效,也就是获得的binder对象里的方法或引用会出错
s_wenze 2014-11-04
  • 打赏
  • 举报
回复
引用 3 楼 birdsaction 的回复:
好像一些定制手机是把服务给杀掉了。 1.开机启动Service 2.网络改变时也检测Service是否已经启动 3.把Service搞成独立进程
Service搞成独立进程?这个怎么实现呢,有木有相关资料?
Birds2018 2014-11-04
  • 打赏
  • 举报
回复
好像一些定制手机是把服务给杀掉了。 1.开机启动Service 2.网络改变时也检测Service是否已经启动 3.把Service搞成独立进程
哎,真难 2014-11-04
  • 打赏
  • 举报
回复
这应该需要改到底层,就如你说的小米会自动kill掉service
  • 打赏
  • 举报
回复
这个从Android开始就在讨论,本来就是矛与盾的关系, 应用想要常驻内存, 系统想要尽量减少后台进程。 上面的那些方式都不用试了,凡是你能想到的,系统都会想到。 从Android的设计理念上来看,显示具有最高的优先级,所以forground service的优先级最高,也就是你如果能绑定到通知栏,这样国产rom不管怎么处理也不大敢随便动你。 如果你是后台的,那就不好意思了。 另外一个方面就是多注册recevier,不管什么乱七八糟的消息到了,你都来检测启动下service~ 做成打不死的小强。 不管怎么说,保证百分百接收消息是不可能的, 连腾讯都做不到,你一小应用就更不要想了。

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧