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

การจัดการเหตุการณ์

ฟีเจอร์แชทของแบรนด์ Hive ส่งมอบเหตุการณ์สามประเภทไปยังแอปไคลเอนต์

  • เหตุการณ์การเชื่อมต่อ
  • เหตุการณ์ช่อง
  • เหตุการณ์ข้อความ 1:1

คุณสามารถรับเหตุการณ์ได้โดยการลงทะเบียนตัวฟังเหตุการณ์ด้วยคีย์ที่กำหนดเอง

เหตุการณ์การเชื่อมต่อ

เหตุการณ์การเชื่อมต่อคือเหตุการณ์ที่เกี่ยวข้องกับการเชื่อมต่อเซิร์ฟเวอร์ซ็อกเก็ตแชทของแบรนด์ Hive

ประเภทเหตุการณ์การเชื่อมต่อ

ชื่อเหตุการณ์ เวลาที่เกิดขึ้น คำอธิบาย
OnConnected เมื่อการเชื่อมต่อสำเร็จ เกิดขึ้นเมื่อการเชื่อมต่อสำเร็จ.
OnDisconnected เมื่อการเชื่อมต่อล้มเหลว เกิดขึ้นเมื่อการเชื่อมต่อล้มเหลว.
using hive;

ConnectionHandler connectionHandler = new ConnectionHandler
{
    OnConnected = () =>
    {
        // on connected
    },
    OnDisconnected = () =>
    {
        // on disconnected
    }
};
Chat.addConnectionHandler("UNIQUE_KEY", connectionHandler);
#include <HIVE_SDK_Plugin/HIVE_CPP.h>
using namespace hive;

class ConnectionListenerImpl : public ConnectionListener {
    void onConnected() override {
        // on connected
    }

    void onDisconnected() override {
        // on disconnected
    }
};

Chat::addConnectionListener("UNIQUE_KEY", new ConnectionListenerImpl());
import com.hive.Chat;

Chat.addConnectionListener("UNIQUE_KEY", object : ConnectionListener{
    override fun onConnected() {
        // on connected
    }

    override fun onDisconnected() {
        // on disconnected
    }
})
import com.hive.Chat;

Chat.addConnectionListener("UNIQUE_KEY", new Chat.ConnectionListener() {
    @Override
    public void onConnected() {
        // on connected
    }

    @Override
    public void onDisconnected() {
        // on disconnected
    }
});
import HIVEService

class ChatConnectionListener: HiveChatConnectionDelegate {
    func onConnected() {
        // on connected
    }

    func onDisconnected() {
        // on disconnected
    }
}

ChatInterface.addConnectionListener(uniqueKey: "UNIQUE_KEY", listener: ChatConnectionListener())
#import "HIVEService.h"

@interface ChatConnectionListener : NSObject <HiveChatConnectionDelegate>
@end

@implementation ChatConnectionListener

- (void)onConnected {
    // on connected
}

- (void)onDisconnected {
    // on disconnected
}

@end

[ChatInterface addConnectionListenerWithUniqueKey:@"UNIQUE_KEY" listener:[[ChatConnectionListener alloc] init]];

เหตุการณ์ช่อง

เหตุการณ์ช่องสัญญาณจะถ่ายทอดเหตุการณ์ทั้งหมดที่เกิดขึ้นระหว่างผู้ใช้และช่องสัญญาณ

ประเภทเหตุการณ์ช่อง

ชื่อเหตุการณ์ เวลาเกิดเหตุการณ์ คำอธิบาย
OnEnteredMember การเข้าร่วมช่องของสมาชิก เกิดขึ้นเมื่อสมาชิกเข้าร่วมช่อง ข้อมูลของสมาชิกที่เข้าร่วม (EnteredMember) จะถูกส่งเมื่อเข้าร่วมช่อง
OnExitedMember การออกจากช่องของสมาชิก เกิดขึ้นเมื่อสมาชิกออกจากช่อง ข้อมูลของสมาชิกที่ออก (ExitedMember) จะถูกส่งเมื่อออกจากช่อง
OnDeletedChannel การลบช่อง เกิดขึ้นเมื่อช่องถูกลบ ข้อมูลของช่องที่ถูกลบ (DeletedChannel) จะถูกส่ง
OnNoticeMessage การรับข้อความแจ้งเตือน เกิดขึ้นเมื่อได้รับข้อความแจ้งเตือน ข้อมูลของข้อความแจ้งเตือน (ChannelNoticeMessage) จะถูกส่ง
OnChannelMessage การรับข้อความในช่อง เกิดขึ้นเมื่อได้รับข้อความในช่อง ข้อมูลของข้อความในช่อง (ChannelMessage) จะถูกส่ง

สมาชิกที่เข้าร่วม

ชื่อฟิลด์ คำอธิบาย ประเภท
channelId Channel ID ที่เหตุการณ์เกิดขึ้น string
playerId PlayerID ของสมาชิกที่เข้าร่วม int
extraData ข้อมูลสมาชิกเพิ่มเติม string
timestamp เวลาที่เหตุการณ์เกิดขึ้น string

สมาชิกที่ออก

ชื่อฟิลด์ คำอธิบาย ประเภท
channelId Channel ID ที่เหตุการณ์เกิดขึ้น string
playerId PlayerID ของสมาชิกที่ออก int
extraData ข้อมูลเพิ่มเติมเกี่ยวกับสมาชิก string
timestamp เวลาที่เหตุการณ์เกิดขึ้น string

ลบช่อง

ชื่อฟิลด์ คำอธิบาย ประเภท
channelId ID ช่องที่ถูกลบ string
timestamp เวลาที่เกิดเหตุการณ์ string

ข้อความการแจ้งเตือนช่อง

ชื่อฟิลด์ คำอธิบาย ประเภท
channelId รหัสช่องที่เกิดเหตุการณ์ string
from ผู้ส่งข้อความแจ้งเตือน string
message ข้อความแจ้งเตือน string
timestamp เวลาที่เกิดเหตุการณ์ string

ข้อความช่อง

ชื่อฟิลด์ คำอธิบาย ประเภท
channelId รหัสช่องที่เกิดเหตุการณ์ string
from ผู้ส่งข้อความ string
fromExtra ข้อมูลเพิ่มเติมเกี่ยวกับผู้ส่งข้อความ string
to ช่องที่รับข้อความ string
message ข้อความ string
timestamp เวลาที่เกิดเหตุการณ์ string
using hive;

ChannelHandler channelHandler = new ChannelHandler
{
    OnEnteredMember = (member) =>
    {
        // member entered
    },
    OnExitedMember = (member) =>
    {
        // member exited
    },
    OnDeletedChannel = (channel) =>
    {
        // channel deleted
    },
    OnNoticeMessage = (message) =>
    {
        // channel notice message received
    },
    OnChannelMessage = (message) =>
    {
        // channel message received
    }
};
Chat.addChannelHandler("UNIQUE_KEY", channelHandler);
#include <HIVE_SDK_Plugin/HIVE_CPP.h>
using namespace hive;

class ChannelListenerImpl : public ChannelListener {
    void onEnteredMember(EnteredMember const & member) override {
        // สมาชิกเข้าร่วม
    }

    void onExitedMember(ExitedMember const & member) override {
        // สมาชิกออก
    }

    void onDeletedChannel(DeletedChannel const & channel) override {
        // channel deleted
    }

    void onNoticeMessage(ChannelNoticeMessage const & message) override {
        // channel notice message received
    }

    void onChannelMessage(ChannelMessage const & message) override {
        // channel message received
    }
};

Chat::addChannelListener("UNIQUE_KEY", new ChannelListenerImpl());
import com.hive.Chat;

Chat.addChannelListener("UNIQUE_KEY", object: Chat.ChannelListener{
    override fun onEnteredMember(member: Chat.EnteredMember) {
        // สมาชิกเข้าร่วม
    }

    override fun onExitedMember(member: Chat.ExitedMember) {
        // member exited
    }

    override fun onDeletedChannel(channel: Chat.DeletedChannel) {
        // channel deleted
    }

    override fun onNoticeMessage(message: Chat.ChannelNoticeMessage) {
        // channel notice message received
    }

    override fun onChannelMessage(message: Chat.ChannelMessage) {
        // channel message received
    }
})
import com.hive.Chat;

Chat.addChannelListener("UNIQUE_KEY", new Chat.ChannelListener(){
    @Override
    public void onEnteredMember(@NonNull Chat.EnteredMember member) {
        // สมาชิกเข้าร่วม
    }

    @Override
    public void onExitedMember(@NonNull Chat.ExitedMember member) {
        // สมาชิกออกจากระบบ
    }

    @Override
    public void onDeletedChannel(@NonNull Chat.DeletedChannel channel) {
        // channel deleted
    }

    @Override
    public void onNoticeMessage(@NonNull Chat.ChannelNoticeMessage message) {
        // channel notice message received
    }

    @Override
    public void onChannelMessage(@NonNull Chat.ChannelMessage message) {
        // channel message received
    }
});
import HIVEService

class ChatChannelListener: HiveChatChannelMessageDelegate {
    func onEnteredMember(_ member: Chat.EnteredMember) {
        // สมาชิกเข้าร่วม
    }

    func onExitedMember(_ member: Chat.ExitedMember) {
        // member exited
    }

    func onDeletedChannel(_ channel: Chat.DeletedChannel) {
        // channel deleted
    }

    func onNoticeMessage(_ message: Chat.ChannelNoticeMessage) {
        // channel notice message received
    }

    func onChannelMessage(_ message: Chat.ChannelMessage) {
        // channel message received
    }
}

ChatInterface.addChannelListener(uniqueKey: "UNIQUE_KEY", listener: ChatChannelListener())
#import "HIVEService.h"

@interface ChatChannelListener : NSObject <HiveChatChannelMessageDelegate>
@end

@implementation ChatChannelListener
- (void)onEnteredMember:(Chat.EnteredMember *)member {
    // member entered
}

- (void)onExitedMember:(Chat.ExitedMember *)member {
    // สมาชิกออกจากระบบ
}

- (void)onDeletedChannel:(Chat.DeletedChannel *)channel {
    // channel deleted
}

- (void)onNoticeMessage:(Chat.ChannelNoticeMessage *)message {
    // channel notice message received
}

- (void)onChannelMessage:(Chat.ChannelMessage *)message {
    // channel message received
}
@end

[ChatInterface addChannelListenerWithUniqueKey:@"UNIQUE_KEY" listener:[[ChatChannelListener alloc] init]];

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

เหตุการณ์ข้อความ 1:1 ส่งมอบเหตุการณ์การส่งข้อความส่วนตัว

ประเภทเหตุการณ์ข้อความ 1:1

ชื่อเหตุการณ์ เวลาที่เกิดเหตุการณ์ คำอธิบาย
OnDirectMessage เมื่อได้รับข้อความ 1:1 เกิดขึ้นเมื่อได้รับข้อความ 1:1 จะส่งวัตถุที่มีข้อมูลข้อความ 1:1 (DirectMessage).

ข้อความตรง

ชื่อฟิลด์ คำอธิบาย ประเภท
จาก ผู้ส่งข้อความ long
จากเพิ่มเติม ข้อมูลเพิ่มเติมของผู้ส่งข้อความ string
ถึง ผู้รับข้อความ long
ข้อความ ข้อความ string
เวลาประทับเวลา เวลาที่เกิดเหตุการณ์ string
using hive;

DirectMessageHandler directMessageHandler = new DirectMessageHandler
{
    OnDirectMessage = (message) =>
    {
        // direct message received
    }
};
Chat.addDirectMessageHandler("UNIQUE_KEY", directMessageHandler);
#include <HIVE_SDK_Plugin/HIVE_CPP.h>
using namespace hive;

class DirectMessageListenerImpl : public DirectMessageListener {
    void onDirectMessage(DirectMessage const & message) override {
        // direct message received
    }
};

Chat::addDirectMessageListener("UNIQUE_KEY", new DirectMessageListenerImpl());
import com.hive.Chat;

Chat.addDirectMessageListener("UNIQUE_KEY", object: Chat.DirectMessageListener{
    override fun onDirectMessage(message: Chat.DirectMessage) {
        // direct message received
    }
})
import com.hive.Chat;

Chat.addDirectMessageListener("UNIQUE_KEY", new Chat.DirectMessageListener() {
    @Override
    public void onDirectMessage(@NonNull Chat.DirectMessage message) {
        // direct message received
    }
});
import HIVEService

class ChatDirectMessageListener: HiveChatDirectMessageDelegate {
    func onDirectMessage(_ message: Chat.DirectMessage) {
        // direct message received
    }
}

ChatInterface.addDirectMessageListener(uniqueKey: "UNIQUE_KEY", listener: ChatDirectMessageListener())
#import "HIVEService.h"

@interface ChatDirectMessageListener : NSObject <HiveChatDirectMessageDelegate>
@end

@implementation ChatDirectMessageListener
- (void)onDirectMessage:(Chat.DirectMessage *)message {
    // direct message received
}
@end

[ChatInterface addDirectMessageListenerWithUniqueKey:@"UNIQUE_KEY" listener:[[ChatDirectMessageListener alloc] init]];