用户信息管理
最近更新:2021-12-15
展开全部

用户信息管理

概述

  • 开发者应用的用户,通过username / password 注册到 JMessage后,SDK 侧可以发起注册,服务器端也可发起批量注册。
  • 用户登录 App,也同时登录 JMessage。登录后可以向其他 username 发聊天消息,也可以收到来自其他 username 或者群组的消息。
  • 用户 A 是否有权限向用户 B 发消息,需由开发者的App 自己控制。
  • 开发者可选择将用户头像等用户信息同步更新到 JMessage。

获取用户信息

异步从后台获取用户信息,此接口可用来获取不同appkey下用户的信息,如果appKey为空,则默认获取当前appkey下的用户信息。

JMessageClient.getUserInfo(String username, String appKey, GetUserInfoCallback callback);
          JMessageClient.getUserInfo(String username, String appKey, GetUserInfoCallback callback);

        
此代码块在浮窗中显示

参数说明

  • String username 用户名
  • String appKey 指定的appKey
  • GetUserInfoCallback callback 结果回调

获取当前登录账号的用户信息

此接口会直接从本地返回当前已经登录的用户的信息。

JMessageClient.getMyInfo();
          JMessageClient.getMyInfo();

        
此代码块在浮窗中显示

参数说明

返回

  • UserInfo 当前登录用户的用户信息。

更新用户信息

更新当前已登录用户的用户信息

JMessageClient.updateMyInfo(UserInfo.Field updateField, UserInfo info, BasicCallback callback);
          JMessageClient.updateMyInfo(UserInfo.Field updateField, UserInfo info, BasicCallback callback);

        
此代码块在浮窗中显示

参数说明

  • UserInfo.Field updateField 枚举类型,表示需要更新的用户信息字段。包括:

    - nickname 昵称 - birthday 生日 - signature 签名 - gender 性别 - region 地区 - address 地址 - all 以上全部
              - nickname 昵称
    - birthday 生日
    - signature 签名
    - gender 性别
    - region 地区
    - address 地址
    - all 以上全部
    
            
    此代码块在浮窗中显示
  • UserInfo userInfo 待更新的用户信息(对象)。SDK将根据field参数来判断需要将哪个属性更新到服务器上去。

  • BasicCallback callback 结果回调

更新用户密码

更新当前已登录用户的密码

JMessageClient.updateUserPassword(String oldPassword, String newPassword, BasicCallback callback);
          JMessageClient.updateUserPassword(String oldPassword, String newPassword, BasicCallback callback);

        
此代码块在浮窗中显示

参数说明

  • String oldPassword 更新前密码
  • String newPassword 更新后密码
  • BasicCallback callback 结果回调

更新用户头像

更新当前已登录用户的头像

JMessageClient.updateUserAvatar(File avatar, BasicCallback callback);
          JMessageClient.updateUserAvatar(File avatar, BasicCallback callback);

        
此代码块在浮窗中显示

参数说明

  • File avatar 用户头像文件
  • BasicCallback callback 结果回调

黑名单管理

可以将对方用户加入到“黑名单”列表中,加入之后,我方依然能给对方发消息,但是对方给我发消息时会返回指定错误码,发送消息失败。

将用户加入黑名单

JMessageClient.addUsersToBlacklist(List<String> usernames, BasicCallback callback)
          JMessageClient.addUsersToBlacklist(List<String> usernames, BasicCallback callback)

        
此代码块在浮窗中显示

参数说明

  • List usernames 被加入黑名单的用户username列表
  • BasicCallback callback 回调接口

将用户移出黑名单

JMessageClient.delUsersFromBlacklist(List<String> usernames, BasicCallback callback)
          JMessageClient.delUsersFromBlacklist(List<String> usernames, BasicCallback callback)

        
此代码块在浮窗中显示

参数说明

  • List usernames 被移出黑名单的用户username列表
  • BasicCallback callback 回调接口

获取被当前用户加入黑名单的用户列表

JMessageClient.getBlacklist(GetBlacklistCallback callback)
          JMessageClient.getBlacklist(GetBlacklistCallback callback)

        
此代码块在浮窗中显示

参数说明

  • GetBlacklistCallback 获取黑名单回调接口

回调

public abstract void gotResult(int responseCode, String responseMessage, List<UserInfo> userInfos);
            public abstract void gotResult(int responseCode,
    String responseMessage, List<UserInfo> userInfos);

        
此代码块在浮窗中显示
  • List<UserInfo> userInfos 被拉入黑名单的用户的UserInfo

通知栏管理

设置通知展示类型

JMessageClient.setNotificationFlag(int flag);
          JMessageClient.setNotificationFlag(int flag);

        
此代码块在浮窗中显示

参数说明

获取通知栏展示类型

Since 2.2.0

JMessageClient.getNotificationFlag();
          JMessageClient.getNotificationFlag();

        
此代码块在浮窗中显示

返回

  • int 当前设置的通知栏的展示类型。

通知栏点击事件监听

用户可以通过接受通知栏点击事件NotificationClickEvent,来实现自定义跳转,该事件如果没有接收者,点击通知栏时SDK将默认跳转到程序主界面。

事件接收方法见事件处理一节

进入单聊会话

UI层在进入聊天会话界面时调用,设置当前正在聊天的对象,调用此接口之后,收到对应用户发来的消息时,sdk不会弹出通知栏提示。
同时还会清掉与该聊天对象会话的未读消息数,以及通知栏通知。
此接口传入的数据采用覆盖逻辑,后面传入的参数会覆盖掉之前的设置。

JMessageClient.enterSingleConversation(String username,String appKey)
          JMessageClient.enterSingleConversation(String username,String appKey)

        
此代码块在浮窗中显示

参数定义

  • String username 单聊聊天对象的username
  • String appKey 聊天对象所属appKey,若appkey为空则默认填充本应用的appkey

进入群聊会话

UI层在进入聊天会话界面时调用,设置当前正在聊天的对象,调用此接口之后,收到对应群组中发来的消息时,sdk不会弹出通知栏提示。
同时还会清掉与该聊天对象会话的未读消息数,以及通知栏通知。
此接口传入的数据采用覆盖逻辑,后面传入的参数会覆盖掉之前的设置。

JMessageClient.enterGroupConversation(long groupID)
          JMessageClient.enterGroupConversation(long groupID)

        
此代码块在浮窗中显示

参数定义

  • long groupID 群聊聊天对象的群ID

退出会话

退出会话。UI层在退出聊天会话界面时调用,清除当前正在聊天的对象,之后收到对应的用户或群组发来的消息时,会正常展示通知栏通知。

JMessageClient.exitConversation();
          JMessageClient.exitConversation();

        
此代码块在浮窗中显示

免打扰设置

可以将用户/群组添加到“免打扰”列表中,收到免打扰用户/群组发过来的消息时,sdk不会弹出默认的通知提示,但消息事件照常下发。

获取免打扰列表

JMessageClient.getNoDisturblist(GetNoDisurbListCallback callback)
          JMessageClient.getNoDisturblist(GetNoDisurbListCallback callback)

        
此代码块在浮窗中显示

参数定义

  • GetNoDisurbListCallback callback 回调接口。

设置普通免打扰

/** * 将此用户设置为免打扰。 * * @param noDisturb 1 -- 免打扰,其他 -- 非免打扰 * @param callback 回调接口 */ public abstract void setNoDisturb(int noDisturb, BasicCallback callback);
              /**
     * 将此用户设置为免打扰。
     *
     * @param noDisturb 1 -- 免打扰,其他 -- 非免打扰
     * @param callback  回调接口
     */
    public abstract void setNoDisturb(int noDisturb, BasicCallback callback);
    

        
此代码块在浮窗中显示

具体见api doc中UserInfoGroupInfo相关接口

设置全局免打扰

设置全局免打扰之后,收到所有消息都将不会有通知栏通知,效果类似
JMessageClient.setNotificationFlag(JMessageClient.FLAG_NOTIFY_DISABLE),但是此设置在用户换设备之后也会生效。

JMessageClient.setNoDisturbGlobal(int noDisturbGlobal, BasicCallback callback)
          JMessageClient.setNoDisturbGlobal(int noDisturbGlobal, BasicCallback callback)

        
此代码块在浮窗中显示

参数定义

  • int noDisturbGlobal 全局免打扰标志,1表示设置,其他表示取消设置。
  • BasicCallback callback 回调接口

获取全局免打扰标识

JMessageClient.getNoDisturbGlobal(IntegerCallback callback)
          JMessageClient.getNoDisturbGlobal(IntegerCallback callback)

        
此代码块在浮窗中显示

参数定义

  • IntegerCallback callback 回调接口。
文档内容是否对您有帮助?

Copyright 2011-2022, jiguang.cn, All Rights Reserved. 粤ICP备12056275号-13 深圳市和讯华谷信息技术有限公司

在文档中心打开