IM 即时通讯
Windows/macOS
动态与公告
Demo 更新日志
NIM SDK 更新日志
产品介绍
简介
主要功能
产品优势
海外数据中心
IM平滑迁移方案
接口及业务限制
功能介绍
账号集成与登录
多端登录与互踢策略
基础消息功能
群组功能
聊天室功能
聊天室标签功能
圈组功能
质量数据监控台
快速开始
实现单聊消息收发(不含 UI)
实现圈组消息收发(不含 UI)
开发指南
概要介绍
集成方式(当前版本)
集成方式(Windows旧版本)
集成方式(macOS旧版本)
初始化
登录相关
登录 IM
多端登录与互踢
登出 IM
消息收发
最近会话
历史记录
用户资料托管
好友关系托管
事件订阅
系统通知
系统通知概述
内置系统通知管理
内置系统通知未读数
自定义系统通知收发
群组功能
群组概述
群组管理
群成员管理
群消息管理
超大群功能
开通聊天室功能
聊天室
圈组功能
初始化
登录圈组
圈组服务器管理
圈组服务器成员管理
游客功能
频道相关
频道管理
频道分组
频道分组黑白名单
频道未读数管理
搜索服务器和频道
身份组相关
身份组概述
身份组应用场景
服务器身份组
频道身份组
频道分组身份组
频道用户定制权限
自定义权限项
成员权限判定
身份组相关查询
圈组订阅机制
圈组消息相关
圈组消息收发
圈组消息撤回
圈组消息更新
圈组消息删除
会话消息回复(Thread)
圈组快捷评论
获取频道最后一条消息
消息正在输入
圈组消息搜索
圈组消息查询
查询@我的消息
服务器未读数
圈组系统通知
圈组系统通知概述
圈组系统通知收发
圈组系统通知更新
圈组各端接口命名差异
语音录制与播放
NOS云存储服务
文档转换
反垃圾(内容审核)
接入第三方机器人
API 参考
Windows/macOS API 参考
状态码/错误码
IM 控制台指南
创建应用
注册 IM 账号
升级服务
配置应用客户端标识
参考文档
升级指引
开发示例
UI库指南
Demo源码导读
打包发布
类与常量定义说明
常见问题
FAQ
服务协议

初始化

更新时间: 2023/03/07 17:18:41

在登录圈组 SDK 前,您需要先将圈组 SDK 进行初始化。

前提条件

已开通圈组功能。

可在云信控制台开通“圈组功能”在云信控制台选择应用,进入IM 免费版/专业版 > 功能权限开通 > 拓展配置 > 圈组即可配置。

引入圈组 SDK

您可使用如下指将圈组 SDK 引入您的本地项目。

#include "nim_qchat_cpp_wrapper/nim_cpp_qchat_api.h" // 引入 QChat 库

初始化圈组 SDK

功能介绍

圈组模块初始化 (SDK初始化时调用一次)。

参数说明

参数 类型 说明
app_data_path {""} std::string APP数据存储路径,如果为空,则使用系统默认路径
app_install_path {""} std::string APP安装路径,用于加载依赖库,如果为空,则使用当前路径
custom_timeout {0} uint32_t 自定义通信超时时间,单位秒, 为 0 使用默认值
auth_timeout {0} uint32_t 自定义鉴权超时时间,单位秒, 为 0 使用默认值
database_encrypt_key std::string 数据库加密密钥,如果为空,则使用默认值
encryption_configuration QChatEncryptionConfiguration 加密配置
fcs_configuration QChatFCSConfiguration FCS配置
message_cache_configuration QChatMessageCacheConfiguration 消息缓存配置

示例代码

QChatInitParam param;
// customize param for initializing.
param.app_data_path = "";
param.app_install_path = "";
param.custom_timeout = 0;
param.auth_timeout = 0;
param.database_encrypt_key = "";
// encryption_configuration
param.encryption_configuration.nego_key_neca = kNIMQChatEncryptionAlgorithmRSA;
param.encryption_configuration.comm_neca = kNIMQChatCommEncryptionAlgorithmRC4;
param.encryption_configuration.hand_shake_type = kNIMQChatHandShakeTypeMulti;
param.encryption_configuration.nego_key_neca_key_parta = "";
param.encryption_configuration.nego_key_neca_key_partb = "";
param.encryption_configuration.nego_key_neca_key_version = 0;
// fcs_configuration
param.fcs_configuration.fcs_auth_type = kNIMQChatFCSAuthenticationTypeToken;
param.fcs_configuration.mock_ua = "";
param.fcs_configuration.mock_refer = "";
param.fcs_configuration.auto_download_history_msg_attach_ = true;
param.fcs_configuration.auto_download_audio = true;
param.fcs_configuration.auto_download_video = true;
param.fcs_configuration.auto_download_video_thumb = true;
param.fcs_configuration.auto_download_image = true;
param.fcs_configuration.auto_download_image_thumb = true;
param.fcs_configuration.auto_download_file = true;
param.fcs_configuration.thumbnail_width = 150;    
param.fcs_configuration.thumbnail_height = 100;
// message_cache_configuration
param.message_cache_configuration.enable_message_cache = true;
// for more infomation please see the definition of QChatInitParam.
bool result = QChat::Init(param);
if (!result) {
    // error handling
    return;
}

卸载圈组 SDK

功能介绍

圈组 SDK 卸载 (SDK 卸载时调用一次)。

示例代码

QChatCleanupParam param;
// customize param for cleaning up.
// ...
// for more infomation please see the definition of QChatCleanupParam.
bool result = QChat::Cleanup(param);
if (!result) {
    // error handling
    return;
}
此文档是否对你有帮助?
有帮助
我要吐槽
  • 前提条件
  • 引入圈组 SDK
  • 初始化圈组 SDK
  • 功能介绍
  • 参数说明
  • 示例代码
  • 卸载圈组 SDK
  • 功能介绍
  • 示例代码