ข้ามไปที่เนื้อหา

ข้อความ

ฟีเจอร์แชทของ Hive รองรับการ ส่งข้อความในช่อง เพื่อส่งข้อความไปยังช่องที่ผู้ใช้เข้าร่วม และ การส่งข้อความ 1:1 เพื่อส่งข้อความไปยังบุคคลเฉพาะโดยตรง

การส่งข้อความช่อง

ในการส่งข้อความไปยังช่องที่ผู้ใช้เข้าร่วม ให้สร้างวัตถุ ChannelSendMessageParams และส่งเป็นอาร์กิวเมนต์ไปยังวิธี sendMessage() ของคลาส Chat

sendMessage() วิธีการจะส่งคืนผลลัพธ์การส่งและ ChannelSendMessageParams ที่ใช้ในการส่งเป็น retryParam หากการส่งล้มเหลว คุณสามารถพยายามส่งใหม่โดยใช้ retryParams

Channelsendmessageparams

ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น
channelId รหัสช่องในการส่งข้อความ string Y
message ข้อความที่จะส่งไปยังช่อง
(สูงสุด 200 ตัวอักษร)
string Y
extraData ข้อมูลเพิ่มเติมสำหรับข้อความช่อง
สูงสุด 256B ไบต์ (UTF-8)
string N

นี่คือตัวอย่างโค้ดที่ส่งข้อความไปยังช่องที่ผู้ใช้มีส่วนร่วม

using hive;

ChannelSendMessageParams channelSendMessageParams = new ChannelSendMessageParams();
channelSendMessageParams.channelId = "CHANNEL_ID";
channelSendMessageParams.message = "สวัสดี Hive";
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("สวัสดี Hive");
ChannelSendMessageParams.ExtraData = TEXT("EXTRA_DATA");

FHiveChat::SendMessageWithChannelSendMessageParams(ChannelSendMessageParams, FHiveChatOnResultDelegate::CreateLambda([this](const FHiveResultAPI& Result, const FHiveChatChannelSendMessageParams& RetryParams) {
    if (!Result.IsSuccess) {
        // Message Send Failed, Try resending using `RetryParams`
    }
}));
#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, ChannelSendMessageParams const & retryParams) {
    if (!result.isSuccess()) {
        // Message Send Failed, Try resnding using `retryParams`
    }
});
import com.hive.Chat;
import com.hive.ResultAPI;

val params = Chat.ChannelSendMessageParams(
    channelId = "CHANNEL_ID",
    message = "สวัสดี Hive",
    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",
    "สวัสดี Hive",
    "EXTRA_DATA"
);

Chat.sendMessage(params, (result, retryParams) -> {
    if(!result.isSuccess()) {
        // การส่งข้อความล้มเหลว ลองส่งใหม่โดยใช้ `retryParams`
    }
});
import HIVEService

let params = HiveChatParams.ChannelSendMessageParams(
    channelId = "CHANNEL_ID",
    message = "สวัสดี Hive",
    extraData = "EXTRA_DATA"
)
ChatInterface.sendMessage(params) { result, retryParams in
    if !result.isSuccess {
        // Message Send Failed, Try resending using `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`
    }
}];

การจัดการเหตุการณ์ข้อความช่อง

ข้อความที่ส่งสามารถถูกได้รับโดยตัวจัดการเหตุการณ์ onChannelMessage ของเหตุการณ์ addChannelListener สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการจัดการเหตุการณ์ โปรดดูเอกสาร การจัดการเหตุการณ์ > เหตุการณ์ช่อง

การส่งข้อความ 1:1

ในการส่งข้อความตรงไปยังผู้รับเฉพาะ ผู้ใช้จะต้องสร้างวัตถุ DirectSendMessageParams และจากนั้นส่งเป็นอาร์กิวเมนต์ไปยังเมธอด sendMessage() ของคลาส Chat

วิธีการsendMessage() จะคืนค่าผลลัพธ์การส่งและDirectSendMessageParams ที่ใช้ระหว่างการส่งภายใต้ชื่อ retryParam หากการส่งล้มเหลว คุณสามารถลองส่งใหม่โดยใช้ retryParams

Directsendmessageparams

ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น
toPlayerId Hive player ID ของผู้ใช้เป้าหมาย long Y
message ข้อความที่จะส่งไปยังผู้ใช้เป้าหมาย
(สูงสุด 200 ตัวอักษร)
string Y
extraData ข้อมูลเพิ่มเติมสำหรับข้อความ 1:1
สูงสุด 256B Byte (มาตรฐาน UTF-8)
string N

ต่อไปนี้คือตัวอย่างโค้ดสำหรับผู้ใช้ในการส่งข้อความตรงไปยังผู้รับเฉพาะ

using hive;

DirectSendMessageParams directSendMessageParams = new DirectSendMessageParams();
directSendMessageParams.toPlayerId = 12345678;
directSendMessageParams.message = "สวัสดี Hive";
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("สวัสดี Hive");
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 = "สวัสดี Hive";
params.extraData = "EXTRA_DATA";

Chat::sendMessageWithDirectSendMessageParams(params, [=](ResultAPI const & result, DirectSendMessageParams const & retryParams) {
    if (!result.isSuccess()) {
        // Message Send Failed, Try resnding using `retryParams`
    }
});
import com.hive.Chat;
import com.hive.ResultAPI;

val params = Chat.DirectSendMessageParams(
    toPlayerId = 12345678,
    message = "สวัสดี Hive",
    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()) {
        // Message Send Failed, Try resending using `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 {
        // Message Send Failed, Try resending using `retryParams`
    }
}
#import "HIVEService.h"

HiveChatDirectSendMessageParams* sendMessageParams = [[HiveChatDirectSendMessageParams alloc] init];
sendMessageParams.toPlayerId = 12345678;
sendMessageParams.message = "สวัสดี Hive";
sendMessageParams.extraData = "EXTRA_DATA";

[HiveChat sendDirectMessageWithSendMessageParams:sendMessageParams handler:^(HIVEResultAPI * result, HiveChatDirectSendMessageParams * retryParams) {
    if (!result.isSuccess) {
        // การส่งข้อความล้มเหลว ลองส่งใหม่โดยใช้ `retryParams`
    }
}];

การจัดการเหตุการณ์ข้อความ 1:1

ข้อความที่ส่งผ่านการส่งข้อความ 1:1 สามารถรับได้ผ่านตัวจัดการเหตุการณ์ onDirectMessage ของเหตุการณ์ addUserListener สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการจัดการเหตุการณ์ โปรดดูเอกสาร Event Management > User Events

คำขอแปลข้อความ

กำลังพยายามขอการแปลสำหรับข้อความนี้ รหัสภาษาขึ้นอยู่กับมาตรฐาน ISO 639 alpha-2

แปลพารามิเตอร์

ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น
message ข้อความ string Y
sourceLanguage รหัสภาษาของข้อความ หากไม่ระบุ จะถือว่าเป็น auto string N
targetLanguages อาร์เรย์ของรหัสภาษาสำหรับคำขอการแปล string array 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 is translate language messages
    }
}));
#include <HIVE_SDK_Plugin/HIVE_CPP.h>
using namespace hive;

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

Chat::TranslateParams translateParams = new Chat::TranslateParams("hello", "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 = "สวัสดี",
    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(
    "hello",
    "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) {
                // ข้อมูลคือข้อความที่แปลภาษา
            }
          }];