声网云信令/RTM SDK(Real-time Messaging)Unity版上线,让游戏聊天消息、信令控制更实时、可靠

我们在去年推出了Agora RTC SDK Unity 版,并上线 Unity Asset Store。随着 Unity 社区需求的不断增加,近期 Unity 版的声网Agora 实时消息 RTM SDK 已经上线社区。利用该 SDK,你可以将游戏中的消息聊天、游戏控制指令功能,快速集成到 Unity3D 应用程序中。与Unity 版声网Agora RTC SDK 配合,可实现更丰富的实时互动游戏场景。

目前开发者可通过 Github 获取声网Agora 实时消息 RTM SDK Unity 版。该 SDK 也将于近期上线 Unity Asset Store,届时可直接通过搜索下载。

RTM SDK Unity 版 及 Demo​:point_down:

GitHub - AgoraIO-Community/Agora-Unity-RTM-SDK: A Unity3D sample app to show Login /Logout, Log in to/out of channel, Get Channel Member Count, Send/Receive Channel Message, Send Peer Message, Query Member, and token Authentication

01 什么是 RTM?

RTM 是实时消息(Real-time Messaging)的简称。

在实时互动场景中,用户通常有两种互动方式,一种是通过音视频进行互动,比如语音连麦、视频连麦等;另一种是通过非音视频的方式进行互动,比如文字聊天、世界频道消息、消息用户列表,以及多人游戏角色间的交互等互动。后者可通过实时消息 RTM SDK 来实现。

声网通过 RTM SDK 可以向开发者提供稳定可靠、低延时、高并发的全球消息云服务,帮助开发者快速构建这种基于实时消息的互动场景。

02 在 Unity 中可实现哪些场景?

多人互动游戏的实现非常依赖实时、可靠的消息指令传输,及时将玩家之间的状态和指令互相同步,比如太空狼人杀游戏中,操控角色移动等。不论是以上哪一种互动方式,都需要有低延时、高可靠,支持高并发的传输服务支持。

通过集成 RTM SDK 到 Unity 游戏中,可以实现游戏中的实时消息聊天及控制指令等功能。RTM 的系统架构支持数亿级消息并发,单频道支持百万并发,可支持世界频道消息、一对一消息、群组聊天、游戏角色控制、聊天成员列表、消息管理等多种功能。而且,RTM 服务节点覆盖了全球 200 多个国家和地区,可支持不同国家的用户在游戏中通过文字消息、表情等进行交流。

03 如何在 Unity 使用 RTM SDK?

接下来,我们将通过 Unity 版 RTM SDK 的演示 Demo,展示 RTM SDK 可在 Unity3D 应用程序中实现的功能。

大家可以在 Github 获取 SDK及 Demo​:point_down:

GitHub - AgoraIO-Community/Agora-Unity-RTM-SDK: A Unity3D sample app to show Login /Logout, Log in to/out of channel, Get Channel Member Count, Send/Receive Channel Message, Send Peer Message, Query Member, and token Authentication

环境要求

  • Unity3D 2017或更高版本

  • 真实设备(Android、iOS、Windows、macOS均可)或模拟器

操作步骤

获取声网 App ID

  1. 访问声网官方网站(Agora.io),注册开发人员账户。

  2. 登陆后在开发者控制台,从左侧列表进入【项目管理】页面,【创建】一个新项目。

  3. 在列表中即可查看项目的 App ID。

App ID 是 Agora 为开发项目生成的字符串,是项目的唯一标识。当开发者在 Agora 控制台创建项目时,控制台会自动生成 App ID 用于标识这个项目。

获取 Demo 项目

  1. 在官方GitHub仓库,获取最新的 RTM SDK Unity 版,目前最新版本为 RTM SDK_1.4.2.301.1.unitypackage 。
    81dc28de8f15780e71bea30d366f932d

  2. 将仓库代码通过 Git 克隆到你的主机上,用 Unity 载入已经克隆到本地的项目,即 Unity-RTM-Demo 文件夹。

配置与运行

  1. 从 Unity 的菜单栏选择 Assets - Import Package - Custom Package。找到之前下载的 SDK 文件进行导入。

  2. 在 Unity 的 Hierarchy 列表中,找到 MainScene - ChatManager。

  3. 找到属性设置列表,在 Agora Properties 下的 App Id 项目中,填写我们之前已经获得的项目 App ID。
    33fe6ecd58e26109202029419a272274

  4. 通过菜单栏 File - Build Settings 设置你需要运行的平台,之后可通过 Unity 界面上的 Play 按钮直接运行 Demo,或者通过菜单栏 File - Build And Run 来编译运行。如果要部署到 Windows、Mac、Android 和 iOS,只需遵循常规的 Unity 部署工作流程即可。
    7d68b89971cf50cab98499009df2eef1

Demo 的使用

启动 Unity 版 RTM Demo 后,建议先点击页面上的 Open Web Demo,开启一个 Web 版的 RTM Demo 页面,以配合 Unity 版进行消息的互相发送接收。
d27fde6e348dfa0cfedf9b211b910001

主界面上会显示出当前设定的 App ID 信息。设置你的用户名后,点击 LOGIN,即登陆到了 RTM 服务器。

  1. 在频道中发送消息
  • 设定频道名 Channel Name(如:123),点击 JOIN 加入频道。Web 端注意设定相同的 App ID 和 频道名,即可与 Unity 端进行通讯。

  • 如果两端成功加入相同频道,将会在频道内显示用户成功加入的消息。在 Unity 端 Channel Message 输入内容,点击 SEND 进行发送,可以在 Web 端成功看到我们刚刚输入的消息。

  • 点击 Channel Member Count,可对当前加入的频道,进行人数查询。点击 Leave 可以离开当前频道。

  1. 发送点对点消息
  • 在 Peer ID 中,输入想要发送消息对象的 Account Name / Peer ID(如:Web)。在 Peer Message 中,输入发送消息的内容。点击 SEND 进行发送,即可在 Web 端看到我们刚刚发送的消息。
    9a1608277163551aed6a6685d72499ae
    e755fdaa33b37bac593a48741f64f094
    8f0cbc7e16cc0f0b0df8c80cb2d30f3e
  1. 查询在线状态
  • 在 Query Member 中,输入想要查询在线状态对象的 Account Name / Peer ID(如:Web),点击 QUERY 即可返回查询结果,如 PEER_ONLINE_STATE_ONLINE 即代表当前用户在线。
  1. 发送图片消息

点击 LOGOUT 即可从 RTM 服务器注销。

04 加入交流、吐槽

以上为声网实时消息 RTM SDK 在 Unity 的集成步骤。我们还会分享 Unity RTM Demo 的源码详解,以便不熟悉 RTM SDK 的开发者快速了解其中的接口与调用。

如果你在 Unity RTM SDK 使用过程中,遇到了任何问题,欢迎在 RTC 开发者社区发帖讨论(rtcdeveloper.com

同时,欢迎加入我们的:iphone:扫码微信讨论群,多多吐槽、提建议。
cea4e0cce44dee72e74fe3d81790c03d

二维码过期了