การจัดการเหตุการณ์¶
ฟีเจอร์แชทของแบรนด์ Hive ส่งมอบเหตุการณ์สามประเภทไปยังแอปไคลเอนต์
- เหตุการณ์การเชื่อมต่อ
- เหตุการณ์ช่อง
- เหตุการณ์ข้อความ 1:1
คุณสามารถรับเหตุการณ์ได้โดยการลงทะเบียนตัวฟังเหตุการณ์ด้วยคีย์ที่กำหนดเอง
เหตุการณ์การเชื่อมต่อ¶
เหตุการณ์การเชื่อมต่อคือเหตุการณ์ที่เกี่ยวข้องกับการเชื่อมต่อเซิร์ฟเวอร์ซ็อกเก็ตแชทของแบรนด์ Hive
ประเภทเหตุการณ์การเชื่อมต่อ¶
ชื่อเหตุการณ์ | เวลาที่เกิดขึ้น | คำอธิบาย |
---|---|---|
OnConnected | เมื่อการเชื่อมต่อสำเร็จ | เกิดขึ้นเมื่อการเชื่อมต่อสำเร็จ. |
OnDisconnected | เมื่อการเชื่อมต่อล้มเหลว | เกิดขึ้นเมื่อการเชื่อมต่อล้มเหลว. |
#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 |
#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]];