乐趣区

关于sdk:融云集成之避坑指南Android推送篇

在集成推送时候,须要先理解融云针对推送的定义:Push 告诉是当接管方的主过程被杀死或者回收,或者您被动调用 disconnect() 的操作,导致 IM 长连贯通道与服务器断开后。在这种状况下,会收到 Push 服务;

说白了,就是利用过程被杀掉,才会收到 push 的,否则的话,是会走融云外部的长链接通道的;若是连利用过程都不理解的话,我要拿起我四十米的大刀了。

好了,前提介绍完结,接下来,咱们正式开始避坑。

融云的推送分为俩大类:RongPush 以及其余厂商推送;至于为什么会有厂商推送,次要书因为众说周知的起因,各个手机厂商针对零碎的 room 太深,导致融云的 push 过程服务无奈自启动以及无奈常存与服务后盾,所以为了满足离线时候,push 的达到率,所以接入了支流的厂商推送服务,至于你说,为什么不接入对立_推送联盟_,预计等推送联盟孵化进去,可能得等到 2045 年了;哈哈,预计我再不开始介绍接入,大家就要发飙了。

各位客官,稍安勿躁,马上开始。本篇咱们先介绍厂商推送之华为推送过程中遇到的坑;

首先,依照融云官网的形容,融云 SDK 目前是有俩个版本,2.x 版本的 SDK 以及 4.x 版本的 SDK,别离对应的是华为的 2.x 的 jar 以及 4.x 的 jar,能够别离参考 2.x 版本 以及 4.x 版本,依照文档进行集成即可,具体集成过程依照文档集成即可,此处无需多说;

接下来,先介绍我在集成 2.x 版本时候遇到的问题:

1. 呈现的问题一,没有填写对应的利用标识;(此处是我的锅,没有粗疏的看文档);

依照融云文档的形容, 此处要填写对应的华为的 appkey 等数据的,而愚昧的我居然没有填写对应的 AppIDAppSecret,心愿各位 大大在集成过程中不要跟我一样犯傻;

2. 呈现的问题二,依照文档配置实现了,后果,还是收不到推送,不会进行排查;

仿佛这个问题,很多小伙伴都遇到了,所以,我在融云知识库中找到了一篇官网提供的排查伎俩,仅供大家参考 https://support.rongcloud.cn/ks/ODg0,若是大家还是搞不定,能够间接找融云进行技术支持的;

以上是在集成 2.x 版本时候遇到的问题,不算特地艰难,也是比拟轻松的解决了;

然而,事件万万没有想到的那么简略,工夫过来一个月,我的项目要降级 4.x 的融云 SDK,于是,华为推送也要进行对应的降级,于是我开开心心筹备认真顾问一下 4.x 文档,还好,文档比较简单;

于是,对应的问题,也呈现了:

问题 1:在降级过程中,并没有找见 agconnect-servics.json 文件的下载地址。

通过与融云技术人员的沟通,在华为提供 5.0 版本的推送服务之后,agconnect-servics.json 下载地位扭转了,所以我将我晓得的下载门路提供给大家,在华为开发者平台 - 我的我的项目中 - 对应的我的项目下载即可。

问题 2: 因为我是从 2.x 降级到 4.x 的,所以,眼瞎的我没有看清楚文档中 AndroidMainfest 中的配置是要删除的,所以导致找不到文件了,所以请大家肯定要看清楚题目,是删除配置,不是增加配置;

问题 3: 在 EMUI 10 以上 是能够收到推送的,然而在 EMUI 10 以下,收不到推送。

这个问题通过与融云技术人员以及华为技术人员的沟通能够确定,因为华为不再持续保护 2.0 推送服务,改推 4.0 以上的服务,然而 4.0 的推送服务,又对 HMSCore 是由要求的,所以只能降级用户的 HMSCore 服务,不过融云对外提供了降级监听,具体能够参考融云文档。

退出移动版