# 1 准备

# 1.1 准备环境

Csdk提供资源

  • 1.0 [核心包]UE4V2 SDK 插件包下载见修订说明
  • 2.0 GME和GVoice语音适配器插件包联系郑学强
  • 3.0 联系郑学强获取AppID和AppKey

接入方提供

  • 准备联网正常的的 PC 安卓设备
  • 准备研发环境
  • 研发环境支持平台

    平台 SDK 及兼容性
    编辑器 windows 10, macOS 10.12+
    编译构建 windows 10, macOS 10.12+
    Android 兼容 Android 4.0及以上
    iOS 兼容 XCode12 ~ XCode14
  • 开发语言

    用途 语言 版本要求
    业务接入 Cpp C++ 11
    构建接入 Cpp C++ 11

# 1.2 接入参数

  • 获取到 应用ID应用密钥,准备接入必须要的各项参数
接入参数 参数描述 是否必须 例子
Url 网关服务 地址 服务器地址 聊天测试服地址:http://csdk-test.yingxiong.com/gateway
ProductId 应用ID 联系学强或者CSDK控制台 (opens new window)自行配置
ProductKey 应用密钥 联系学强或者CSDK控制台 (opens new window)自行配置
AppID 语音 SDK AppID 按功能确认是否需要语音 联系学强
AppKey 语音 SDK AuthKey 按功能确认是否需要语音 联系学强

WARNING

  • 以上所有 参数 应用ID应用密钥,初始化SDK客户端时需要设置,请谨慎保存
  • 如为私有部署,则 网关服务 地址网关服务 端口 需要部署完成后修改

# 1.3 接入步骤

获取资源
接入打包
开发调试
出包确认

# 1.4 接入流程

# 2.1 初始化SDK

因为涉及到UObject创建,请保证 SDK 所有接口都在主线程调用

# 2.2 角色登陆

  • 调用
参数 是否必须 参数描述
UserId 角色唯一识别码,由RoleId和SeverId共同确认一个角色
RoleName 角色名
Gender 角色性别
AvatarUrl 角色头像
Extra 额外参数
  • UserId介绍 | 属性 | 含义 | 说明 | | --- |------|----------------------------------------------------------------------------------------------------------------------| | RoleId | 角色ID | 当前区服玩家注册的角色ID |
    | ServerId | 区服ID | 接收者所在的区服ID |

  • 回调

下标 类型 参数描述
0 int32 状态码 2000 为成功,其他见 状态码表
1 FString 返回描述

# 2.3 角色登出

# 3 会话操作

# 3.1 监听会话变更

  • 添加对话更新观察,在对话更新的时候会给最新的对话数据

# 3.2 查询最近会话列表

# 3.3 获取指定的最近会话

  • 调用
参数 是否必须 参数描述
SessionId 由ReceiverId,ServerId,ECsdkSessionType::Type共同确保唯一性。
  • FCsdkSessionId简介
属性 含义 说明
ReceiverId 接收者ID 接收者为用户,则为用户角色ID,接收者为聊天室,则为聊天室ID。同一个 ECsdkSessionType::Type下,ReceiverId必须唯一
ServerId 区服ID 接收者所在的区服ID,如果是跨服频道,则使用_CrossServer_这个特殊的ID
ECsdkSessionType::Type 会话类型 参见下表

# 3.4 创建最近会话

  • 调用
参数 是否必须 参数描述
SessionId 由ReceiverId,ServerId,ECsdkSessionType::Type共同确保唯一性。

# 3.5 删除最近会话

  • 调用
参数 是否必须 参数描述
SessionId 由ReceiverId,ServerId,ECsdkSessionType::Type共同确保唯一性。
  • 回调
下标 参数 参数描述
0 int32 状态码 2000 为成功,其他见 状态码表
1 FString 返回描述

# 4 消息收发模块

# 4.1 注册聊天更新监听

  • 调用示例

# 4.2 聊天数据获取

# 拉取消息历史(云端历史消息查询)

下标 参数类型 参数描述
0 int32 状态码 2000 为成功,其他见状态码表
1 FString 返回描述
2 struct 会话ID
3 struct数组 历史消息

# 4.3 聊天发送

  • 发送流程
  • 1 创建对应类型消息
/**
* @brief 创建一个待发送的客户端文本消息
* @param Content 文本内容
* @param Extra 扩展字段
* @return 文本消息
*/
UFUNCTION(BlueprintCallable,Category = "CSDK|Message")
static UCsdkTextMessage* NewTextMsg(const FString& Content, const TMap<FString, FString>& Extra);

/**
* @brief 创建一个待发送的客户端语音消息
* @param Url 语音文件Url
* @param Duration 语音时长
* @param Extra 扩展字段
* @return 语音消息
*/
UFUNCTION(BlueprintCallable,Category = "CSDK|Message")
static UCsdkVoiceMessage* NewVoiceMsg(const FString& Url,const float Duration, const TMap<FString, FString>& Extra);
/**
* @brief 创建一个待发送的客户端语音消息
* @param Title 用于敏感词检查的字段
* @param Data 自定义字符串
* @param Extra 扩展字段
* @return 自定义消息
*/
UFUNCTION(BlueprintCallable,Category = "CSDK|Message")
static UCsdkCustomMessage* NewCustomMsg( const FString& Title,const FString& Data, const TMap<FString, FString>& Extra);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
  • 2 发送消息
  • 调用
参数 是否必须 参数描述
SessionId 会话ID
CsdkMessage 消息对象
  • 回调
下标 参数类型 参数描述
0 int32 状态码 2000为成功,其他见状态码表
1 FString 错误码
本文档对解决你的问题有所帮助?