コンテンツにスキップ

メッセージ

Hive チャット機能は、ユーザーが参加しているチャンネルにメッセージを送信するためのチャンネルメッセージ送信と、特定の個人に直接メッセージを送信するための1:1 メッセージ送信をサポートしています。

チャンネルメッセージ送信

ユーザーが参加しているチャンネルにメッセージを送信するには、ChannelSendMessageParamsオブジェクトを作成し、それをChatクラスのsendMessage()メソッドの引数として渡します。

sendMessage() メソッドは、送信結果と送信に使用された ChannelSendMessageParamsretryParam として返します。 送信が失敗した場合は、retryParams を使用して再送信を試みることができます。

チャンネル送信メッセージパラメータ

フィールド名 説明 タイプ 必須
channelId メッセージを送信するチャンネルID 文字列 Y
message チャンネルに送信するメッセージ
(最大200文字)
文字列 Y
extraData チャンネルメッセージの追加情報
最大256Bバイト (UTF-8)
文字列 N
replyMessageId 返信するメッセージID 文字列 N
mentionedPlayerIds メンションするプレイヤーID リスト <long> N

これは、ユーザーが参加したチャンネルにメッセージを送信する例のコードです。

using hive;

ChannelSendMessageParams channelSendMessageParams = new ChannelSendMessageParams();
channelSendMessageParams.channelId = "CHANNEL_ID";
channelSendMessageParams.message = "こんにちはハイブ";
channelSendMessageParams.extraData = "EXTRA_DATA";

Chat.sendMessage(channelSendMessageParams, (ResultAPI result, ChannelSendMessageParams retryParams) => {
    if (!result.isSuccess()) {
        // メッセージ送信に失敗しました。`retryParams`を使用して再送信を試みます。

    }
});
#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, const FHiveChatChannelSendMessageParams& RetryParams) {
    if (!Result.IsSuccess) {
        // メッセージ送信に失敗しました。`RetryParams`を使用して再送信を試みてください。
    }
}));
#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, ChannelSendMessageParams const & retryParams) {
    if (!result.isSuccess()) {
        // メッセージ送信に失敗しました。`retryParams`を使用して再送信を試みてください。
    }
});
import com.hive.Chat;
import com.hive.ResultAPI;

val params = Chat.ChannelSendMessageParams(
    channelId = "CHANNEL_ID",
    message = "こんにちはハイブ",
    extraData = "EXTRA_DATA"
)
Chat.sendMessage(params, object: Chat.SendMessageListener {
    override fun onResult(
        result: ResultAPI,
        retryParams: Chat.ChannelSendMessageParams?
    ) {
        if (!result.isSuccess) {
            // メッセージ送信に失敗しました。`retryParams`を使用して再送信を試みてください。
        }
    }
})
import com.hive.Chat;

Chat.ChannelSendMessageParams params = new Chat.ChannelSendMessageParams(
    "CHANNEL_ID",
    "こんにちはハイブ",
    "EXTRA_DATA"
);

Chat.sendMessage(params, (result, retryParams) -> {
    if(!result.isSuccess()) {
        // メッセージ送信に失敗しました。`retryParams`を使って再送信を試みてください。
    }
});
import HIVEService

let params = HiveChatParams.ChannelSendMessageParams(
    channelId = "CHANNEL_ID",
    message = "こんにちはハイブ",
    extraData = "EXTRA_DATA"
)
ChatInterface.sendMessage(params) { result, retryParams in
    if !result.isSuccess {
        // メッセージ送信に失敗しました。`retryParams`を使用して再送信を試みてください。
    }
}
#import "HIVEService.h"

HiveChatChannelSendMessageParams* sendMessageParams = [[HiveChatChannelSendMessageParams alloc] init];
sendMessageParams.channelId = "CHANNEL_ID";
sendMessageParams.message = "こんにちはHive";
sendMessageParams.extraData = "EXTRA_DATA";

[HiveChat sendMessageWithChannelSendMessageParams:sendMessageParams handler:^(HIVEResultAPI * result, HiveChatChannelSendMessageParams * retryParams) {
    if (!result.isSuccess) {
        // メッセージ送信に失敗しました。`retryParams`を使用して再送信を試みてください
    }
}];

以下は、ユーザーが参加したチャンネル内の特定のターゲットメッセージに返信を送信するための例コードです。

using hive;

ChannelSendMessageParams channelSendMessageParams = new ChannelSendMessageParams();
channelSendMessageParams.channelId = "CHANNEL_ID";
channelSendMessageParams.message = "こんにちはハイブ";
channelSendMessageParams.replyMessageId = "TARGET_MESSAGE_ID";

Chat.sendMessage(channelSendMessageParams, (ResultAPI result, ChannelSendMessageParams retryParams) => {
    if (!result.isSuccess()) {
        // メッセージ送信に失敗しました。`retryParams`を使用して再送信を試みてください

    }
});
#include "HiveChat.h"

FHiveChatChannelSendMessageParams ChannelSendMessageParams;
ChannelSendMessageParams.ChannelId = TEXT("CHANNEL_ID");
ChannelSendMessageParams.Message = TEXT("こんにちはハイブ");
ChannelSendMessageParams.ReplyMessageId = TEXT("TARGET_MESSAGE_ID");

FHiveChat::SendMessageWithChannelSendMessageParams(ChannelSendMessageParams, FHiveChatOnResultDelegate::CreateLambda([this](const FHiveResultAPI& Result, const FHiveChatChannelSendMessageParams& RetryParams) {
    if (!Result.IsSuccess) {
        // メッセージ送信に失敗しました。`RetryParams`を使用して再送信を試みてください。
    }
}));
#include <HIVE_SDK_Plugin/HIVE_CPP.h>
  using namespace hive;

ChannelSendMessageParams params;
params.channelId = "CHANNEL_ID";
params.message = "こんにちはハイブ";
params.replyMessageId = "TARGET_MESSAGE_ID";

Chat::sendMessageWithChannelSendMessageParams(params, [=](ResultAPI const & result, ChannelSendMessageParams const & retryParams) {
    if (!result.isSuccess()) {
        // メッセージの送信に失敗しました。`retryParams`を使用して再送信を試みてください。
    }
});
import com.hive.Chat;
import com.hive.ResultAPI;

val params = Chat.ChannelSendMessageParams(
    channelId = "CHANNEL_ID",
    message = "こんにちはハイブ",
    replyMessageId = "TARGET_MESSAGE_ID"
)
Chat.sendMessage(params, object: Chat.SendMessageListener {
    override fun onResult(
        result: ResultAPI,
        retryParams: Chat.ChannelSendMessageParams?
    ) {
        if (!result.isSuccess) {
            // メッセージ送信に失敗しました。`retryParams`を使って再送信を試みてください
        }
    }
})
import com.hive.Chat;

Chat.ChannelSendMessageParams params = new Chat.ChannelSendMessageParams(
    "CHANNEL_ID",
    "こんにちはハイブ",
    "EXTRA_DATA",
    "TARGET_MESSAGE_ID"
);

Chat.sendMessage(params, (result, retryParams) -> {
    if(!result.isSuccess()) {
        // メッセージ送信に失敗しました。`retryParams`を使用して再送信を試みてください。
    }
});
import HIVEService

let params = HiveChatParams.ChannelSendMessageParams(
    channelId = "CHANNEL_ID",
    message = "こんにちはハイブ",
    replyMessageId = "TARGET_MESSAGE_ID"
)
ChatInterface.sendMessage(params) { result, retryParams in
    if !result.isSuccess {
        // メッセージ送信に失敗しました。`retryParams`を使用して再送信を試みてください。
    }
}
#import "HIVEService.h"

HiveChatChannelSendMessageParams* sendMessageParams = [[HiveChatChannelSendMessageParams alloc] init];
sendMessageParams.channelId = "CHANNEL_ID";
sendMessageParams.message = "こんにちはHive";
sendMessageParams.replyMessageId = "TARGET_MESSAGE_ID";

[HiveChat sendMessageWithChannelSendMessageParams:sendMessageParams handler:^(HIVEResultAPI * result, HiveChatChannelSendMessageParams * retryParams) {
    if (!result.isSuccess) {
        // メッセージの送信に失敗しました。`retryParams`を使用して再送信を試みてください
    }
}];

以下は、ユーザーが参加したチャンネルで特定のユーザーに言及するメッセージを送信するための例コードです。

using hive;

ChannelSendMessageParams channelSendMessageParams = new ChannelSendMessageParams();
channelSendMessageParams.channelId = "CHANNEL_ID";
channelSendMessageParams.message = "こんにちはハイブ";

List<long> playerIds = new List<long>();
playerIds.Add(1234);  // User 1 PlayerId
playerIds.Add(5678);  // User 2 PlayerId
channelSendMessageParams.mentionedPlayerIds = playerIds;

Chat.sendMessage(channelSendMessageParams, (ResultAPI result, ChannelSendMessageParams retryParams) => {
    if (!result.isSuccess()) {
        // メッセージ送信に失敗しました。`retryParams`を使用して再送信を試みてください

    }
});
#include "HiveChat.h"

FHiveChatChannelSendMessageParams ChannelSendMessageParams;
ChannelSendMessageParams.ChannelId = TEXT("CHANNEL_ID");
ChannelSendMessageParams.Message = TEXT("こんにちはハイブ");

TArray<int64> PlayerIds;
PlayerIds.Add(1234); // User 1 PlayerId
PlayerIds.Add(5678); // User 2 PlayerId
ChannelSendMessageParams.MentionedPlayerIds = PlayerIds;

FHiveChat::SendMessageWithChannelSendMessageParams(ChannelSendMessageParams, FHiveChatOnResultDelegate::CreateLambda([this](const FHiveResultAPI& Result, const FHiveChatChannelSendMessageParams& RetryParams) {
    if (!Result.IsSuccess) {
        // メッセージ送信に失敗しました。`RetryParams`を使用して再送信を試みてください。
    }
}));
#include <HIVE_SDK_Plugin/HIVE_CPP.h>
  using namespace hive;

ChannelSendMessageParams params;
params.channelId = "CHANNEL_ID";
params.message = "こんにちはハイブ";

std::vector<int64_t> playerIds;
playerIds.push_back(1234);  // User 1 PlayerId
playerIds.push_back(5678);  // User 2 PlayerId
params.mentionedPlayerIds = playerIds;

Chat::sendMessageWithChannelSendMessageParams(params, [=](ResultAPI const & result, ChannelSendMessageParams const & retryParams) {
    if (!result.isSuccess()) {
        // メッセージ送信に失敗しました。`retryParams`を使用して再送信を試みてください。
    }
});
import com.hive.Chat;
import com.hive.ResultAPI;

val playerIds = listOf(1234L, 5678L) // User 1, 2のPlayerId
val params = Chat.ChannelSendMessageParams(
    channelId = "CHANNEL_ID",
    message = "こんにちはハイブ",
    replyMessageId = "TARGET_MESSAGE_ID",
    mentionedPlayerIds = playerIds
)
Chat.sendMessage(params, object: Chat.SendMessageListener {
    override fun onResult(
        result: ResultAPI,
        retryParams: Chat.ChannelSendMessageParams?
    ) {
        if (!result.isSuccess) {
            // メッセージ送信に失敗しました。`retryParams`を使用して再送信を試みてください
        }
    }
})
import com.hive.Chat;

List<Long> mentionedPlayerIds = new ArrayList<>();
mentionedPlayerIds.add(1234L); // ユーザー1のPlayerId
mentionedPlayerIds.add(5678L); // ユーザー2のPlayerId

Chat.ChannelSendMessageParams params = new Chat.ChannelSendMessageParams(
    "CHANNEL_ID",
    "こんにちはハイブ",
    "EXTRA_DATA"
);
params.mentionedPlayerIds = mentionedPlayerIds;

Chat.sendMessage(params, (result, retryParams) -> {
    if(!result.isSuccess()) {
        // メッセージ送信に失敗しました。`retryParams`を使用して再送信を試みてください。
    }
});
import HIVEService

var playerIds: [Int64] = [1234, 5678] // User 1, 2のPlayerId

let params = HiveChatParams.ChannelSendMessageParams(
    channelId = "CHANNEL_ID",
    message = "こんにちはハイブ",
    mentionedPlayerIds = playerIds
)
ChatInterface.sendMessage(params) { result, retryParams in
    if !result.isSuccess {
        // メッセージ送信に失敗しました。`retryParams`を使用して再送信を試みてください。
    }
}
#import "HIVEService.h"

HiveChatChannelSendMessageParams* sendMessageParams = [[HiveChatChannelSendMessageParams alloc] init];
sendMessageParams.channelId = @"CHANNEL_ID";
sendMessageParams.message = @"こんにちはハイブ";

NSMutableArray<NSNumber *> *playerIds = [NSMutableArray array];
[playerIds addObject:@(1234)]; // 사용자 1 PlayerId
[playerIds addObject:@(5678)]; // 사용자 2 PlayerId
sendMessageParams.mentionedPlayerIds = playerIds;

[HiveChat sendMessageWithChannelSendMessageParams:sendMessageParams handler:^(HIVEResultAPI * result, HiveChatChannelSendMessageParams * retryParams) {
    if (!result.isSuccess) {
        // メッセージの送信に失敗しました。`retryParams`を使用して再送信を試みてください
    }
}];

チャンネルメッセージにリアクションを追加または削除する

ユーザーは、参加しているチャンネル内の特定のユーザーからのメッセージにリアクションを追加または削除できます。メッセージリアクション機能は、ユーザーが自分の感情を簡単に表現し、リアルタイムで迅速なフィードバックを提供できるようにし、ゲーム内コミュニケーションをより効果的にします。特に、チャンネル内の会話の流れをより活気に満ちた直感的なものにするのに役立ちます。

Note

現在、サポートされているのは「いいね」リアクションタイプのみです。将来的には、他のリアクションタイプが追加される予定です。

以下は、ユーザーが参加したチャンネルのメッセージに対して、特定のユーザーからのリアクションを追加または削除するための例コードです。

using hive;

String messageId = "TARGET_MESSAGE_ID";
ReactionType type = ReactionType.Like;

channel.addReaction(messageId, type, (ResultAPI result, ReactionType reactionType) => {
    if (result.isSuccess()) {
        // API Call Success
    }
});

channel.removeReaction(messageId, type, (ResultAPI result, ReactionType reactionType) => {
    if (result.isSuccess()) {
        // API Call Success
    }
});
#include "HiveChat.h"

FString MessageId = TEXT("TARGET_MESSAGE_ID");
EReactionType Type = EReactionType::Like;

channel.AddReaction(MessageId, Type, FHiveChatOnReactionDelegate::CreateLambda([this](const FHiveResultAPI& Result, EReactionType Type) {
    if (Result.IsSuccess()) {
        // API Call Success
    }
}));

channel.RemoveReaction(MessageId, Type, FHiveChatOnReactionDelegate::CreateLambda([this](const FHiveResultAPI& Result, EReactionType Type) {
    if (Result.IsSuccess()) {
        // API Call Success
    }
}));
#include <HIVE_SDK_Plugin/HIVE_CPP.h>
using namespace hive;

std::string messageId = "TARGET_MESSAGE_ID";
ReactionType type = ReactionType::Like;

channel.addReaction(messageId, type, [=](ResultAPI const & result, ReactionType type) {
    if (result.isSuccess()) {
        // API Call Success
    }
});

channel.removeReaction(messageId, type, [=](ResultAPI const & result, ReactionType type) {
    if (result.isSuccess()) {
        // API Call Success
    }
});
import com.hive.Chat;
import com.hive.ResultAPI;

val messageId = "TARGET_MESSAGE_ID"
val type = Chat.ReactionType.Like;

channel.addReaction(messageId, type, object: Chat.ReactionListener {
    override fun onResult(result: ResultAPI, type: Chat.ReactionType) {
        if (result.isSuccess()) {
            // API Call Success
        }
    }
})

channel.removeReaction(messageId, type, object: Chat.ReactionListener {
    override fun onResult(result: ResultAPI, type: Chat.ReactionType) {
        if (result.isSuccess()) {
            // API Call Success
        }
    }
})
import com.hive.Chat;

String messageId = "TARGET_MESSAGE_ID";
Chat.ReactionType type = Chat.ReactionType.Like;

Chat.addReaction(messageId, type, new Chat.ReactionListener() {
    @Override
    public void onResult(ResultAPI result, ReactionType type) {
        if (result.isSuccess()) {
            // API Call Success
        }
    }
});

Chat.removeReaction(messageId, type, new Chat.ReactionListener() {
    @Override
    public void onResult(ResultAPI result, ReactionType type) {
        if (result.isSuccess()) {
            // API Call Success
        }
    }
});
import HIVEService

let messageId = "TARGET_MESSAGE_ID"
let reactionType: ReactionType = .like

ChatInterface.addReaction(messageId: messageId, type: reactionType) { result, type in
    if result.isSuccess {
        // API Call Success
    }
}

ChatInterface.removeReaction(messageId: messageId, type: reactionType) { result, type in
    if result.isSuccess {
        // API Call Success
    }
}
#import "HIVEService.h"

NSString *messageId = @"TARGET_MESSAGE_ID";
HiveChatReactionType reactionType = HiveChatReactionTypeLike;

[channel addReactionWithMessageId:messageId type:reactionType handler:^(ResultAPI *result, HiveChatReactionType type) {
    if (result.isSuccess) {
        // API Call Success
    }
}];

[channel removeReactionWithMessageId:messageId type:reactionType handler:^(ResultAPI *result, HiveChatReactionType type) {
    if (result.isSuccess) {
        // API Call Success
    }
}];

チャンネルメッセージイベント管理

送信されたメッセージは、addChannelListenerイベントのonChannelMessageイベントハンドラーによって受信されます。イベント処理の詳細については、イベント管理 > チャンネルイベントドキュメントを参照してください。

1:1 メッセージ送信

特定の受信者にダイレクトメッセージを送信するには、ユーザーはDirectSendMessageParamsオブジェクトを作成し、それをChatクラスのsendMessage()メソッドに引数として渡します。

sendMessage() メソッドは、送信結果と送信中に使用された DirectSendMessageParamsretryParam という名前で返します。 送信が失敗した場合は、retryParams を使用して再送信を試みることができます。

直接送信メッセージパラメータ

フィールド名 説明 タイプ 必須
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 = "こんにちはハイブ";
directSendMessageParams.extraData = "EXTRA_DATA";

Chat.sendMessage(directSendMessageParams, (ResultAPI result, DirectSendMessageParams retryParams) => {
    if (!result.isSuccess()) {
        // メッセージ送信に失敗しました。`retryParams`を使用して再送信を試みてください

    }
});
#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, const FHiveChatDirectSendMessageParams& RetryParams) {
    if (!Result.IsSuccess) {
        // メッセージ送信に失敗しました。`RetryParams`を使用して再送信を試みてください。
    }
}));
#include <HIVE_SDK_Plugin/HIVE_CPP.h>
using namespace hive;

DirectSendMessageParams params;
params.toPlayerId = 12345678;
params.message = "こんにちはハイブ";
params.extraData = "EXTRA_DATA";

Chat::sendMessageWithDirectSendMessageParams(params, [=](ResultAPI const & result, DirectSendMessageParams const & retryParams) {
    if (!result.isSuccess()) {
        // メッセージ送信に失敗しました。`retryParams`を使用して再送信を試みてください。
    }
});
import com.hive.Chat;
import com.hive.ResultAPI;

val params = Chat.DirectSendMessageParams(
    toPlayerId = 12345678,
    message = "こんにちはハイブ",
    extraData = "EXTRA_DATA"
)

Chat.sendMessage(params, object: Chat.SendMessageListener {
    override fun onResult(
        result: ResultAPI,
        retryParams: Chat.DirectSendMessageParams?
    ) {
        if (!result.isSuccess) {
            // メッセージ送信に失敗しました。`retryParams`を使用して再送信を試みてください。
        }
    }
})
import com.hive.Chat;

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

Chat.sendMessage(params, (result, retryParams) -> {
    if(!result.isSuccess()) {
        // メッセージ送信に失敗しました。`retryParams`を使用して再送信を試みてください。
    }
});
import HIVEService

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

ChatInterface.sendMessage(sendMessageParams: params) { result, retryParams in
    if !result.isSuccess {
        // メッセージ送信に失敗しました。`retryParams`を使用して再送信を試みてください。
    }
}
#import "HIVEService.h"

HiveChatDirectSendMessageParams* sendMessageParams = [[HiveChatDirectSendMessageParams alloc] init];
sendMessageParams.toPlayerId = 12345678;
sendMessageParams.message = "こんにちはハイブ";
sendMessageParams.extraData = "EXTRA_DATA";

[HiveChat sendDirectMessageWithSendMessageParams:sendMessageParams handler:^(HIVEResultAPI * result, HiveChatDirectSendMessageParams * retryParams) {
    if (!result.isSuccess) {
        // メッセージ送信に失敗しました。`retryParams`を使用して再送信を試みてください
    }
}];

1:1 メッセージイベント管理

1:1メッセージ送信を通じて送信されたメッセージは、addUserListenerイベントのonDirectMessageイベントハンドラーを介して受信できます。イベント処理の詳細については、イベント管理 > ユーザーイベントドキュメントを参照してください。

メッセージ翻訳リクエスト

メッセージの翻訳をリクエストしようとしています。 言語コードはISO 639 alpha-2標準に基づいています。

翻訳パラメータ

フィールド名 説明 タイプ 必須
message メッセージ 文字列 Y
sourceLanguage メッセージの言語コード。省略された場合はautoとして推測されます。 文字列 N
targetLanguages 翻訳リクエストのための言語コードの配列 文字列配列 Y
using hive;

List<String> targetLanguages = new List<String>();
targetLanguages.Add("ko");
targetLanguages.Add("ja");
targetLanguages.Add("ar");

TranslateParams translateParams = new TranslateParams("hello", "auto", targetLanguages);

Chat.translate(translateParams, (ResultAPI result, TranslationData data) => {
    if (result.isSuccess() && data != null) {
        // data is translate languages
    }
});
#include "HiveChat.h"

TArray<FString> TargetLanguages;
TargetLanguages.Add(TEXT("ko"));
TargetLanguages.Add(TEXT("ja"));
TargetLanguages.Add(TEXT("ar"));

FHiveChatTranslateParams TranslateParams = FHiveChatTranslateParams(TEXT("こんにちは"), TEXT("auto"), TargetLanguages);

FHiveChat::Translate(TranslateParams, FHiveChatOnResultDelegate::CreateLambda([this](const FHiveResultAPI& Result, const FHiveChatTranslationData& data) {
    if (Result.ISSuccess && data != null) {
        // dataは翻訳された言語メッセージです
    }
}));
#include <HIVE_SDK_Plugin/HIVE_CPP.h>
using namespace hive;

std::vector<std::string> targetLanguages = { "ko", "ja", "ar" };

Chat::TranslateParams translateParams = new Chat::TranslateParams("こんにちは", "auto", targetLanguages);

Chat::translate(translateParams, [=](ResultAPI const & result, Chat::TranslationData const & data) {
    if (!result.isSuccess() && data != null ) {
        // data is translate language messages
    }
});
import com.hive.Chat;
import com.hive.ResultAPI;

var translateParams = Chat.TranslateParams(
    message = "hello",
    sourceLanguage = "auto",
    targetLanguages = ["ko", "ja", "ar"]
)

Chat.translate(translateParams, object: Chat.TranslateParamsListener {
    override fun onResult(
        result: ResultAPI,
        data: Chat.TranslationData?
    ) {
        if (!result.isSuccess && data != null) {
            // data is translate language maessages
        } 
    }
})
import com.hive.Chat;

Chat.TranslateParams translateParams = new Chat.TranslateParams(
    "こんにちは",
    "auto",
    ["ko", "ja", "ar"]
);

Chat.translate(translateParams, (result, data) -> {
    if(result.isSuccess() && data != null) {
        // data is translate language messages
    }
});
import HIVEService

let translateParams = HiveChatParams.TranslateParams("hello", "auto", ["ko", "ja", "ar"])
ChatInterface.translate(params: translateParams) { result, data in
    if result.isSuccess(), let data {
        // data is translate language messages
    }
}
#import "HIVEService.h"

NSArray<NSString *> *targetLanguages = @[@"ko", @"ja", @"ar"];
HiveChatTranslateParams translateParams = [[HiveChatTranslateParams alloc] message: @"hello"
                                                                           sourceLanguage: @"auto"
                                                                           targetLanguages: targetLanguages];


[HiveChat translateWithParams: translateParams
          handler:^(HIVEResultAPI * result, HiveChatTranslationData * data) {
            if (result.isSuccess && data) {
                // dataは翻訳された言語メッセージです
            }
          }];