TapTalk.io Documentation
  • Introduction
  • OneTalk Omnichannel Documentation
    • Getting Started with OneTalk
      • Team Members
      • Add Topic
      • Assign Agent to Topic
      • Paid Proactive Chat
    • Channel Integration
      • Telegram Integration
      • WhatsApp SME Integration
      • Instagram DM Integration
      • Facebook Messenger Integration
      • Live Chat Integration (iOS, Android, Web)
        • OneTalk Live Chat for Android
          • Get Started
          • Event Listener
          • Authentication
          • Case & Topic
          • Navigate Live Chat UI
          • Customize UI Appearance
        • OneTalk Live Chat for iOS
          • Get Started
          • Background Process in TapTalk.io Omnichannel iOS
          • Event Delegate
          • Authentication
          • Case & Topic
          • Navigate Live Chat UI
          • Customize UI Appearance
        • OneTalk Live Chat for Web
          • Get Started
          • Callback
          • Method
        • OneTalk Live Chat for React Native
          • Get Started - Android
          • Authentication - Android
          • Get Started - iOS
          • Authentication - iOS
        • OneTalk Live Chat for Flutter
          • Get Started - Android
          • Get Started - iOS
      • Google Business Messages Integration
      • Google Business Profile Integration
      • Tokopedia Integration
    • Integration API
      • Inbox API
      • User/Contact API
    • Live Chat Widget Callback Function
    • Social Channel Button
    • Custom Chatbot Integration
      • Get Started
      • Edit or Delete Chatbot
      • Development
    • QnA via API
    • Webhook
  • PowerTalk Chat SDK Documentation
    • Getting Started with PowerTalk
    • PowerTalk Android
      • Get Started
      • Enable Chat Features
      • Authentication
      • TapUI and TapCore
      • Background Process in TapTalk.io
      • Connection
      • Event Listener
      • Push Notification
      • General
      • User
      • Room List
        • Room List - TapUI
        • Room List - TapCore
      • Chat Room and Messages
        • Chat Room and Messages - TapUI
        • Chat Room and Messages - TapCore
      • Contact
      • Message Type
      • Customize UI Appearance
      • Customize Chat Features
      • Customize Chat Message Bubble
      • Customize Navigation Bar
      • Deep Linking
      • Error Codes
    • PowerTalk iOS
      • Get Started
      • TapUI and TapCore
      • Background Process in TapTalk.io
      • Implement Application Delegate
      • Authentication
      • Connection
      • Event Delegate
      • Push Notification
      • General
      • User
      • Room List
        • Room List - TapUI
        • Room List - TapCore
      • Chat Room and Messages
        • Chat Room and Messages - TapUI
        • Chat Room and Messages - TapCore
      • Contact
      • Message Type
      • Customize UI Appearance
      • Customize Chat Features
      • Customize Chat Message Bubble
      • Customize Navigation Bar
      • Deep Linking
      • Error Codes
    • PowerTalk React Native
      • Get Started - Android
      • Get Started - iOS
    • PowerTalk Flutter
      • Get Started - Android
      • Get Started - iOS
    • Javascript SDK
      • Get Started
      • Authentication
      • Connection
      • General
      • Event Listener
      • User
      • Room List
      • Chat Room
      • Messages
      • Contact
      • Message Type
    • Server API
      • Get Started
      • Base URL
      • Authentication
      • User
      • Contact
      • Message
      • Room
    • Webhook
      • Get Started
      • Webhook Payload
  • MeetTalk SDK Documentation
    • Getting Started with MeetTalk
    • MeetTalk Android
      • Get Started
      • Event Listener
    • MeetTalk iOS
      • Get Started
      • Implement Application Delegate
      • Event Delegate
  • SendTalk API Documentation
    • Introduction
    • Whatsapp Verification
Powered by GitBook
On this page

Was this helpful?

  1. MeetTalk SDK Documentation
  2. MeetTalk iOS

Event Delegate

PreviousImplement Application DelegateNextIntroduction

Last updated 2 years ago

Was this helpful?

MeetTalk iOS SDK listens to various events on the client app. The event delegate MeetTalkDelegate replaces the usage of TapTalkDelegate from PowerTalk iOS SDK and also contains all the callbacks that TapTalkDelegate has.

All other can still be implemented normally.

MeetTalkDelegate

MeetTalkDelegate notifies general events from PowerTalk SDK and call/conference related events from MeetTalk SDK.

Not all of the delegate callbacks are required to be handled, but we strongly suggest to override tapTalkRefreshTokenExpired to handle authentication when the user's session has expired.

Note: Make sure to add #import <MeetTalk/MeetTalk.h> before registering the delegate

#import <MeetTalk/MeetTalk.h>

@interface AppDelegate() <MeetTalkDelegate, ...>

...

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  [[MeetTalk sharedInstance] initWithAppKeyID: ...
  }];
  [[MeetTalk sharedInstance] setDelegate:self];
}

#pragma mark - Delegate
#pragma mark MeetTalkDelegate

#=============================================================================================
#pragma mark TapTalkDelegate callbacks
#=============================================================================================
- (void)tapTalkRefreshTokenExpired {
    // Authentication is needed
}

- (void)tapTalkDidTappedNotificationWithMessage:(TAPMessageModel *_Nonnull)message fromActiveController:(nullable UIViewController *)currentActiveController {
    // Handle tapped notification message
}

- (void)userLogout {
    // User has finished logging out from TapUI or TapTalk.logoutAndClearAllTapTalkData() process has completed
}

- (void)tapTalkUnreadChatRoomBadgeCountUpdated:(NSInteger)numberOfUnreadRooms {
    // Returns number of unread messages from the application
}

- (void)tapTalkDidRequestRemoteNotification {
    // Register for remote notification
    [[UIApplication sharedApplication] registerForRemoteNotifications];
}

#=============================================================================================
#pragma mark Call/conference notification callbacks
#=============================================================================================
- (void)meetTalkDidReceiveCallInitiatedNotificationMessage:(TAPMessageModel *_Nonnull)message
                                            conferenceInfo:(MeetTalkConferenceInfo *_Nullable)conferenceInfo {
    // A "Call Initiated" notification message is received
    // Will show incoming call by default if not implemented
}
                                            
- (void)meetTalkDidReceiveCallCancelledNotificationMessage:(TAPMessageModel *_Nonnull)message
                                            conferenceInfo:(MeetTalkConferenceInfo *_Nullable)conferenceInfo {
    // A "Call Cancelled" notification message is received                                        
}

- (void)meetTalkDidReceiveCallEndedNotificationMessage:(TAPMessageModel *_Nonnull)message
                                        conferenceInfo:(MeetTalkConferenceInfo *_Nullable)conferenceInfo {
    // A "Call Ended" notification message is received                                     
}

- (void)meetTalkDidReceiveRecipientAnsweredCallNotificationMessage:(TAPMessageModel *_Nonnull)message
                                                    conferenceInfo:(MeetTalkConferenceInfo *_Nullable)conferenceInfo {
    // A "Recipient Answered Call" notification message is received                           
}

- (void)meetTalkDidReceiveRecipientBusyNotificationMessage:(TAPMessageModel *_Nonnull)message
                                            conferenceInfo:(MeetTalkConferenceInfo *_Nullable)conferenceInfo {
    // A "Recipient is Busy" notification message is received                                 
}

- (void)meetTalkDidReceiveRecipientRejectedCallNotificationMessage:(TAPMessageModel *_Nonnull)message
                                                    conferenceInfo:(MeetTalkConferenceInfo *_Nullable)conferenceInfo {
    // A "Recipient Rejected Call" notification message is received
}

- (void)meetTalkDidReceiveRecipientMissedCallNotificationMessage:(TAPMessageModel *_Nonnull)message
                                                  conferenceInfo:(MeetTalkConferenceInfo *_Nullable)conferenceInfo {
    // A "Recipient Missed Call" notification message is received                                                  
}

- (void)meetTalkDidReceiveRecipientUnableToReceiveCallNotificationMessage:(TAPMessageModel *_Nonnull)message
                                                           conferenceInfo:(MeetTalkConferenceInfo *_Nullable)conferenceInfo {
    // A "Recipient is Unable to Receive Call" notification message is received                                                       
}

- (void)meetTalkDidReceiveActiveUserRejectedCallNotificationMessage:(TAPMessageModel *_Nonnull)message
                                                     conferenceInfo:(MeetTalkConferenceInfo *_Nullable)conferenceInfo {
    // A "Current/Active User Rejected Call" notification message is received 
}

- (void)meetTalkDidReceiveParticipantJoinedConferenceNotificationMessage:(TAPMessageModel *_Nonnull)message
                                                          conferenceInfo:(MeetTalkConferenceInfo *_Nullable)conferenceInfo {
    // A "Participant Joined Conference" notification message is received 
}

- (void)meetTalkDidReceiveParticipantLeftConferenceNotificationMessage:(TAPMessageModel *_Nonnull)message
                                                        conferenceInfo:(MeetTalkConferenceInfo *_Nullable)conferenceInfo {
    // A "Participant Left Conference" notification message is received 

}

- (void)meetTalkDidReceiveConferenceInfoUpdatedNotificationMessage:(TAPMessageModel *_Nonnull)message
                                                    conferenceInfo:(MeetTalkConferenceInfo *_Nullable)conferenceInfo {
    // A "Conference Info" notification message is received 
}

#=============================================================================================
#pragma mark Incoming call callbacks
#=============================================================================================
- (void)meetTalkDidReceiveIncomingCall:(TAPMessageModel *_Nonnull)message {
    // A new incoming call is received
}

- (void)meetTalkShowIncomingCallFailed:(TAPMessageModel *_Nonnull)message errorMessage:(NSString *)errorMessage {
    // MeetTalk SDK failed to show incoming call
}

- (void)meetTalkDidAnswerIncomingCall {
    // Current/active user answers the incoming call
    // Will join the incoming call by default if not implemented
}

- (void)meetTalkDidRejectIncomingCall {
    // Current/active user rejects the incoming call
    // Will close the incoming call by default if not implemented
}

- (void)meetTalkIncomingCallDisconnected {
    // Incoming call was closed
}

#=============================================================================================
#pragma mark Conference callbacks
#=============================================================================================
- (void)meetTalkDidDisconnectFromConference:(MeetTalkConferenceInfo *_Nullable)conferenceInfo {
    // Current/active user was disconnected from an ongoing conference call
}

- (void)meetTalkDidReconnectToConference:(MeetTalkConferenceInfo *_Nullable)conferenceInfo {
    // Current/active user successfully reconnected to ongoing conference call
}

- (void)meetTalkDidJoinConference:(MeetTalkConferenceInfo *_Nullable)conferenceInfo {
    // Current/active user successfully joined conference call
}

- (void)meetTalkConferenceTerminated:(MeetTalkConferenceInfo *_Nullable)conferenceInfo {
    // Ongoing conference call was terminated
}

#=============================================================================================
#pragma mark UI callbacks
#=============================================================================================
- (void)meetTalkChatBubbleCallButtonDidTapped:(TAPMessageModel *_Nonnull)message {
    // Call button in TapUI's chat room message bubble was tapped by user
    // Will initiate a new conference call by default if not implemented
}

...
  
@end
delegates from PowerTalk SDK