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

登录管理

更新时间: 2022/08/09 14:54:07

获取圈组链接地址

功能介绍

获取圈组link地址,如果已知链接地址,则忽略本接口。

用于圈组登录,此功能需先登录IM后才能调用。

示例代码

// login to IM first
// ...
uint32_t ip_version = 2; // ip协议, 0:ipv4, 1:ipv6, 2:all
PluginIn::QChatRequestLinkAddress(ip_version, [](int error_code, const std::list<std::string>& link_address_list) {
    if (error_code != 0) {
        // error handling
        return;
    }
    // process response
    // ...
});

登录

功能介绍

登录圈组。

示例代码

QChatLoginParam param;
param.appkey = "your appkey";
param.accid = "your accid";
param.auth_type = kNIMQChatLoginAuthTypeDefault;
param.login_token = "your login token";
param.login_ext = "your login ext";
param.link_address = {"link1", "link2"};
param.cb = [](const QChatLoginResp& resp) {
    if (resp.res_code != NIMResCode::kNIMResSuccess) {
        // error handling
        return;
    }
    // process response
    // ...
};
QChat::Login(param);

登出

功能介绍

登出圈组。

示例代码

QChatLogoutParam param;
param.cb = [](const QChatLogoutResp& resp) {
    if (resp.res_code != NIMResCode::kNIMResSuccess) {
        // error handling
        return;
    }
    // process response
    // ...
};
QChat::Logout(param);

自定义token

功能介绍

注册自定义 token 回调,用于登录鉴权类型为 kNIMQChatLoginAuthTypeAppSecret 以及 kNIMQChatLoginAuthTypeAppThirdParty 时。

示例代码

QChatRegCustomTokenCbParam reg_custom_token_cb_param;
reg_custom_token_cb_param.cb = [](QChatCustomTokenResp& resp) {
    // acquire custom token using resp.appkey & resp.accid
    // ...
    resp.token = "your custom token";
};
QChat::RegCustomTokenCb(reg_custom_token_cb_param);

互踢

功能介绍

多端登录时,踢掉自己指定的一个其他端。

示例代码

QChatKickParam param;
// you can get device id from login response & multispot login callback
param.device_ids = {"device_id1", "device_id2"};
param.cb = [](const QChatKickResp& resp) {
    if (resp.res_code != NIMResCode::kNIMResSuccess) {
        // error handling
        return;
    }
    // process response
    // ...
};
QChat::KickOtherClients(param);

登录状态回调

功能介绍

注册登录状态回调。

示例代码

QChatRegLoginStatusCbParam reg_login_status_cb_param;
reg_login_status_cb_param.cb = [](const QChatLoginStatusResp& resp) {
    // ...
};
QChat::RegLoginStatusCb(reg_login_status_cb_param);

多端登录回调

功能介绍

注册多端登录通知回调。

示例代码

QChatRegMultispotLoginCbParam reg_multispot_login_cb_param;
reg_multispot_login_cb_param.cb = [this](const QChatMultispotLoginResp& resp) {
    if (resp.res_code != NIMResCode::kNIMResSuccess) {
        // error handling
        return;
    }
    if (resp.notify_type == 1){
        // device login
        // ...
    } else {
        // device logout
        // ...
    }
};
QChat::RegMultispotLoginCb(reg_multispot_login_cb_param);

被踢回调

功能介绍

注册被踢回调。

示例代码

QChatRegKickedCbParam reg_kicked_cb_param;
reg_kicked_cb_param.cb = [this](const QChatKickedResp& resp) {
    // ...
};
QChat::RegKickedOutCb(reg_kicked_cb_param);
此文档是否对你有帮助?
有帮助
我要吐槽
  • 获取圈组链接地址
  • 功能介绍
  • 示例代码
  • 登录
  • 功能介绍
  • 示例代码
  • 登出
  • 功能介绍
  • 示例代码
  • 自定义token
  • 功能介绍
  • 示例代码
  • 互踢
  • 功能介绍
  • 示例代码
  • 登录状态回调
  • 功能介绍
  • 示例代码
  • 多端登录回调
  • 功能介绍
  • 示例代码
  • 被踢回调
  • 功能介绍
  • 示例代码