跳轉至

訊息

Hive 聊天功能支持 頻道消息發送,以向用戶參與的頻道發送消息,以及 1:1 消息發送,以直接向特定個人發送消息。

頻道訊息發送

要向用户参与的频道发送消息,请创建一个 ChannelSendMessageParams 对象,然后将其作为参数传递给 Chat 类的 sendMessage() 方法以调用它。

Channelsendmessageparams

欄位名稱 描述 類型 必填
channelId 發送頻道消息的頻道 ID 字串
message 發送到頻道的消息
(最多 200 個字元)
字串

這是一段示範代碼,用於向用戶參與的頻道發送消息。

using hive;

ChannelSendMessageParams channelSendMessageParams = new ChannelSendMessageParams();
channelSendMessageParams.channelId = "CHANNEL_ID";
channelSendMessageParams.message = "你好 Hive";
    channelSendMessageParams.extraData = "EXTRA_DATA";

Chat.sendMessage(channelSendMessageParams);
#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 com.hive.Chat;
import com.hive.ResultAPI;

val params = Chat.ChannelSendMessageParams(
    channelId = "CHANNEL_ID",
    message = "你好 Hive",
    extraData = "EXTRA_DATA"
)
Chat.sendMessage(params)
import com.hive.Chat;

Chat.ChannelSendMessageParams params = new Chat.ChannelSendMessageParams(
    "CHANNEL_ID",
    "Hello Hive",
    "EXTRA_DATA"
);

Chat.sendMessage(params);
import HIVEService

let params = HiveChatParams.ChannelSendMessageParams(
    channelId = "CHANNEL_ID",
    "你好 Hive",
    "EXTRA_DATA"
)
ChatInterface.sendMessage(params)
#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

以下是一個用戶向特定收件人發送直接消息的示例代碼。

using hive;

DirectSendMessageParams directSendMessageParams = new DirectSendMessageParams();
directSendMessageParams.toPlayerId = 12345678;
directSendMessageParams.message = "你好 Hive";
    directSendMessageParams.extraData = "EXTRA_DATA";

Chat.sendMessage(directSendMessageParams);
#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 呼叫成功
    }
}));
#include <HIVE_SDK_Plugin/HIVE_CPP.h>
using namespace hive;

DirectSendMessageParams params;
params.toPlayerId = 12345678;
params.message = "Hello Hive";
    params.extraData = "EXTRA_DATA";

Chat::sendMessageWithDirectSendMessageParams(params);
import com.hive.Chat;
import com.hive.ResultAPI;

val params = Chat.DirectSendMessageParams(
    toPlayerId = 12345678,
    message = "你好 Hive",
    extraData = "EXTRA_DATA"
)

Chat.sendMessage(params)
import com.hive.Chat;

Chat.DirectSendMessageParams params = new Chat.DirectSendMessageParams(
        12345678,
        "Hello Hive",
        "EXTRA_DATA"
);

Chat.sendMessage(params);
import HIVEService

let params = HiveChatParams.DirectSendMessageParams(toPlayerId: Int64(12345678), message: "Hello Hive", extraData: "EXTRA_DATA")

ChatInterface.sendMessage(sendMessageParams: params)
#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 訊息事件 文件。