跳转到主要内容

初始化

在 Application 的 onCreate 方法中初始化 SDK Java
/**
*  初始化IM
* @param context Application Context
* @param uid 登录用户ID(业务服务端在IM通讯端登记了的uid))
* @param token 登录用户token(业务服务端在IM通讯端登记了的token)
*/
WKIM.getInstance().init(context, uid, token);
Kotlin
WKIM.getInstance().init(context,uid,token)
监听获取连接服务器 IP 和 Port 的事件 Java
WKIM.getInstance().getConnectionManager().addOnGetIpAndPortListener(new IGetIpAndPort() {
            @Override
            public void getIP(IGetSocketIpAndPortListener iGetSocketIpAndPortListener) {
                // 返回连接IP和端口
                iGetSocketIpAndPortListener.onGetSocketIpAndPort("xxx",xxx);
            }
        });
Kotlin
WKIM.getInstance().connectionManager.addOnGetIpAndPortListener { p0 ->
    p0!!.onGetSocketIpAndPort(
        "172.0.0.0",
        6666
    )
}

连接

Java
// 连接IM
WKIM.getInstance().getConnectionManager().connection();
Kotlin
// 连接IM
WKIM.getInstance().connectionManager.connection()

断开

Java
// 断开IM
WKIM.getInstance().getConnectionManager().disconnect(isLogout);
Kotlin
// 断开IM
WKIM.getInstance().connectionManager.disconnect(isLogout)
  • isLogout: true:SDK 将不再进行重连 false:SDK 保持重连机制

监听连接状态

Java
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
WKIM.getInstance().connectionManager.addOnConnectionStatusListener("key") { status, reason ->
    when (status) {
        WKConnectStatus.success -> {
            // 连接成功
        }
        WKConnectStatus.failed -> {
            // 连接失败
        }
        WKConnectStatus.connecting -> {
            // 连接中
        }
        WKConnectStatus.syncMsg -> {
            // 同步消息中
        }
        WKConnectStatus.noNetwork -> {
            // 无网络
        }
        WKConnectStatus.kicked -> {
            // 被踢下线
        }
    }
}

下一步