「Typing」开源—— 3步打造属于自己的实时文字互动社交App

Agora.io

为了与开发者一起更好地探索互动实时消息的更多可能性,我们基于声网云信令/ RTM(Real-time Messaging)SDK 开源了一个实时文字互动 Demo——「Typing」。从体验来讲,「Typing」与音视频通话更为类似。对方打字时的速度或每一个停顿都可以被看见,并且实时展示的文字信息与数据也不会有历史留存。

开源地址:github.com/AgoraIO-Com…

「Typing」Demo演示

这样一种几乎“无时延”、无留存信息的互动方式在很多针对 Z 世代群体(Generation-Z,一般是指在1995年——2009年出生的一代)进行开发的 App 中也受到了广泛的应用。

比如主打 00 后社交新模式的「Honk」就是一款致力于“消除”社交延时的文字对话互动 App,希望通过“真阅后即焚”的 100% 实时、无历史数据留存的私密体验,让使用者体验到几乎无时间差的熟人社交型文字互动。在「Honk」上线的第二天,下载排名就达到了美国 iOS 社交类榜单的第 10 位。

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 版为例:

安装

更改目录为 iOS 文件夹,运行以下命令安装项目依赖项,

pod install
复制代码

输入验证,生成正确的 xcworkspace

获取 App ID

要构建并运行示例应用程序,需要获取一个应用 ID : 👉1、在agora.io创建一个开发者帐户。完成注册过程后,会重新回到仪表板。 👉2、在左侧的仪表板树中导航到项目 > 项目列表。 👉3、保存仪表板上的 App ID 以备以后使用。 👉4、生成一个临时访问 Token (24 小时内有效) 从仪表板页面给定的通道名称,保存以后使用。

*注:对于安全性要求更高的场景,如果想要部署自己的RTM Token服务器,请参阅文档(docs.agora.io/cn/Real-tim…

接下来,打开 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」讨论群

开源地址:github.com/AgoraIO-Com…
文章分类
阅读
文章标签