环信离线推送是封装了厂商的字段,可以理解成第三方推送,最终消息是环信把消息交给厂商投递的,最终下发是由厂商来下发。
push推送和im推送的区别
push推送是从环信服务器直接进行下发 支持在线push和离线push也是投递给厂商,由厂商下发
在线push集成:Android 推送集成 [IM 开发文档]
在线push是由CMD消息(透传)组成 只支持在线收到推送
离线push按照第三方集成文档:Android 第三方推送设置 | 环信 IM 文档
im推送是客户端两个设备互发消息并不是从环信服务器直接下发此消息
im推送的在线推送是sdk封装的本地通知在EaseNotifier类
测试离线推送不要将app退出登陆(l调用logout),是将进程kill
退出登陆后(logout)一定要调用解绑DeviceToken logout方法中提供的第一个参数值为true即可 ,避免更换设备后收到两个推送,导致一个账号绑定多个证书的原因
所以集成离线需要注意的事项:
1.初始化注意事项
参考文档中提供的案例
这部分操作时在环信初始化的时候来进行的
注意:
1.EMoptions 一定不要重复创建对象 如果重复创建,是不会出现对象重复的报错,因此会导致初始化的时候绑定不上证书 ,所以这块要特别注意
2.FCM推送需要注意事项
(1)FCM推送上传旧版证书目前不支持v1 所以特别注意上传这块
(2)options.enableFCM("") 参数值就是在环信管理后台上传的SenderID
(3) 如果在接收推送的时候没有出现通知,可以检查下 是否已经在EMFCMMSGService中自己写入了本地通知,环信只为FCM做了一个唤醒需要您自己做本地通知进行展示,如果没有看到通知 但是接收方是有唤醒的,也视为成功,自己评判不准确可以提供接收方的日志提供给环信技术支持查看下
3.华为推送注意事项
- (1)华为的通知在app未上架之前的通知级别默认是不重要通知(运营通知) 只有上线以后才可以自己定义界别 其次可能是因为推送的标题的限制直接到不重要通知中,
- (2)支持自定义铃声 华为设备必须安装2.6+以上华为移动服务 还需要开启当前app的启动权限
(3)清单文件中声明appid <meta-data android:name="com.huawei.hms.client.appid" android:value="appid=10492024" />
在application标签中写入
(4)证书上传在管理后台要上传 OAuth2.0客户端 中Client Secret 起首为小写的密钥
(5)华为厂商集成 需要 导入agconnect-services.json文件 以及 环信封装好的类导入到项目中(HMSPushHelper) 需要在初始化以后 在Mainactivty的onCreate中 引用 HMSPushHelper.getInstance().getHMSToken(this);
1.
HMSPushHelper在环信demo中有提供直接将此类拖入到您的项目中即可使用
2.
(6)华为推送的通知进入到营销通知 去华为官网按照这个看下自动类权益设置一下
4.OPPO推送注意事项
(1)OPPO集成的时候 上传证书环信管理后台上传的是MasterSecret 而客户端(AS初始化)上绑定的是AppSecret
1.环信管理后台截图
2. oppo官网Master位置截图
oppo官方链接: 【推送服务】OPPO PUSH 客户端SDK接口文档(2.1.0版本) - 移动服务 - 开发者社区
3.客户端绑定证书是Appsecret 调用 enableOppoPush("appkey","appSecret");
(2) SDK 3.7.1-升3.9.0级到 2.1.0 版本初始化添加(HeytapPushManager.init(context,true)), 如果OPPO aar版本为 3.0.0 环信sdk需要升级大于或等于3.9.1 OPPO的通知也会归纳到不重要级别 具体配置需要在OPPO控制台进行自己配置
(样例图中展示SDK是3.8.5 所以使用的oppo2.1.0.aar)
5.VIVO集成注意事项
(1)VIVO 集成 3.9.1或以上需要升级推送版本到3.0.0.4_484,vivo默认是推送是运营消息 重新上传证书需要重新配置,jar包需要放在libs幕布下并sync
(2)vivo需要上架app后才能收到离线推送
6.字段
im推送中
(1) em_push_name 和 em_push_title是平级 用一个即可
(2)f、t、m、g、e这些仅供im推送使用,push推送不能使用 push在解析如果发送方发的是content 那么 就get("content")发送方发的什么参数就get什么参数并不是简写
(3)oppo、华为、魅族 推送是在初始页(欢迎页)来进行解析字段的