BAT格局之外的养猪大厂,是一个神奇的地方。像是一个被游戏耽误的CG公司,又像一个被CG耽误的云技术提供公司,表面上平平淡淡毫无亮点,背地里养猪发育造福一方。以上都是纯属个人吹水…
由于公司业务拓展,需要快速上线一款聊天类App供内部使用,团队综合考虑后决定使用网易云信,以下是开发中遇到的一些光怪陆离之事…
网易云信整体来说还是很不错的,基本的功能都有了,还提供一些关系字段供开发者自行拓展业务。还集成了国内厂商推送通道(华为和小米等)…不过新版本的限制,部分机型确实收不到推送,比如华为P10,这是在华为论坛找到的帖子:
https://club.huawei.com/forum.php?mod=viewthread&tid=12533205
使用第三方SDK,一般都要去熟悉他们定义的API,现在说说其中踩的一个坑,获取用户信息,当然网易云信提供了
NimUserInfo 这个对象供开发者使用,但是如果开发过程中不注意,直接调用NimUIKit.getUserInfoProvider().getUserInfo(account)
,会有可能返回为空对象,但是这个用户又是真实存在的,出现这种情况也是基本很少见,这里还要感谢一下我们的测试同学,情景还原如下:
用户A登录成功并加载完成初始化数据,然后用户B创建角色登录,这时候用户A调用以上方法是找不到用户B的,因为该方法是直接获取用户A初始化数据的缓存,所以要留意API提供的大部分方法,出了问题复现出来就能从流程上的蛛丝马迹找到类:IUserInfoProvider,里面提供了同步获取(T getUserInfo(String account);
)和异步获取(void getUserInfoAsync(String account, SimpleCallback<T> callback)
)的方法,还有集合的调用方法哦,很方便。
本人使用的是5.6.0版本,这里吐槽一下,这个版本中英文适配做的比较差,有部分直接中文写死在了代码块里,真是让我好找,测试中英翻译是走了好几遍流程,测试那边反馈了一次又一次,真的浪费了不少开发成本,希望以后的版本能做下优化吧~
有时间会持续更新和网易云信一些不得不说的故事,不喜勿喷,谢谢~