客户端获取后台同步过来的用户信息getUserInfo,获取不到

东邪西毒 1月前 50

1.后台导入我们自己的用户进入野火im的数据库

2.后台调用api更新这一批用户的信息

3.客户端从后台(非野火)获取通讯录信息(非好友)

4.客户端调用野火api(getUserInfo)获取用户信息,首次获取必返回空

经过多次测试,安卓和iOS第一次拿数据库同步过来的用户信息都获取不到

iOS日志如下:

**2020-08-17 15:35:53.283078+0800 协同办公[32594:6514257] [E][mars::proto][MessageDB.cc, getUserInfo, 4281][get user info refresh 3b91615db5d641509bdd932bd9305173, 0,ver:1**

**2020-08-17 15:35:53.283162+0800 协同办公[32594:6514405] [I][mars::stn][net_core.cc, operator, 310][task start long short taskid:11, cmdid:11, need_authed:true, cgi:/im, channel_select:3, limit_flow:false, host:node1.im.datalk.biz, send_only:false, cmdid:11, server_process_cost:-1, retrycount:-1,  channel_strategy:1,  total_timetout:-1, network_status_sensitive:false, priority:3, report_arg:**

**2020-08-17 15:35:53.283646+0800 协同办公[32594:6514405] [I][mars::stn][net_core.cc, operator, 319][long link task count:0,**

最新回复 (5)
  • x86 1月前
    引用 2
    可以使用带callback的getUserInfo函数。

    Android端是这个:
    ```
    public void getUserInfo(String userId, boolean refresh, GetUserInfoCallback callback) 
    ```
  • 东邪西毒 1月前
    引用 3
    x86 可以使用带callback的getUserInfo函数。 Android端是这个: ``` public void getUserInfo(String userId, boolean re ...
    请问为啥首次获取必然是空的,是数据同步出了问题么?
  • 东邪西毒 1月前
    引用 4
    x86 可以使用带callback的getUserInfo函数。 Android端是这个: ``` public void getUserInfo(String userId, boolean re ...
    还是缓存的问题?
  • x86 1月前
    引用 5
    有两个getUserInfo函数,一个带callback,一个不带;不带callback的会先返回本地数据,如果本地没有数据的话,直接返回空,然后去服务端拉取收取,拉取成功之后,会有通知(onUserInfoUpdate);带callback的,会通过callback返回
  • 东邪西毒 1月前
    引用 6
    x86 有两个getUserInfo函数,一个带callback,一个不带;不带callback的会先返回本地数据,如果本地没有数据的话,直接返回空,然后去服务端拉取收取,拉取成功之后,会有通知(onUser ...
    好的,感谢
返回