日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

网易云信集成视频教程(六):如何快速实现iOS下IM自定义消息收发?

發(fā)布時間:2025/3/8 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 网易云信集成视频教程(六):如何快速实现iOS下IM自定义消息收发? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

第三期視頻集成教程中,我們介紹了Android自定義消息的實現(xiàn),有小伙伴留言問我們會有iOS版本嗎,現(xiàn)在iOS版本來了!第六期視頻教程我們將教大家如何快速實現(xiàn)iOS下IM自定義消息收發(fā)。

第六期

如何實現(xiàn)iOS下IM自定義消息收發(fā)

9分鐘視頻手把手教你接入

文檔詳解

前期準備

1. 注冊網(wǎng)易云賬號后,創(chuàng)建網(wǎng)易云信應(yīng)用,獲取對應(yīng)的Appkey。

2. 在該應(yīng)用下,注冊賬號(accid或account),并獲取密碼(token)。

集成思路

自定義消息概述:云信提供了幾種基礎(chǔ)的消息類型,但無法滿足所有開發(fā)者的業(yè)務(wù)需求,自定義消息應(yīng)運而生。自定義消息需要開發(fā)者實現(xiàn)的內(nèi)容主要是三大部分:序列化、反序列化與注冊自定義消息解析器,其余的工作SDK內(nèi)部會自動處理好,無需開發(fā)者關(guān)心。

展現(xiàn)形式說明:在上期的基礎(chǔ)上,引入一種帶有主副標題的自定義消息。并實現(xiàn)一個專門的發(fā)送按鈕來發(fā)送該類型的自定義消息。實現(xiàn)效果如下圖所示:

具體步驟

1. 消息體構(gòu)建:序列化

在上期工程的基礎(chǔ)上,新建一個文件夾CustomChatCell,并再建一個子文件夾Message用于存放自定義消息本身代碼文件。

首先在Message文件夾下創(chuàng)建一個名為NTESAttachment的NSObject的子類,遵循NIMCustomAttachment協(xié)議,用于承載自定義消息,并同時增加主副標題屬性。

其次在NTESAttachment.m中實現(xiàn)NIMCustomAttachment協(xié)議的-encodeAttachment:方法,用于自定義消息附件的序列化。

Tip:若應(yīng)用中有多種自定義消息類型,則需要創(chuàng)建多個類似NTESAttachment的類。

2. 解析器構(gòu)建:反序列化

與步驟1相似,首先在Message文件夾下創(chuàng)建一個名為NTESAttachmentDecoder的NSObject的子類,遵循NIMCustomAttachmentCoding協(xié)議。

其次,在NTESAttachmentDecoder.m中實現(xiàn)NIMCustomAttachmentCoding協(xié)議的-decodeAttachment:方法,用于自定義消息附件的反序列化,即解析。

Tip:與步驟1中不同,針對應(yīng)用中存在多種自定義消息類型時,不必創(chuàng)建多種解析器。該種情況下,建議是在自定義的附件內(nèi)容中增加一個標記自定義類型的type字段。然后解析器針對不同的case走入不同的解析邏輯。

至此,自定義消息的序列化與反序列化已完畢。

3. 增加發(fā)送按鈕

在CustomChatCell文件夾下新建一個遵循NIMSessionConfig協(xié)議的類NTESSessionConfig。并在原defaultMediaItems基礎(chǔ)上新增一個自定義消息的發(fā)送按鈕。并為之增加資源圖片icon_custom_normal與icon_custom_pressed。

之后,將其注入到聊天頁面NTESSessionViewController中,并為點擊事件書寫發(fā)送自定義消息的代碼。

4. 消息氣泡設(shè)計

在CustomChatCell文件夾下新建一個類NTESCellLayoutConfig,繼承自NIMCellLayoutConfig。并在其實現(xiàn)部分書寫三個方法:判斷是否是自定義消息、設(shè)定自定義氣泡的大小和加載的對應(yīng)自定義氣泡contentView。即若為自定義消息,則-cellContent:方法返回為NTESContentView。

接下來,我們進一步設(shè)計NTESContentView。繼續(xù)在Message文件夾下創(chuàng)建一個繼承自NIMSessionMessageContentView的類NTESContentView,并添加兩個UILabel對象作為承載主副標題的屬性。

在實現(xiàn)部分實現(xiàn)三個方法:

-initSessionMessageContentView:初始化方法,設(shè)計ContentView的樣式。

-refresh:該方法負責(zé)自定義消息的數(shù)據(jù)填充。

layoutSubviews:負責(zé)設(shè)置樣式布局。

5. 注冊解析器

在云信SDK初始化代碼后,增加自定義消息解析器的注冊。

至此,自定義消息已經(jīng)集成完畢,趕緊試試吧~

點擊【閱讀原文】

看更多集成視頻教程

總結(jié)

以上是生活随笔為你收集整理的网易云信集成视频教程(六):如何快速实现iOS下IM自定义消息收发?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。