Occurs after a reconnection attempt. If the reconnection request is successful within 10 minutes after the chat socket server is disconnected, it will automatically attempt to join the previously participated channels and return the list of successfully joined channels and the list of failed channels as a result.
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
The Hive SDK provides the ability to receive custom data delivered through channel custom message sending or user custom message sending provided by the server API.
Note
The Hive SDK does not provide the functionality to send custom data.
Occurs when custom data is received. It transmits custom data of type string. (Maximum 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