初始化
在 Application 的 onCreate 方法中初始化 SDKJava
Copy
/**
* 初始化IM
* @param context Application Context
* @param uid 登录用户ID(业务服务端在IM通讯端登记了的uid))
* @param token 登录用户token(业务服务端在IM通讯端登记了的token)
*/
WKIM.getInstance().init(context, uid, token);
Kotlin
Copy
WKIM.getInstance().init(context,uid,token)
Java
Copy
WKIM.getInstance().getConnectionManager().addOnGetIpAndPortListener(new IGetIpAndPort() {
@Override
public void getIP(IGetSocketIpAndPortListener iGetSocketIpAndPortListener) {
// 返回连接IP和端口
iGetSocketIpAndPortListener.onGetSocketIpAndPort("xxx",xxx);
}
});
Kotlin
Copy
WKIM.getInstance().connectionManager.addOnGetIpAndPortListener { p0 ->
p0!!.onGetSocketIpAndPort(
"172.0.0.0",
6666
)
}
连接
Java
Copy
// 连接IM
WKIM.getInstance().getConnectionManager().connection();
Kotlin
Copy
// 连接IM
WKIM.getInstance().connectionManager.connection()
断开
Java
Copy
// 断开IM
WKIM.getInstance().getConnectionManager().disconnect(isLogout);
Kotlin
Copy
// 断开IM
WKIM.getInstance().connectionManager.disconnect(isLogout)
isLogout: true:SDK 将不再进行重连 false:SDK 保持重连机制
监听连接状态
Java
Copy
WKIM.getInstance().getConnectionManager().addOnConnectionStatusListener("key", new IConnectionStatus() {
@Override
public void onStatus(int status, String reason) {
if (status == WKConnectStatus.success) {
// 连接成功
} else if (status == WKConnectStatus.failed) {
// 连接失败
} else if (status == WKConnectStatus.connecting) {
// 连接中
} else if (status == WKConnectStatus.syncMsg) {
// 同步消息中
} else if (status == WKConnectStatus.noNetwork) {
// 无网络
} else if (status == WKConnectStatus.kicked) {
// 被踢下线 需退出应用回到登录页面
}
}
});
Kotlin
Copy
WKIM.getInstance().connectionManager.addOnConnectionStatusListener("key") { status, reason ->
when (status) {
WKConnectStatus.success -> {
// 连接成功
}
WKConnectStatus.failed -> {
// 连接失败
}
WKConnectStatus.connecting -> {
// 连接中
}
WKConnectStatus.syncMsg -> {
// 同步消息中
}
WKConnectStatus.noNetwork -> {
// 无网络
}
WKConnectStatus.kicked -> {
// 被踢下线
}
}
}

