NIMSDK-AOS
9.19.0
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
* 主动将同时在线的其他客户端踢下线。<br>
47
* 被踢端若注册了 {@link AuthServiceObserver#observeOnlineStatus(Observer, boolean)} 观察者,在被踢下线后,会收到登录状态回调(KICK_BY_OTHER_CLIENT)。如需要重新登录,建议先注销登录(logout),再切换到登录界面进行登录。
48
*
49
* @par 参数说明:
50
* client 被踢下线的客户端信息
51
* @par 返回:
52
* 若通过 InvocationFuture 设置了回调函数,则返回监听结果({@link com.netease.nimlib.sdk.RequestCallback})
53
*/
54
public
InvocationFuture<Void>
kickOtherClient(
OnlineClient
client);
55
56
/**
57
* 获取踢掉“我”的客户端类型。
58
* @par 使用场景:
59
* 如果自己被其他同时在线的客户端踢掉, 通过该接口可以获取踢掉“我”的客户端类型。
60
* @par 注意事项:
61
* 如果“我”的当前登录状态({@link com.netease.nimlib.sdk.StatusCode})不是被其他端踢出(KICK_BY_OTHER_CLIENT),则该接口返回值无效。返回值无效的场景可能是:被服务端禁用并踢出 、自动登录监听返回 417 错误码等。
62
* @par 返回:
63
* 踢掉“我”的客户端类型
64
*/
65
public
int
getKickedClientType();
66
67
/**
68
* 获取踢掉“我”的客户端自定义类型。
69
* @par 使用场景:
70
* 如果自己被其他同时在线的**自定义客户端**踢掉, 通过该接口可以获取踢掉“我”的客户端自定义类型。
71
* @par 注意事项:
72
* <ul><li>用户只有在 {@link AuthService#login(LoginInfo)} 时自定义了 ClientType,才能通过该接口查询到</li><li>如果“我”的当前登录状态({@link com.netease.nimlib.sdk.StatusCode})不是被其他端踢出(KICK_BY_OTHER_CLIENT),则该接口返回值无效。返回值无效的场景可能是:被服务端禁用并踢出 、自动登录监听返回 417 错误码等。</li></ul>
73
* @par 返回:
74
* 踢掉“我”的客户端自定义类型
75
*/
76
public
int
getKickedCustomClientType();
77
78
/**
79
* 离线时打开本地数据。
80
* @par 使用场景:
81
* 在手动登录没有成功前(可能由于网络问题,登录时间较长),需要访问 SDK 本地数据(本地用户信息,本地历史消息等数据)。可以通过本接口实现上述场景。
82
* @par 注意事项:
83
* 采用自动登录方式登录 IM,实际也使用了该功能,也能达到同样的效果。即如果已使用自动登录方式登录 IM,不用单独调用 openLocalCache 接口,在离线时也能访问本地数据。
84
* @par 返回:
85
* 是否成功打开 SDK 本地数据
86
*/
87
public
boolean
openLocalCache(String account);
88
89
90
/**
91
* 获取登录时传给服务端的设备 ID。用于标识当前的终端设备。
92
* @par 注意事项:
93
* 此处返回的设备 ID 并不是真正意义上的设备 ID ,而是生成的随机 uuid 。如果应用卸载重装,可能会重新生成设备 ID。
94
* @par 返回:
95
* deviceID:生成的随机 uuid
96
*
97
*/
98
public
String getDeviceID();
99
100
/**
101
* 杀死当前 UI 页面。
102
*/
103
public
void
killUI();
104
105
/**
106
* 杀死其他进程。
107
*/
108
public
void
killCore();
109
110
/**
111
* 终止当前用户的认证服务,即结束当前进程。
112
*/
113
public
void
exit();
114
}
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
生成于 2024年 十月 16日 星期三 10:25:05 , 为 NIMSDK-AOS使用
1.8.13