General FAQ

1. 1. 如何处理信息托管

A:野火IM提供了群组托管/用户信息托管/好友关系托管。对这3种信息采用不同的处理方式

  1. 群组托管必须使用野火IM的。
  2. 用户信息托管是可选的。当选择野火IM托管时,客户可以使用服务API向野火IM同步用户信息(用户信息会自动同步到客户端)。当不托管时,可以在客户端实现UserSource,满足我们声明的接口(协议)后,IMUIKIT可以正常使用。
  3. 好友关系托管可选。当选择好友关系托管时,好友关系建议仅使用野火IM的,不建议使用同步方案。当不托管时,客户需要自己来实现好友关系的相关UI。野火IM的消息发送不依赖于好友关系。由于好友关系相对独立,因此比较容易解决UI问题。建议客户自己来处理好友关系。

2. 2. 为什么删除了好友关系还能发送消息

A:野火IM发送消息时不对用户关系进行判断,只有有对方ID就可以发送(黑名单除外),因此陌生人或者删除好友都可以继续发送消息。如果需要控制,请在应用层进行控制。

3. 3. 为啥发送好友请求后不能再次发送好友请求

A:为了防止稍扰,野火IM对好友请求做了以下规定

  1. 如果以前没有发送过好友请求,可以发送好友请求。
  2. 如果以前发送过好友请求,对方已经接受了,可以再次发送请求。
  3. 如果以前发送过好友请求,对方没有处理,在7天内会报错已经发送过,7天之后可以再次发送。
  4. 如果以前发送过好友请求,对方拒绝,在30天内再次发送会报错已经被拒绝,30天之后可以再次发送。

4. 4. 用户信息的更新策略(用户的头像更新了,为什么我这一端还显示旧头像?)

A:用户信息不是强同步的(强同步的有消息,好友列表,各种设置),因为要实现用户信息强同步需要付出非常大的代价,因此一般是不自动更新用户信息,只有在特定的情况下才去更新。野火IM在与某用户单聊时会强制更新一下该用户的用户信息,还有在该用户的个人详情页面也会更新,基本与微信/QQ逻辑一致。如果客户需要在特定的界面更新,可以自己修改对应的客户端的源码,获取用户信息时强制更新即可。

5. 5. 消息无法删除问题(为什么消息无法删除,我重新安装应用,或者清除会话后再进入会话,被删除的消息就又出来了?)

A: 野火IM的社区版在2019.8.9号之前的版本有这个问题,请更新到这个日期之后的版本,然后配置文件中找到message.roamingmessage.remote_history_message,都配置为0,关掉这两个功能后,被删除掉的消息就不会再出现,这时消息行为就和微信一致。

6. 6. 我创建的群组,在联系人/群组界面,怎看不到?

A: 和微信逻辑一致,需要将群组保存到通讯录,才能在联系人/群组界面看到。

7. 7. 为了业务的需要,我们需要修改协议怎么办?

A: 为了保证专业版和社区版协议一致性,我们不对外提供协议修改能力。正常情况下把IM作为一个管道用,业务要跟IM解耦,不能把业务的东西加到IM中。如果是IM方面的扩展,可以给我们提需求。合理通用的需求我们都会满足,在社区版和专业版上都加上。另外我们很多实体都带有extra字段,保留给客户扩展使用,注意extra字段使用时要使用json格式,保留未来继续扩展的可能性。

8. 8. 连接状态码有什么需要注意的吗?

A: 对于特殊的几种状态码一定要处理,不然容易出严重问题。对于kConnectionStatusRejected,表明当前用户已经被禁止登录。需要跳出到登录界面;对于kConnectionStatusTokenIncorrectkConnectionStatusSecretKeyMismatchkConnectionStatusLogout,需要重新获取token,重新调用connect,也可以直接跳到登录界面让用户重新登录。出现的问题原因多种多样,一个常见的问题就是切换过服务器,客户端跟服务器密钥不匹配,另外常见于安卓,保存的token损坏等。

9. 9. 为什么有些端上有时显示不了用户名,只显示id?

A: 野火IM各个端取用户信息都是异步的接口,当有内容要显示时,比如新来一条信息,UI层会从本地数据库取该用户信息,有可能该用户信息在本地不存在,那么UI界面上由于没有取到该用户信息,就会显示用户的id,从数据库没有读取到用户信息会触发从服务器获取用户信息操作。当获取用户信息成功以后,会发送通知。UI层应该监听该通知,当收到通知时,刷新UI界面。

另外也有用户有疑问,为什么用户更新了头像,本地还是旧的头像。因为实时同步到所有的端的代价特别大,所以参考微信的机制,只有在部分界面强制刷新用户信息(比如在进入到该用户的对话界面,进入到该用户的详情界面),其他时间都只使用本地的缓存。强制刷新用户信息的办法是在获取用户信息的参数中传强制刷新参数为true。

其他信息比如群组信息等机制类似于用户信息。

2018 © wildfirechat.cn 京ICP备18060403号-1 all right reserved,powered by Gitbook该文件修订时间: 2019-11-02 09:23:36

results matching ""

    No results matching ""