XuqmGroup-Web/docs-site/docs/android/index.md
XuqmGroup 491a1ce8d3 feat(sdk): 初始化 Android SDK 核心功能模块
- 添加 SDK 配置管理、网络请求客户端和令牌存储功能
- 实现即时通讯 IM 模块,包括消息收发、群组管理和会话功能
- 集成推送服务和应用更新功能模块
- 创建示例应用演示 SDK 使用方法
- 配置项目依赖管理和构建设置
2026-04-27 17:18:56 +08:00

3.1 KiB

Android SDK 接入指南

版本0.2.xv0.4.0 将引入 UserSig 鉴权)· 最低 Android 版本API 24 (Android 7.0) · 语言Kotlin

注意v0.4.0 将是 Breaking 版本,initialize() 将保持不变,ImSDK.login() 将改为 UserSig 鉴权模式。

功能模块

模块 Artifact 功能
sdk-core com.xuqm:sdk-core 初始化、网络、鉴权EncryptedSharedPreferences
sdk-im com.xuqm:sdk-im 单聊、群聊、消息收发、会话、好友、群组
sdk-push com.xuqm:sdk-push 自动检测厂商、设备 Token 注册
sdk-update com.xuqm:sdk-update App 更新检查、RN 热更新

快速接入

1. 添加依赖

// settings.gradle.kts
dependencyResolutionManagement {
    repositories {
        maven("https://nexus.xuqinmin.com/repository/android/")
        google(); mavenCentral()
    }
}
// app/build.gradle.kts
dependencies {
    implementation("com.xuqm:sdk-core:0.2.0")
    implementation("com.xuqm:sdk-im:0.2.0")
    implementation("com.xuqm:sdk-push:0.2.0")    // 按需
    implementation("com.xuqm:sdk-update:0.2.0")  // 按需
}

2. 初始化

只需传入 appId,服务器地址由 SDK 内置,无需传 serverUrl

// Application.onCreate()
XuqmSDK.initialize(
    context = this,
    appId = "your_app_id",           // 在租户平台创建应用后获得
    logLevel = LogLevel.WARN,        // 可选,DEBUG 开启详细日志
)

3. IM 登录与收消息

// 登录(协程 suspend 函数)
lifecycleScope.launch {
    ImSDK.login(userId = "user_001", nickname = "张三")
}

// 监听实时消息
ImSDK.addListener(object : ImEventListener {
    override fun onConnected() { /* WebSocket 已连接 */ }
    override fun onMessage(msg: ImMessage) { /* 单聊消息 */ }
    override fun onGroupMessage(msg: ImMessage) { /* 群聊消息 */ }
    override fun onDisconnected(reason: String?) { /* 断线处理 */ }
})

4. 发送消息

// 发送文本(通过 WebSocket 实时发送)
ImSDK.sendMessage(
    toId = "user_002",
    chatType = "SINGLE",
    msgType = "TEXT",
    content = """{"text":"Hello!"}""",
)

5. 群组、好友、会话

// 群组
val groups = ImSDK.listGroups()
val group  = ImSDK.createGroup("项目讨论", listOf("user_002", "user_003"))
ImSDK.addGroupMember(groupId, "user_004")
ImSDK.leaveGroup(groupId)

// 好友
val friends = ImSDK.listFriends()
ImSDK.addFriend("user_002")

// 会话
val conversations = ImSDK.listConversations()
ImSDK.setConversationPinned(targetId, "SINGLE", true)
ImSDK.markRead(targetId)

6. 推送设备注册

// 登录后调用;SDK 自动检测手机厂商(华为/小米/OPPO/vivo/荣耀)
PushSDK.registerDevice(context, userId = "user_001")

7. 版本更新

// 检查 App 更新
val update = UpdateSDK.checkAppUpdate(context)
if (update?.needsUpdate == true) {
    UpdateSDK.downloadAndInstall(context, update.downloadUrl)
}

→ 完整 API Reference