재연결 시도 후 발생합니다. 채팅 소켓 서버 연결 해제 후 10분 이내 재연결 요청에 성공 시, 이전에 참여한 채널에 자동으로 입장을 시도합니다. 그 후에 입장에 성공한 채널 목록과 실패한 채널 목록을 결과로 반환합니다.
usinghive;ConnectionHandlerconnectionHandler=newConnectionHandler{OnConnected=()=>{// on connected},OnDisconnected=()=>{// on disconnected},OnReconnectStarted()=>{// on reconnect Started},OnReconnected=(ResultAPIresult,List<String>channelIds,List<String>failChannelIds)=>{// on reconnected}};Chat.addConnectionHandler("UNIQUE_KEY",connectionHandler);// add connection handlerChat.removeConnectionHandler("UNIQUE_KEY");// remove connection handler
#include"HiveChat.h"classConnectionListener:publicFHiveConnectionListener{public:UChatTestView*Owner;ConnectionListener(UChatTestView*InOwner):Owner(InOwner){}virtualvoidonConnected()override{// on connected}virtualvoidonDisconnected()override{// on disconnected}virtualvoidonReconnectStarted()override{// on reconnect Started}virtualvoidonReconnected(constFHiveResultAPI&Result,constTArray<FString>&ChannelIds,constTArray<FString>&FailChannelIds)override{// on reconnected}};FHiveChat::AddConnectionListener("UNIQUE_KEY",newConnectionListener(this));// add connection listenerFHiveChat::RemoveConnectionListener("UNIQUE_KEY");// remove connection listener
#include<HIVE_SDK_Plugin/HIVE_CPP.h>usingnamespacehive;classConnectionListenerImpl:publicConnectionListener{voidonConnected()override{// on connected}voidonDisconnected()override{// on disconnected}voidonReconnectStarted()override{// on reconnect Started}voidonReconnected(ResultAPIconst&result,std::vector<std::string>channelIds,std::vector<std::string>failChannelIds)override{// on reconnected}};Chat::addConnectionListener("UNIQUE_KEY",newConnectionListenerImpl());// add connection listenerChat::removeConnectionListener("UNIQUE_KEY");// remove connection listener
importcom.hive.Chat;// add connection listenerChat.addConnectionListener("UNIQUE_KEY",object:ConnectionListener{overridefunonConnected(){// on connected}overridefunonDisconnected(){// on disconnected}overridefunonReconnectStarted(){// on reconnect started}overridefunonReconnected(result:ResultAPI,channelIds:ArrayList<String>,failChannelIds:ArrayList<String>){// on reconnected}})// remove connection listenerChat.removeConnectionListener("UNIQUE_KEY");
importcom.hive.Chat;// add connection listenerChat.addConnectionListener("UNIQUE_KEY",newChat.ConnectionListener(){@OverridepublicvoidonConnected(){// on connected}@OverridepublicvoidonDisconnected(){// on disconnected}@OverridepublicvoidonReconnectStarted(){// on reconnect started}@OverridepublicvoidonReconnected(@NonNullResultAPIresult,@NonNullArrayList<String>channelIds,@NonNullArrayList<String>failChannelIds){// on reconnected}});// remove connection listenerChat.removeConnectionListener("UNIQUE_KEY");
importHIVEServiceclassChatConnectionListener:HiveChatConnectionDelegate{funconConnected(){// on connected}funconDisconnected(){// on disconnected}funconReconnectStarted(){// on reconnect started}funconReconnected(result:ResultAPI,channelIds:[String],failChannelIds:[String]){// on reconnected}}ChatInterface.addConnectionListener(uniqueKey:"UNIQUE_KEY",listener:ChatConnectionListener())// add connection listenerChatInterface.removeConnectionListener(uniqueKey:"UNIQUE_KEY")// remove connection listener
#import "HIVEService.h"@interfaceChatConnectionListener : NSObject<HiveChatConnectionDelegate>@end@implementationChatConnectionListener-(void)onConnected{// on connected}-(void)onDisconnected{// on disconnected}-(void)onReconnectStarted{// on reconnect Started}-(void)onReconnectedWithResult:(HIVEResultAPI*)resultchannelIds:(NSArray<NSString*>*)channelIdsfailChannelIds:(NSArray<NSString*>*)failChannelIds{// on reconnected}@end[ChatInterfaceaddConnectionListenerWithUniqueKey:@"UNIQUE_KEY"listener:[[ChatConnectionListeneralloc]init]];// add connection listener[ChatInterfaceremoveConnectionListenerWithUniqueKey:@"UNIQUE_KEY"];// remove connection listener
usinghive;UserHandleruserHandler=newUserHandler{OnDirectMessage=(message)=>{// direct message received},OnNoticeMessage=(message)=>{// notice message Received}};Chat.addUserHandler("UNIQUE_KEY",userHandler);// add user handlerChat.removeUserHandler("UNIQUE_KEY");// remove user handler
classUserListener:publicFHiveUserListener{public:UChatTestView*Owner;UserListener(UChatTestView*InOwner):Owner(InOwner){}virtualvoidonDirectMessage(constFHiveDirectMessage&message)override{// direct message received}virtualvoidonNoticeMessage(constFHiveNoticeMessage&message)override{// notice message received}};FHiveChat::AddUserListener("UNIQUE_KEY",newUserListener(this));// add user listenerFHiveChat::RemoveUserListener("UNIQUE_KEY");// remove user listener
#include<HIVE_SDK_Plugin/HIVE_CPP.h>usingnamespacehive;classUserListenerImpl:publicUserListener{voidonDirectMessage(DirectMessageconst&message)override{// direct message received}voidonNoticeMessage(NoticeMessageconst&message)override{// notice message received}};Chat::addUserListener("UNIQUE_KEY",newUserListenerImpl());// add user listenerChat::removeUserListener("UNIQUE_KEY");// remove user listener
importcom.hive.Chat;// add user listenerChat.addUserListener("UNIQUE_KEY",object:Chat.UserListener{overridefunonDirectMessage(message:Chat.DirectMessage){// direct message received}overridefunonNoticeMessage(message:Chat.NoticeMessage){// notiice message received}})// remove user listenerChat.removeUserListener("UNIQUE_KEY");
importcom.hive.Chat;// add direct message listenerChat.addUserListener("UNIQUE_KEY",newChat.UserListener(){@OverridepublicvoidonDirectMessage(@NonNullChat.DirectMessagemessage){// direct message received}@OverridepublicvoidonNoticeMessage(@NonNullChat.NoticeMessagemessage){// notice message received}});// remove user listenerChat.removeUserListener("UNIQUE_KEY");
importHIVEServiceclassChatUserListener:HiveChatUserDelegate{funconDirectMessage(_message:HiveChatParams.DirectMessage){// direct message received}funconNoticeMessage(_message:HiveChatParams.NoticeMessage){// notice message received}}ChatInterface.addUserListener(uniqueKey:"UNIQUE_KEY",listener:HiveChatUserDelegate())// add user listenerChatInterface.removeUserListener(uniqueKey:"UNIQUE_KEY")// remove user listener
#import "HIVEService.h"@interfaceChatUserListener : NSObject<HiveChatUserDelegate>@end@implementationChatUserListener-(void)onDirectMessage:(HiveChatDirectMessage*)message{// direct message received}-(void)onNoticeMessage:(HiveChatNoticeMessage)message{// notice message received}@end[ChatInterfaceaddUserListenerWithUniqueKey:@"UNIQUE_KEY"listener:[[HiveChatUserDelegatealloc]init]];// add user listener[ChatInterfaceremoveUserListenerWithUniqueKey:@"UNIQUE_KEY"];// remove user listener
커스텀 데이터 수신 시 발생합니다. string 타입의 커스텀 데이터를 전달합니다. (최대 8000 byte)
usinghive;CustomDataHandlercustomDataHandler=newCustomDataHandler{OnCustomData=(data)=>{// custom data received}};Chat.addCustomDataHandler("UNIQUE_KEY",customDataHandler);// add custom data handlerChat.removeCustomDataHandler("UNIQUE_KEY");// remove custom data handler
classCustomDataListener:publicFHiveCustomDataListener{public:UChatTestView*Owner;CustomDataListener(UChatTestView*InOwner):Owner(InOwner){}virtualvoidonCustomData(constFStringdata)override{// custom data received}};FHiveChat::AddCustomDataListener("UNIQUE_KEY",newCustomDataListener(this));// add custom data listenerFHiveChat::RemoveCustomDataListener("UNIQUE_KEY");// remove custom data listener
#include<HIVE_SDK_Plugin/HIVE_CPP.h>usingnamespacehive;classCustomDataListenerImpl:publicCustomDataListener{voidonCustomData(std::stringconst&data)override{// custom data received}};Chat::addCustomDataListener("UNIQUE_KEY",newCustomDataListenerImpl());// add custom data listenerChat::removeCustomDataListener("UNIQUE_KEY");// remove custom data listener
importcom.hive.Chat;// add custom data listenerChat.addCustomDataListener("UNIQUE_KEY",object:Chat.CustomDataListener{overridefunonCustomData(data:String){// custom data received}})// remove custom data listenerChat.removeCustomDataListener("UNIQUE_KEY");
importcom.hive.Chat;// add custom data listenerChat.addCustomDataListener("UNIQUE_KEY",newChat.CustomDataListener(){@OverridepublicvoidonCustomData(@NonNullStringdata){// custom data received}});// remove custom data listenerChat.removeCustomDataListener("UNIQUE_KEY");
importHIVEServiceclassChatCustomDataListener:HiveChatCustomDataDelegate{funconCustomData(_data:String){// custom data received}}ChatInterface.addCustomDataListener(uniqueKey:"UNIQUE_KEY",listener:HiveChatCustomDataDelegate())// add custom data listenerChatInterface.removeCustomDataListener(uniqueKey:"UNIQUE_KEY")// remove custom data listener
#import "HIVEService.h"@interfaceChatCustomDataListener : NSObject<HiveChatCustomDataDelegate>@end@implementationChatCustomDataListener-(void)onCustomData:(NSString*)data{// custom data received}@end[ChatInterfaceaddCustomDataListenerWithUniqueKey:@"UNIQUE_KEY"listener:[[HiveChatCustomDataDelegatealloc]init]];// add custom data listener[ChatInterfaceremoveCustomDataListenerWithUniqueKey:@"UNIQUE_KEY"];// remove custom data listener