メッセージ¶
Hive チャット機能は、ユーザーが参加しているチャンネルにメッセージを送信するためのチャンネルメッセージ送信と、特定の個人に直接メッセージを送信するための1:1メッセージ送信をサポートしています。
チャンネルメッセージ送信¶
ユーザーが参加しているチャンネルにメッセージを送信するには、ChannelSendMessageParams
オブジェクトを作成し、それをChatクラスのsendMessage()
メソッドに引数として渡して呼び出します。
チャンネル送信メッセージパラメータ¶
フィールド名 | 説明 | タイプ | 必須 |
---|---|---|---|
channelId | チャンネルメッセージを送信するためのチャンネルID | string | Y |
message | チャンネルに送信するメッセージ (最大200文字) | string | Y |
これは、ユーザーが参加しているチャンネルにメッセージを送信する例のコードです。
#include "HiveChat.h"
FHiveChatChannelSendMessageParams ChannelSendMessageParams;
ChannelSendMessageParams.ChannelId = TEXT("CHANNEL_ID");
ChannelSendMessageParams.Message = TEXT("こんにちはハイブ");
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 = "こんにちはハイブ";
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 = "こんにちはハイブ";
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("こんにちはハイブ");
DirectSendMessageParams.ExtraData = TEXT("EXTRA_DATA");
FHiveChat::SendMessageWithDirectSendMessageParams(DirectSendMessageParams, FHiveChatOnResultDelegate::CreateLambda([this](const FHiveResultAPI& Result) {
if (Result.IsSuccess) {
// API Call Success
}
}));
#import "HIVEService.h"
HiveChatDirectSendMessageParams* sendMessageParams = [[HiveChatDirectSendMessageParams alloc] init];
sendMessageParams.toPlayerId = 12345678;
sendMessageParams.message = "こんにちはハイブ";
sendMessageParams.extraData = "EXTRA_DATA";
[HiveChat sendDirectMessageWithSendMessageParams:sendMessageParams handler:nil];
1:1 メッセージイベント管理¶
1:1メッセージ送信を通じて送信されたメッセージは、addDirectMessageListener
イベントハンドラーのonDirectMessage
イベントを介して受信できます。詳細なイベント処理方法については、イベント管理 > 1:1メッセージイベントドキュメントを参照してください。