Qt+騰訊IM開發筆記(一):騰訊IM介紹、使用和Qt集成騰訊IM-SDK的工程模板Demo


前言

  開發一個支持全國的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

# ImSDK INCLUDEPATH += $$PWD/ImSDK/includes HEADERS += \ $$PWD/ImSDK/includes/TIMCloud.h \ $$PWD/ImSDK/includes/TIMCloudCallback.h \ $$PWD/ImSDK/includes/TIMCloudComm.h \ $$PWD/ImSDK/includes/TIMCloudDef.h LIBS += -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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM