若該文為原創文章,轉載請注明原文出處
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/119305601
紅胖子(紅模仿)的博文大全:開發技術集合(包含Qt實用技術、樹莓派、三維、OpenCV、OpenGL、ffmpeg、OSG、單片機、軟硬結合等等)持續更新中…(點擊傳送門)
Qt開發專欄:三方庫開發技術
前言
??開發一個支持全國的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
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/291694.html
標籤:其他
