开发者中心
All
Agora.io 社区
如何使用 Agora RTM SDK 实现直播间礼物发送功能?
分类: 集成类    平台: Android / iOS / macOS / Web / Windows / Linux / RESTful   最后更新时间: 2020/11/11 22:49:27

简介

为增添实时音视频互动的趣味性,你可以结合 Agora RTM SDK 实现虚拟礼物发送功能。观众可以向主播发送虚拟礼物,且直播间中所有用户都可以看到礼物。

实现方法

下文展示如何通过 RTM SDK 实现礼物发送功能。使用前,请确保你的项目中已经集成了 RTM SDK。具体的集成文档,请参考 Agora RTM SDK 快速开始

使用 RTM SDK 发送礼物的基本 API 时序图如下:

具体步骤如下:

  1. 客户端调用 sendMessageToPeer 向服务端发送点对点消息,标记礼物请求和类型。
  2. 服务端校验之后调用 sendMessageToPeer 向客户端发送点对点消息,标记礼物类型。
  3. 客户端收到点对点消息后,调用 sendMessage 发送频道消息实现礼物发送功能。客户端根据接收到的频道消息渲染礼物画面。
  4. 客户端在收到 onSuccess 回调后,调用 sendMessageToPeer 通知服务端频道消息已成功发送。为了保证频道消息可以成功发送,你可以增加代码逻辑,使服务端在未及时收到 onMessageReceived 回调时提醒客户端重新发送频道消息。
为保障数据安全,Agora 建议你对所有客户端与服务端之间的消息加密。

各语言方法对照表

本文提及的方法名均为 Java 语言。其他语言对应的方法名如下表所示:

Java C++ Objective-C JavaScript
sendMessageToPeer sendMessageToPeer sendMessage sendMessageToPeer
sendMessage sendMessage sendMessage sendMessage
onSuccess onSendMessageResult AgoraRtmSendPeerMessageBlock PeerMessageSendResult
onMessageReceived onMessageReceivedFromPeer messageReceived MessageFromPeer
score