Android-浅谈百度推送遇到的坑

背景

说到推送几乎99%的APP都会集成推送功能以此来及时告知客户新资讯,如今推送平台也是琳琅满目,如现今比较火的几个平台极光、信鸽、个推、百度...

过程

用的比较多的也就是极光和百度了,但是在使用百度的过程中总能遇到了一些奇葩问题:

1.推送到达率不高,根据官方文档需要在Manifast文件中加入

Android-浅谈百度推送遇到的坑_第1张图片

可以看出圈起来的四个action声明(广播监听):

MEDIA_MOUNTED 扩展介质被插入而且被挂载

USER_PRESENT 能监听用户进入Home界面

ACTION_POWER_CONNECTED 和 ACTION_POWER_DISCONNECTED 监听手机电量状态(安卓手机电池策略)

做了这么多的监听无非就是想监听用户行为,尽可能让PUSH进程不被后台系统KIll掉,这样的确提高了推送到达率

2.针对小米魅族等手机的特效配置

Android-浅谈百度推送遇到的坑_第2张图片

说真的,这玩意儿看着有模有样的,但是在小米手机上还是有收不到的情况,问了官方客户也是半天没响应,只好硬着头皮继续探索,最后终于找了一个方法:

-小米手机开发者模式下默认开启了一个MIUI优化,当把它关掉的时候推送率是100%可以,但是如果打开的话就很难收到推送

Android-浅谈百度推送遇到的坑_第3张图片


-小米手机上面如果安装了一些百度产品(百度网盘)后也很难接收到推送消息,根据百度技术的解答是因为百度推送使用的是单策略单通道模式(也就是所有的百度推送共用一个PUSH进程),这样一来也就知道推送率低的原因了,但是也不可能把手机上所有百度产品都卸载掉吧!(Ps:不现实,况且也不清楚到底哪些软件集成了百度推送),这要怎么玩呢?So easy!还记得priority(优先级)这个属性吗?只需要在我们自己的APP内设置它的值最大(-1000~1000越大优先级越高)就能完美解决问题啦~

Android-浅谈百度推送遇到的坑_第4张图片

这些也仅仅是开发中遇到的一些小插曲,不能保证其他的手机推送率能够100%,但起码在小米、华为、oppo、魅族手机上经测试是没问题的!不管有没有用,起码记录一下,曾经见到过、尝试过也想学到了很多!!!

后记

在点击状态栏推送的消息时,又发现了一个小问题。点击触发调用Android本机默认浏览器,除了oppo手机无响应外其他手机均是正常,很是费解,但是的确触发了点击事件,就是调用不起浏览器,代码如下:

Android-浅谈百度推送遇到的坑_第5张图片

恳请路过的大神指点一二!!!

新人一枚、初来乍到、不喜勿怪(*^▽^*)


你可能感兴趣的:(Android-浅谈百度推送遇到的坑)