push1.0和2.0对比
个人理解,2.0比1.0升级之处在于:1.支持全端推送,小程序和h5端 ;2.不再使用后端集成个推那些api了,换句话说也就是解放了后端,活都前端来干,只需要将云函数url化,给后端这个url就行;3.还是要集成各大厂商的SDK,这点和1.0一模一样,绕不过的,4.就是要调用云函数,要收费,虽然很便宜,但是要再买一个云服务器,有点扯 1.0免费,2.0需要购买云空间 unipush2支持 web/小程序 推送,1.0仅支持app。 参考链接:blog.csdn.net/qq_44737915…
unipush通知
参考链接:www.jianshu.com/p/ff764f751… blog.csdn.net/duan_mu_lia… blog.csdn.net/yehaocheng5… dandelioncloud.cn/article/det…
开通离线推送:
开通离线推送需要接入厂商,有些平台需要上架应用后,才可以接入。由于项目是不允许上线应用市场的,所以无法接入厂商发离线推送。
以下三个是确定必须得上架才可以接入的:
小米推送的应用信息需要应用上线后,才能获取。
OPPO推送的应用信息需要应用上线后,才能获取。
VIVO推送的应用信息需要应用上线后,才能获取。
当APP在线时,走个推通道;APP离线时,走厂商推送
安卓离线消息推送是需要配置各大厂商,IOS离线不需要
厂商接入,参考:blog.csdn.net/qq_55460954…
流程:
1)cid(第一次打开应用cid可能拿不到。等一会儿或者杀掉应用再打开应该就可以了)
● 手机启动APP
● 获取手机cid标识
● 登录成功后将cid发送给服务端
● 服务端保存cid并与用户关联
● 退出登录取消cid与用户的关联
2)服务端推送消息
● 服务端根据业务找到需要推消息的用户
● 将消息以透传或通知消息发出
● 客户端收到提示
3)客户端接收消息(以透传消息为例)
● 客户端弹出消息
● 点击消息
● 拉起APP
● 根据透传逻辑处理(正常是打开某个对应的页面)
#手机权限配置:
(1)网络连接(必选)
<uses-permission android:name="android.permission.INTERNET”/>
(2)获取手机状态参数,并作为生成个推唯一标识的必要参数(必选)
<uses-permission android:name="android.permission.READ_PHONE_STATE”/>
(3)查看网络状态,sdk重连机制等需要使用(必选)
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE”/>
(4)查看wifi连接状态(必选)
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE”/>
(5)开机自启动权限,提升sdk活跃,保障触达(必选)
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED”/>
(6)写sd卡权限,做数据备份(必选)
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE”/>
(7)震动权限(使用通知功能必选)
<uses-permission android:name="android.permission.VIBRATE”/>
(8)获取任务信息,目的是防止sdk被频繁唤醒(必选)
<uses-permission android:name="android.permission.GET_TASKS”/>
#发送测试通知:
通知消息:
透传消息:(json)
通知次数限制:
就目前所知,vivo 一个设备一天只能收到5条离线消息,其他推测是没有次数限制。
为什么收不到消息的离线推送?
只有打了正式包才可以收到离线推送,打自定义基座不行(华为是可以在自定义基座的情况下实现离线推送的)
app放在后台,不杀死的情况下接收不到通知?
app在后台的时候手机为了省电,限制了app的运行。 需要自己去设置-》 华为设置方法:设置-〉应用和服务-〉应用管理-〉点击应用-〉耗电详情-〉启动管理 改成 “允许后台活动”,这样应用在后台的时候也可以接收到消息了。 如果设置“允许自启动”,则即使后台app列表没有该应用,其实也是可以收到消息的。 以上是华为的设置方式,其它手机也有类似设置需要自己找一下
不开通离线推送实现类似推送的方式:
华为设置方法:设置-〉应用和服务-〉应用管理-〉点击应用-〉耗电详情-〉启动管理 设置“允许自启动”,则即使后台app列表没有该应用,其实也是可以收到消息的。 开启了允许自启动就可以实现像离线推送一样的效果,但是会费电呦。 我们的项目是内部项目,不能上架应用市场,所以没做离线通知。建议大家还是使用离线通知。