美文网首页
Qt+腾讯IM开发笔记(一):腾讯IM介绍、使用和Qt集成腾讯I

Qt+腾讯IM开发笔记(一):腾讯IM介绍、使用和Qt集成腾讯I

作者: 红模仿_红胖子 | 来源:发表于2021-08-02 07:57 被阅读0次

前言

  开发一个支持全国的IM聊天,可以有基本的功能,发送文本、图片、文件等等相关内容。

腾讯IM产品

概述

腾讯即时通信IM是腾讯推出的即时聊天程序,当前时间为2020年3月(腾讯IM的优惠活动和售卖方案不同时期会有变化)。

该IM提供各端接入接口、稳定必达、覆盖全球的即时通信云服务上。

应用场景

包括但不限于以下场景:

特点

消息传输

支持文字、图片、短语音、短视频等富媒体消息及自定义消息与自定义表情,支持保存历史漫游消息,集成消息撤回、消息转发、安全打击等扩展能力,构建稳定、便捷的消息传输通道。

会话管理

集成 TUIKit 组件,轻松实现添加会话、会话置顶、会话列表展示,未读消息计数,历史漫游消息展示等功能。

群组管理

支持群成员管理、群组自定义字段、群资料与群公告变更与展示、群组置顶等能力,提供私有群、公开群、聊天室、音视频聊天室等多种群组类型,满足个性化群组需要。

资料管理

支持设置用户资料、更改头像,可配置好友关系,提供好友验证选项,适配您的业务场景。

旗舰版和专业版功能对比

即时通信 IM 套餐包分为体验版、专业版和旗舰版,创建应用后默认为体验版(免费),您可以根据实际业务需求选择不同的套餐包。

构架

即时通信 IM 提供全球接入、单聊、群聊、消息推送、资料关系链托管、帐号鉴权等全方位解决方案,并提供完备的 App 接入、后台管理接口。

费用

从2018年9月14日之后,注册sdkappid的客户都需要购买预付费吧,999,之前的不用,意味着,你想自己做Demo先出999吧,如下图:

使用腾讯IM准备

产品简介: https://cloud.tencent.com/document/product/269/1498

价格说明: https://cloud.tencent.com/document/product/269/11673

应用场景: https://cloud.tencent.com/document/product/269/32579

Demo 体验: https://cloud.tencent.com/document/product/269/36852

接入SDK:https://cloud.tencent.com/document/product/269/37176

腾讯IM服务的SDKAppID和秘钥

腾讯开发文档

https://cloud.tencent.com/document/product/269/37176

下载SDK

IM SDK基本概念

会话

  会话(Conversation)分为两种:

一种是 C2C 会话,表示单聊情况自己与对方建立的对话,读取消息和发送消息都是通过会话完成;

一种是群会话,表示群聊情况下,群内成员组成的会话,群会话内发送消息群成员都可接收到。如下图所示,一个会话表示与一个好友的对话;

消息

IM SDK 中消息(Message)表示要发送给对方的内容,消息包括若干属性,如是否自己已读,是否已经发送成功,发送人帐号,消息产生时间等;一条消息由若干Elem组合而成,每种Elem可以是文本、图片、表情等等,消息支持多种 Elem组合发送。

群组ID

  群组 ID 唯一标识一个群,由后台生成,创建群组时返回。

IM SDK使用说明

IM SDK接口

文档地址:https://cloud.tencent.com/document/product/269/33543

如果接口的参数字符串包含中文,请使用 UTF-8 编码。

事件回调接口

IM SDK 初始化相关接口

登录登出相关接口

会话相关接口

消息相关接口

群组相关接口

用户资料相关接口

关系链相关接口

模块化

Demo关键代码

tencentIMManager.pri

#ImSDKINCLUDEPATH+=$$PWD/ImSDK/includesHEADERS+=\    $$PWD/ImSDK/includes/TIMCloud.h \    $$PWD/ImSDK/includes/TIMCloudCallback.h \    $$PWD/ImSDK/includes/TIMCloudComm.h \    $$PWD/ImSDK/includes/TIMCloudDef.hLIBS+=-L$$PWD/ImSDK/lib/Win32/Release \-limsdk

工程模板V1.0.0

  对应该模块的的V1.0.0

入坑

入坑一:登录鉴权的问题

问题

登陆时,回调错误70003

原因

  每次登录,需要输入userId和UserSig,UserSig为依赖userId生成的,两者和二唯一被认为是唯一可靠的认证,才可以登录。

解决方法

本地生成userSig,做大型聊天防止破解等提高安全性,则可以让后台向腾讯生成userSig,以保证可靠。

将两文件,融入到代码中。

入坑二:编译权鉴获取时缺库“bcrypt”

问题

解决

Qt的环境自带了,库文件添加进去

入坑三:编译鉴权获取时缺库“zlib”

问题

原因

  缺少zlib库,需要自己编译

解决

笔者之前曾经编译过,直接赋值拿过来即可,读者编译请参照博文:《zlib开发笔记(一):zlib库介绍、编译和工程模板

添加头文件路径和库

入坑四:登陆时报错70003

问题

原因

  中文的userId。

解决

  只能使用英文数字id,不能使用中文。

入坑五:登陆时报错70003

问题

原因

解决

使用std::string

若该文为原创文章,转载请注明原文出处

本文章博客地址:https://hpzwl.blog.csdn.net/article/details/119305601

相关文章

  • Qt+腾讯IM开发笔记(一):腾讯IM介绍、使用和Qt集成腾讯I

    前言   开发一个支持全国的IM聊天,可以有基本的功能,发送文本、图片、文件等等相关内容。 腾讯IM产品 概述 腾...

  • 2018-12-14

    iOS集成腾讯云IM 最近公司考虑集成腾讯云IM,由于时间紧张,所以就采用腾讯云自带的UI,但是发现集成进来后很多...

  • tim-js-sdk 登录、接收信息、发送消息

    简介 本文主要介绍如何快速地将腾讯云 IM SDK 集成到您的 Web 项目中。腾讯云即时通信IM SDK API...

  • iOS腾讯IM集成

    公司最近项目从JMessage到Tencent IM,使用到的腾讯IM。本篇文章会介绍下集成步骤和注意事项。 1....

  • 腾讯云IM接入案列(一)

    合集 腾讯云IM接入案列(一)腾讯云IM接入案列(二)腾讯云IM接入案列(三)腾讯云IM接入案列(四) 前言 前端...

  • 腾讯云IM接入案列(二)

    合集 腾讯云IM接入案列(一)腾讯云IM接入案列(二)腾讯云IM接入案列(三)腾讯云IM接入案列(四) 前言 上面...

  • 腾讯云IM接入案例(三)

    合集 腾讯云IM接入案列(一)腾讯云IM接入案列(二)腾讯云IM接入案列(三)腾讯云IM接入案列(四) 本篇内容 ...

  • 腾讯云IM接入案例(四)

    合集 腾讯云IM接入案列(一)腾讯云IM接入案列(二)腾讯云IM接入案列(三)腾讯云IM接入案列(四) 前言 前三...

  • 腾讯云IM使用总结

    腾讯帝国最重要的产品QQ和微信都是IM为基础,相信腾讯云IM也能有很好的体验,我们在项目上准备使用腾讯云通信。 我...

  • Java对接腾讯IM以及一些方法的简单封装

    一. 腾讯IM快速入门 1. 注册腾讯云账号,找到即时通信IM控制台 腾讯IM控制台:https://consol...

网友评论

      本文标题:Qt+腾讯IM开发笔记(一):腾讯IM介绍、使用和Qt集成腾讯I

      本文链接:https://www.haomeiwen.com/subject/casdvltx.html