NIMSDK-AOS
9.19.10
basesdk
src
com
netease
nimlib
sdk
auth
AuthService.java
浏览该文件的文档.
1
package
com.netease.nimlib.sdk.auth;
2
3
import
com
.
netease
.
nimlib
.apt.annotation.NIMService;
4
import
com
.
netease
.
nimlib
.
sdk
.
AbortableFuture
;
5
import
com
.
netease
.
nimlib
.
sdk
.
InvocationFuture
;
6
import
com
.
netease
.
nimlib
.
sdk
.
Observer
;
7
8
/**
9
* 用户认证服务接口,提供用户登录登出等业务接口。
10
*/
11
@NIMService(
"用户认证服务"
)
12
public interface
AuthService
{
13
14
/**
15
* 登录 IM。调用该接口后,SDK 会自动连接服务器,传递用户信息,返回登录结果。<br>
16
* 登录过程中可调用 {@link AbortableFuture#abort()} 接口主动取消登录。如果因为网络或其他原因导致云信服务端长时间未响应,用户也没有主动取消登录,NIM SDK 将在 45 秒后自动重新连接云信服务端,跟踪接口 {@link AbortableFuture} 的 onFailed 会被调用,返回错误码。
17
* @par 使用场景:
18
* <ul><li>在新设备上首次登录 IM</li><li>同时在线的其他设备踢下线后再次登录 IM</li><li>切换 IM 账号后再次登录 IM</li><li>注销登录后再次登录 IM</li></ul>
19
* @par 使用建议:
20
* 调用该接口成功后,建议将 accid 和 token 保存到本地,方便下次应用启动进行初始化时,在 SDKOptions#LoginInfo 中传入,实现自动登录。
21
* @par 参数说明:
22
* info 登录的用户信息
23
* @par 返回:
24
* 若通过 InvocationFuture 设置了回调函数,则返回监听结果({@link com.netease.nimlib.sdk.RequestCallback})
25
* @par 相关错误码:
26
* 302:App Key、accid和token三者不对应<br>
27
* 408:连接超时<br>
28
* 415:网络断开或者连接云信服务端失败<br>
29
* 416:调用频次过高<br>
30
* 1000:本地数据库未打开。请在手动登录成功后打开本地数据库
31
*
32
*/
33
public
AbortableFuture<LoginInfo>
login(
LoginInfo
info);
34
35
/**
36
* 注销 IM 登录。该方法没有回调。
37
* @par 使用场景:
38
* 一般情况下,如果您的应用生命周期跟 NIM SDK 生命周期一致,用户在退出应用前可以不注销,直接退出即可。<br>
39
* 但是,如果用户仅在进入特定界面后才使用 NIM SDK 的能力,退出界面后不再使用,此时需要调用 NIM SDK 的登出接口注销 IM 登录。 登出后,用户将不再接收 IM 的消息。
40
* @par 使用限制:
41
* <ul><li>请不要在 Activity(Fragment) 的 onDestroy 调用 logout 方法。</li><li>建议不要频繁调用登录、登出方法,调用 logout 方法后,如需再调用 login 方法,其间隔至少要大于 3s。</li></ul>
42
*/
43
public
void
logout();
44
45
/**
46
* 注销接口,完成后回调通知
47
*
48
* @par 参数说明:
49
* timeout 登出允许最大等待时间,单位毫秒。如 3 * 1000L
50
* @par 返回:
51
* InvocationFuture 可设置回调函数,监听操作结果。
52
*/
53
public
InvocationFuture<Void>
logout(
long
timeout);
54
55
/**
56
* 主动将同时在线的其他客户端踢下线。<br>
57
* 被踢端若注册了 {@link AuthServiceObserver#observeOnlineStatus(Observer, boolean)} 观察者,在被踢下线后,会收到登录状态回调(KICK_BY_OTHER_CLIENT)。如需要重新登录,建议先注销登录(logout),再切换到登录界面进行登录。
58
*
59
* @par 参数说明:
60
* client 被踢下线的客户端信息
61
* @par 返回:
62
* 若通过 InvocationFuture 设置了回调函数,则返回监听结果({@link com.netease.nimlib.sdk.RequestCallback})
63
*/
64
public
InvocationFuture<Void>
kickOtherClient(
OnlineClient
client);
65
66
/**
67
* 获取踢掉“我”的客户端类型。
68
* @par 使用场景:
69
* 如果自己被其他同时在线的客户端踢掉, 通过该接口可以获取踢掉“我”的客户端类型。
70
* @par 注意事项:
71
* 如果“我”的当前登录状态({@link com.netease.nimlib.sdk.StatusCode})不是被其他端踢出(KICK_BY_OTHER_CLIENT),则该接口返回值无效。返回值无效的场景可能是:被服务端禁用并踢出 、自动登录监听返回 417 错误码等。
72
* @par 返回:
73
* 踢掉“我”的客户端类型
74
*/
75
public
int
getKickedClientType();
76
77
/**
78
* 获取踢掉“我”的客户端自定义类型。
79
* @par 使用场景:
80
* 如果自己被其他同时在线的**自定义客户端**踢掉, 通过该接口可以获取踢掉“我”的客户端自定义类型。
81
* @par 注意事项:
82
* <ul><li>用户只有在 {@link AuthService#login(LoginInfo)} 时自定义了 ClientType,才能通过该接口查询到</li><li>如果“我”的当前登录状态({@link com.netease.nimlib.sdk.StatusCode})不是被其他端踢出(KICK_BY_OTHER_CLIENT),则该接口返回值无效。返回值无效的场景可能是:被服务端禁用并踢出 、自动登录监听返回 417 错误码等。</li></ul>
83
* @par 返回:
84
* 踢掉“我”的客户端自定义类型
85
*/
86
public
int
getKickedCustomClientType();
87
88
/**
89
* 离线时打开本地数据。
90
* @par 使用场景:
91
* 在手动登录没有成功前(可能由于网络问题,登录时间较长),需要访问 SDK 本地数据(本地用户信息,本地历史消息等数据)。可以通过本接口实现上述场景。
92
* @par 注意事项:
93
* 采用自动登录方式登录 IM,实际也使用了该功能,也能达到同样的效果。即如果已使用自动登录方式登录 IM,不用单独调用 openLocalCache 接口,在离线时也能访问本地数据。
94
* @par 返回:
95
* 是否成功打开 SDK 本地数据
96
*/
97
public
boolean
openLocalCache(String account);
98
99
100
/**
101
* 获取登录时传给服务端的设备 ID。用于标识当前的终端设备。
102
* @par 注意事项:
103
* 此处返回的设备 ID 并不是真正意义上的设备 ID ,而是生成的随机 uuid 。如果应用卸载重装,可能会重新生成设备 ID。
104
* @par 返回:
105
* deviceID:生成的随机 uuid
106
*
107
*/
108
public
String getDeviceID();
109
110
/**
111
* 杀死当前 UI 页面。
112
*/
113
public
void
killUI();
114
115
/**
116
* 杀死其他进程。
117
*/
118
public
void
killCore();
119
120
/**
121
* 终止当前用户的认证服务,即结束当前进程。
122
*/
123
public
void
exit();
124
}
com.netease.nimlib.sdk
Definition:
RequestCallback.java:1
com.netease
com
com.netease.nimlib.sdk.InvocationFuture
调用跟踪
Definition:
InvocationFuture.java:6
com.netease.nimlib.sdk.AbortableFuture
可中断操作的调用跟踪接口。
Definition:
AbortableFuture.java:6
com.netease.nimlib.sdk.Observer
通知观察器
Definition:
Observer.java:9
com.netease.nimlib.sdk.auth.OnlineClient
多端同时登录时,其他在线的客户端的信息。
Definition:
OnlineClient.java:8
com.netease.nimlib.sdk.auth.LoginInfo
用户登录认证信息。
Definition:
LoginInfo.java:23
com.netease.nimlib.sdk.auth.AuthService
用户认证服务接口,提供用户登录登出等业务接口。
Definition:
AuthService.java:12
com.netease.nimlib
生成于 2025年 二月 20日 星期四 14:05:18 , 为 NIMSDK-AOS使用
1.8.13