XuqmGroup-Web/docs-site/docs/server/java-sdk.md
XuqmGroup 8521e35660 docs: 补全快速开始页平台表格及演示项目
快速开始页新增 Flutter、H5、小程序客户端及 Go/Java/Python 服务端
SDK 入口;新增 Java Server SDK 文档;演示项目页补充 Flutter Demo、
H5 演示和服务端示例卡片;VitePress 侧边栏增加 Java SDK 和 WebSocket
协议链接。

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-05 23:32:06 +08:00

2.7 KiB

Java Server SDK

XuqmGroup 服务端 Java SDK,提供 IM 消息发送、群管理、Push 推送等能力。


安装

Maven 在 pom.xml 中添加:

<repository>
  <id>nexus-xuqm</id>
  <url>https://nexus.xuqinmin.com/repository/android/</url>
</repository>

<dependency>
  <groupId>com.xuqm</groupId>
  <artifactId>xuqm-server-sdk</artifactId>
  <version>0.1.0</version>
</dependency>

Gradle

repositories {
    maven { url = uri("https://nexus.xuqinmin.com/repository/android/") }
}

dependencies {
    implementation("com.xuqm:xuqm-server-sdk:0.1.0")
}

初始化

import com.xuqm.sdk.server.XuqmServerClient;
import com.xuqm.sdk.server.XuqmServerConfig;

XuqmServerClient client = new XuqmServerClient(XuqmServerConfig.builder()
    .baseUrl("https://dev.xuqinmin.com")
    .appId("your_app_id")
    .appSecret("your_app_secret")
    .build());

服务端 SDK 需要 appSecret 用于 HMAC 签名,appSecret 绝不下发到客户端。


发送消息

import com.xuqm.sdk.server.model.SendMessageRequest;
import com.xuqm.sdk.server.model.ImMessage;

ImMessage msg = client.sendMessage(SendMessageRequest.builder()
    .toId("user_002")
    .chatType("SINGLE")
    .msgType("TEXT")
    .content("Hello from Java SDK!")
    .build());

System.out.println("消息已发送: " + msg.getId());

发送群消息

ImMessage msg = client.sendMessage(SendMessageRequest.builder()
    .toId("group_xxx")
    .chatType("GROUP")
    .msgType("TEXT")
    .content("大家好")
    .build());

撤回消息

client.revokeMessage("message_id");

群管理

import com.xuqm.sdk.server.model.*;

// 创建群组
ImGroup group = client.createGroup(CreateGroupRequest.builder()
    .name("项目讨论")
    .memberIds(List.of("user_001", "user_002"))
    .build());

// 添加群成员
client.addGroupMember("group_xxx", "user_003");

// 移除群成员
client.removeGroupMember("group_xxx", "user_003");

// 获取群列表
List<ImGroup> groups = client.listGroups();

// 获取群成员
List<ImUser> members = client.listGroupMembers("group_xxx");

Push 推送

import com.xuqm.sdk.server.model.SendPushRequest;

client.sendPush(SendPushRequest.builder()
    .userId("user_001")
    .title("新消息")
    .body("你有一条未读消息")
    .payload("{\"chatId\":\"user_002\"}")
    .build());

错误处理

import com.xuqm.sdk.server.exception.XuqmApiException;

try {
    ImMessage msg = client.sendMessage(request);
} catch (XuqmApiException e) {
    System.err.printf("API 错误: status=%d, code=%d, message=%s%n",
        e.getHttpStatus(), e.getCode(), e.getMessage());
}

→ Server API 文档