官方文档地址
https://docs.agora.io/cn/Real-time-Messaging/run_rtm_unity?platform=Unity
步骤
1.到仓库的Release中下载unitypackage,这里我下载的是RTM1.4.8.hotfix-2.unitypackage,另一个较旧版本的unitypackage会有macOS冲突的警告。
Release地址:https://github.com/AgoraIO-Community/Agora-Unity-RTM-SDK/releases/tag/v1.4.8
2.将unitypackage拖入到你的项目中
3.打开MainScene,在Hierarchy中点击ChatManager,在Inspector中填入AppId
4.此时就可以运行了,但是这里有一个大坑,就是如果你的User Name为中文的话,点击登录没有任何反应,也没有相关报错,于是我开始了漫漫排错之路。
首先我找到按钮点击的触发事件,这里rtmClient.Login()方法若返回0,则表示登录成功,若返回≠0,则表示登录失败。于是修改原脚本,将结果值赋给了flag,并将flag打印出来,最后flag结果为3,那就是登录失败了。
然后我发现脚本中有生成rtm相关的日志,于是通过查看生成的rtm_log.txt日志,在茫茫日志中最终找到登录不成功的原因是因为无效的用户名
日志生成的代码所在位置
登录失败原因另外我还找到了对于用户名的要求
用户名的要求
5.运行之后,开始测试两个端的通信。可以运行之后点击“Open Web Demo”来打开网页端的示例
这里有一些小点需要注意:
- 一定要确保两个端使用的AppId为同一个
- 网页端Account Name(也就是Unity项目中的User Name)不能为中文
- RTM Token可选填
网页端登录成功
unity中登录成功
unity发送呼叫邀请
查询用户是否在线
当进入房间后,当其他用户加入、离开房间时,会触发相关回调函数
发送消息