訊息¶
Hive 聊天功能支持 頻道消息發送,以向用戶參與的頻道發送消息,以及 1:1 消息發送,以直接向特定個人發送消息。
頻道訊息發送¶
要向用户参与的频道发送消息,请创建一个 ChannelSendMessageParams
对象,然后将其作为参数传递给 Chat 类的 sendMessage()
方法以调用它。
Channelsendmessageparams¶
欄位名稱 | 描述 | 類型 | 必填 |
---|---|---|---|
channelId | 發送頻道消息的頻道 ID | 字串 | 是 |
message | 發送到頻道的消息 (最多 200 個字元) | 字串 | 是 |
這是一段示範代碼,用於向用戶參與的頻道發送消息。
#include "HiveChat.h"
FHiveChatChannelSendMessageParams ChannelSendMessageParams;
ChannelSendMessageParams.ChannelId = TEXT("CHANNEL_ID");
ChannelSendMessageParams.Message = TEXT("你好 Hive");
ChannelSendMessageParams.ExtraData = TEXT("EXTRA_DATA");
FHiveChat::SendMessageWithChannelSendMessageParams(ChannelSendMessageParams, FHiveChatOnResultDelegate::CreateLambda([this](const FHiveResultAPI& Result) {
if (Result.IsSuccess) {
// API Call Success
}
}));
#include <HIVE_SDK_Plugin/HIVE_CPP.h>
using namespace hive;
ChannelSendMessageParams params;
params.channelId = "CHANNEL_ID";
params.message = "你好 Hive";
params.extraData = "EXTRA_DATA";
Chat::sendMessageWithChannelSendMessageParams(params, [=](ResultAPI const & result) {
if (result.isSuccess()) {
// API Call Success
}
});
#import "HIVEService.h"
HiveChatChannelSendMessageParams* sendMessageParams = [[HiveChatChannelSendMessageParams alloc] init];
sendMessageParams.channelId = "CHANNEL_ID";
sendMessageParams.message = "你好 Hive";
sendMessageParams.extraData = "EXTRA_DATA";
[HiveChat sendMessageWithChannelSendMessageParams:sendMessageParams handler:nil];
頻道消息事件管理¶
發送的消息可以由addChannelListener
事件的onChannelMessage
事件處理程序接收。 有關事件處理的更多詳細信息,請參閱事件管理 > 通道事件文檔。
1:1 訊息發送¶
要向特定收件人发送直接消息,用户创建一个 DirectSendMessageParams
对象,然后将其作为参数传递给 Chat 类的 sendMessage()
方法。
直接發送消息參數¶
欄位名稱 | 描述 | 類型 | 必需 |
---|---|---|---|
toPlayerId | 目標用戶的 Hive 玩家 ID | long | Y |
message | 要發送給目標用戶的消息 (最多 200 個字符) | string | Y |
extraData | 1:1 消息附加信息 最大 256B 字節 (基於 UTF-8) | string | N |
以下是一個用戶向特定收件人發送直接消息的示例代碼。
#include "HiveChat.h"
FHiveChatDirectSendMessageParams DirectSendMessageParams = FHiveChatDirectSendMessageParams();
DirectSendMessageParams.ToPlayerId = 12345678l;
DirectSendMessageParams.Message = TEXT("Hello Hive");
DirectSendMessageParams.ExtraData = TEXT("EXTRA_DATA");
FHiveChat::SendMessageWithDirectSendMessageParams(DirectSendMessageParams, FHiveChatOnResultDelegate::CreateLambda([this](const FHiveResultAPI& Result) {
if (Result.IsSuccess) {
// API 呼叫成功
}
}));
#import "HIVEService.h"
HiveChatDirectSendMessageParams* sendMessageParams = [[HiveChatDirectSendMessageParams alloc] init];
sendMessageParams.toPlayerId = 12345678;
sendMessageParams.message = "你好 Hive";
sendMessageParams.extraData = "EXTRA_DATA";
[HiveChat sendDirectMessageWithSendMessageParams:sendMessageParams handler:nil];
1:1 訊息事件管理¶
透過 1:1 訊息傳輸發送的訊息可以通過 addDirectMessageListener
事件處理程序 onDirectMessage
事件接收。 有關詳細的事件處理方法,請參閱 事件管理 > 1:1 訊息事件 文件。