「Typing」開源—— 3步打造屬於本身的實時文字互動社交App

爲了與開發者一塊兒更好地探索互動實時消息的更多可能性,咱們基於聲網雲信令/ RTM(Real-time Messaging)SDK 開源了一個實時文字互動 Demo——「Typing」。從體驗來說,「Typing」與音視頻通話更爲相似。對方打字時的速度或每個停頓均可以被看見,而且實時展現的文字信息與數據也不會有歷史留存。git

開源地址:https://github.com/AgoraIO-Community/typing/releases


「Typing」Demo演示github

這樣一種幾乎「無時延」、無留存信息的互動方式在不少針對 Z 世代羣體(Generation-Z,通常是指在1995年——2009年出生的一代)進行開發的 App 中也受到了普遍的應用。web

好比主打 00 後社交新模式的「Honk」就是一款致力於「消除」社交延時的文字對話互動 App,但願經過「真閱後即焚」的 100% 實時、無歷史數據留存的私密體驗,讓使用者體驗到幾乎無時間差的熟人社交型文字互動。在「Honk」上線的次日,下載排名就達到了美國 iOS 社交類榜單的第 10 位。swift


Honk丨圖片來源:Sensor Tower安全

Z 世代是伴隨着互聯網和社交媒體長大的一代,相較於其餘羣體而言,他們對於技術和互聯網社交的需求顯得更爲原始本能——實時互動、安全及熟人社交。而 「Honk」 之因此可以顛覆傳統的文本消息互動體驗,背後依靠的正是實時消息技術。服務器

關於實時消息

一般實時消息能夠分爲兩種,一種是幫助用戶來交流的消息,好比文字消息、點贊、送禮物、發彈幕等。另外一種則是信令消息,好比聊天室中禁言踢人的權限管理、上麥請求等。與微信、Snapchat 等這類即時通信聊天軟件相比,實時消息傳輸的重點在於信令、消息傳輸的低延時和高送達率上。微信

聲網雲信令/RTM (Real-time Messaging)SDK 是一個通用的消息系統,主要是爲了解決實時場景下信令的低延遲和高併發問題。雲信令/RTM (Real-time Messaging)SDK 的服務器端採用分佈式架構,沒有一個單點或者中心式的狀況,經過多機房多路保活機制,智能優化路徑,在其它節點失效時能夠自動轉移,選擇最優節點路徑傳輸。所以,能夠有效保證傳輸的穩定性與可靠性,在性能方面也能夠支持高吞吐量和低延時。架構

咱們嘗試基於聲網雲信令/RTM(Real-time Messaging) SDK 實現了 「Honk」 中的實時文字消息聊天功能,並做爲 Demo 開源。但願能夠拋磚引玉,與社區的開發者們一塊兒探索更多基於實時信令和虛擬鍵盤的互動實時消息的新玩兒法。併發

「Typing」開源

目前的「Typing」Demo 中,咱們提供了相似 「Honk」 的實時文字聊天,以及點擊對方聊天框發送震動的功能,開發者只須要簡單的幾步就能夠實現。以 iOS 版爲例:app

安裝

更改目錄爲 iOS 文件夾,運行如下命令安裝項目依賴項,

pod install

輸入驗證,生成正確的 xcworkspace

獲取 App ID

要構建並運行示例應用程序,須要獲取一個應用 ID :
👉一、在agora.io建立一個開發者賬戶。完成註冊過程後,會從新回到儀表板。
👉二、在左側的儀表板樹中導航到項目 > 項目列表。
👉三、保存儀表板上的 App ID 以備之後使用。
👉四、生成一個臨時訪問 Token (24 小時內有效) 從儀表板頁面給定的通道名稱,保存之後使用。

*注:對於安全性要求更高的場景,若是想要部署本身的RTM Token服務器,請參閱文檔(https://docs.agora.io/cn/Real-time-Messaging/token_server_rtm

接下來,打開 Typing.xcworkspace 並編輯 KeyCenter.swift 文件。在 KeyCenter 中更新 <#Your App Id#>,用儀表盤生成的 Token 更改<#Temp Access Token#>

*注:若是創建的項目沒有打開security token,能夠將 token 變量保留爲nil。

1Swift
2    struct KeyCenter {
3        static let AppId: String = <#Your App Id#>
4
5        // assign token to nil if you have not enabled app certificate
6        static var Token: String? = <#Temp Access Token#>
7    }

目前,該 Demo 支持 iOS 與 Android 平臺。對於 Android 平臺的小夥伴,能夠選擇下載打包好的 apk 文件,直接體驗「Typing」。

咱們相信,關於聲網雲信令/RTM(Real-time Messaging)SDK 的應用場景和使用方式在不斷涌現的新需求下,還有很大的待挖掘潛力。例如,或許你能夠考慮把手機鍵盤變成一個簡易的虛擬鋼琴鍵盤,爲對方彈奏一首簡單的小樂曲?開發者能夠經過「Typing」,快速瞭解聲網雲信令/RTM(Real-time Messaging) SDK的基本用法,而且繼續探索除了文字實時交流以外的,基於各類類型虛擬鍵盤所進行的 1 對 1 實時互動。

若是你對「Typing」感興趣的話,能夠進入咱們的討論羣與社區的開發者們進行交流,也能夠在 GitHub 倉庫提交 Issue 留下你的問題、收藏/Fork「Typing」項目,或是經過 Pull Request 提交你的創意與成果。

掃描下方二維碼

加入「Typing」討論羣

開源地址:https://github.com/AgoraIO-Community/typing/releases
相關文章
相關標籤/搜索