写在前面:
1.app是使用uniapp写的,后台是用java写的;
2.unipush支持很多推送模板,有兴趣了解的朋友可以在 官网 查看,因为要给ios实现推送的话只能使用透传模板,所以要实现给安卓和ios都可以推送的话,要在官网示例的透传模板代码上做些许修改;
3.即便代码和推送通道多么健壮,我相信推送成功率仍然是不可能是100%的,这一点android平台需要尤为重视,unipush提供了短信补全的方案,有需要的朋友可以了解一下:传送门。
4.由于需求不同本帖代码不一定适用所有业务,故本帖只做抛砖引玉,其次笔者时间有限,以下代码仅以实现单个客户端推送为例,如有其它问题请请留言交流,内容若有问题,欢迎大家批评指正。
文中代码可以达到的效果:
1.无论是ios还是安卓app,应用前置时不推送系统通知栏通知,但是可以给打开的app推送不在系统通知栏显示的消息;
2.app一旦处于退出状态、或者app处于进行被销毁状态,都会在系统通知栏进行通知推送。
注:
1.退出app或者app进程销毁后,推送的方案是由unipush的厂商推送方案实现的,所以想要实现离线推送,务必保证unipush平台的厂商推送配置是正确的,这一点根据官网的文档来一般不会有问题,故在此不再做赘述。
1.获取AppID、AppKey、MasterSecret等参数,这一点应该不需要过多赘述了,
2.集成unipush sdk,pom.xml增加如下配置,非maven项目集成方式或更多详情请戳:集成指南-个推文档中心
<dependencies>
<dependency>
<groupId>com.gexin.platform</groupId>
<artifactId>gexin-rp-sdk-http</artifactId>
<version>4.1.0.5</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>getui-nexus</id>
<url>http://mvn.gt.igexin.com/nexus/