目前融云已经有了鸿蒙SDK(截至目前版本1.3.3),个人在使用过程中还是遇到不少的坑,这篇文章分享一下鸿蒙初始化融云的基本步骤,附源码分享。
1、首先进行一个初始化,(监听融云消息那块是我的业务层逻辑,可以忽略)。我这里是做了一个不同环境用不同appkey的判断,初始化成功过后注册自定义消息。(自定义消息一定是在初始化之后注册,没有注册的自定义消息并不会影响接收功能,但是会导致无法正常编译,自定义消息内容会自动编译进rawString字段中。)
这里融云SDK有个严重BUG!!,融云初始化时,当消息扩展字段的数据类型不为字符串且不为undefined,会编译失败,导致阻碍后续的消息接收(拉取不到消息,promise没有任何返回和报错),甚至接收不到当前的这条消息。如果没有这个消息扩展的数据则不会影响正常使用。
这是一个案例例子,跟融云官方沟通过后,官方给了一个特供的SDK给我(通过测试目前bug已经修复),有需要可以找我拿。融云官方目前计划是在今年的2月底会在官网迭代一个新的SDK,也可以等待一段时间。
2、初始化成功之后再用token链接融云,这一步没啥特别需要注意的点
3、之后就是正常的拉取会话、拉取消息、发送普通消息,发送自定义消息和断开链接。其中在会话中拉取消息我还是推荐先去拉本地的,再拉远端(虽然融云文档上标注了可以只拉远端,也可以只拉本地,但是我们作为一个对代码有追求的码农还是得追求卓越!!)。其它的一些地方就很easy了,废话不多说,直接上图:
拉取会话:
拉取消息:
本地
远端:
发送自定义消息:
发送文本消息:
断开链接:
4:总结一下整体流程还是比较清晰的,中间没有什么难点(除了很多融云自定义的interface没有在文档上体现,导致我才开始写的时候一脸懵逼以外其它没有难点)。一些逻辑代码我没有贴上去,如果有需要或者有问题都可以找我咨询,技术就是相互探讨中进步的!