登录与注销
用户登录
- 在用户登录App账号时调用以下登录方法,从而保证用户是以登录身份进行咨询,是区分会话的用户的唯一标识;
- 游客咨询不需要调用小能login方法,小能会自动生成一个游客身份标识,在客服端游客身份的用户名显示为:“游客+4位数字”。
- App完全退出(被杀掉进程), 再次进入时, 在SDK初始化之后, 如果App本身账号是登录用户, 需要重新调用小能SDK登陆接口,同步用户身份【大多是针对App已经上线新接入小能SDK的客户】
- SDK内部做了防止重复登录的处理,即SDK会存储上一次的用户登录身份,即调用完登录方法后,只要没有调用过退出方法,不需要再次调用登录方法。
>
参数说明:
/**
用户登录
@param userId 登录用户ID:识别用户身份唯一识别,不能重复,即不能传固定值!否则会无法区分用户,造成串消息的。
* 传值需要符合小能的传值规则 :数字、英文字母和“@”、“.”、“_”三种字符。长度小于60。
* 【登录用户必传,不能传空,也不能写死固定值】
* 来源:集成方传入SDK。
@param userName 登录用户名称:是显示到PC客服端的用户名称。
* 传值需要符合小能的传值规则:字母、汉字、数字、_、@、.的字符串,长度小于120。
* 若用户游客身份则传入空字符串,系统随机会生成一个用户名, 如:“游客AB321”。若登录用户,但是username传空值,则采用用户id作为username.
* 来源:集成方传入,小能负责展示
@return 参数判断的返回值,
20005:登录成功;
20006:重复登录,不需要再调用登录;
20001:没有初始化,就调用登录方法,请检查下初始化和登陆的调用时机
20002:userId为空,请检查传值;
20003:userId非法,请检查传值是否符合规则;
11002:3.1.4版本以前保持,3.1.4及以后版本废弃,表示userName不合法,请检查传值是否符合规则;
*/
[Ntalker ntalker_loginWithUserId:@"userId" andUserName:@"userName"];
在SDK3.1.5及以后版本新增接口:判断用户是否已经登录,以前老版本可忽略此接口,该接口根据需要选择调用。
/**
判断用户是否已经登录
@param userId 登录用户ID:识别用户身份唯一识别,不能重复,即不能传固定值!否则会无法区分用户,造成串消息的。
* 传值需要符合小能的传值规则 :数字、英文字母和“@”、“.”、“_”三种字符。长度小于60。
* 【必传】
* 来源:集成方传入SDK。
@return 参数判断的返回值,YES:该用户ID当前已经登录,NO:该用户ID当前未登录
*/
BOOL isLogin = [Ntalker ntalker_isLoginWithUserId:@"userId"];
用户注销
用户在App上点击退出登录时,调用ntalker_logout方法,调用之后用户身份为游客状态。
/**
用户登出
*/
[Ntalker ntalker_logout];
注意:
- 由于切换账号会断开旧账号IM连接,重新连接IM,因此请勿频繁交叉调用登录登出方法,这样会造成IM连接频繁断开、连接,严重影响用户咨询体验 和未读消息的处理等问题。比如以下操作是需要避免的:前台退入后台时候调用登出,后台回到前台调用登录。
