关于android推送的一些心得

Android推送的现状  

  消息推送功能如今已经成为了app的必备功能,主要是通过推送(push)的方式将app相关的资讯和活动等消息发送给用户,能够有效的在app自身的生态内发挥推广营销的作用,也是维护用户关系、增强用户的重要工具。

  因为Google的push服务器被墙,国内Android的Push是一个混乱的世界。

  android 目前主流的第三方推送服务商主要有以下几家:极光推送,个推推送,Mobpush,友盟推送,腾讯信鸽,百度推送,云巴推送等等。目前极光和个推这这两家已经是占据了大部分到市场份额、产品稳定性,但价格较贵,Mobpush价格是全免费的(包括离线推送)。

  如果只使用三方push,会在很多国产手机上因为节电设置而无法保活push进程,导致无法推送。一些国内的安卓手机厂商各自做了自己的推送,比如华为、小米、OPPO、VIVO、魅族等,还有很多国产手机厂商没有提供官方推送方案。而如果每个安卓手机的官方Push SDK都集成开发一遍,这么多平台,工作量会非常巨大,管理维护也很麻烦。

UniPush使用心得

  公司使用Hbuilder开发App的原因,一直使用的是个推。但只有app启动的时候能收到推送,却无法收到离线通知,但个推对厂商通道要另外收费,增加小公司集成成本。

  UniPush是DCloud联合个推公司推出的集成型统一推送服务。相当于个推vip push产品,免费提供给了DCloud的开发者。

消息类型:

1、推送消息类型:通知消息、透传消息。

 透传消息只负责消息传递,不显示通知,需要客户端创建通知。

2、UniPush通过服务端接口下发推送消息使用厂商通道必须通过“透传消息”类型下发推送消息。

3、UniPush推送服务对透传消息的数据符合以下格式时做了特殊处理,会将透传消息显示到系统通知栏。

{"title": "xxx","content": "xxx","payload": "xxx"}

4、个推 IOS        通知消息,在离线均走APNs通道(苹果官方推送通知服务)。透传消息,在线走透传消息,离线走APNs通道。

      个推Android   透传消息在线走个推通道,离线走厂商通道。

华为厂商通道:

1、客户端调试。其中的token可在华为官网进行消息推送。adb命令请自行查阅

 

执行命令查token:adb logcat | findstr "Assist_"
执行命令查cid:adb logcat | findstr "clientid"

华为客户端常用错误码。https://developer.huawei.com/consumer/cn/doc/help/100604

问题:华为官网推送可以成功,但uni官网离线推送不走华为推送通道

可能的原因:这个问题我找了很久,后来打包时把android的targerSdkVersion改成26就解决了。(华为上架也要求targetSdkVersion26以上)

2、服务端注意点:

intent:#Intent;action=android.intent.action.oppopush;launchFlags=0x14000000;component=io.dcloud.HBuilder/io.dcloud.PandoraEntry;S.UP-OL-SU=true;S.title=测试标题;S.content=测试内容;S.payload=test;end
io.dcloud.HBuilder改成自己的包名。

代码中透传模板需与设置intent绑定。
template.set3rdNotifyInfo(noti);

Unipush使用指南:https://ask.dcloud.net.cn/article/35622 

 

  

猜你喜欢

转载自www.cnblogs.com/liangtao999/p/12381662.html