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. OneTalk Omnichannel Documentation
  2. Channel Integration
  3. Live Chat Integration (iOS, Android, Web)
  4. OneTalk Live Chat for iOS

Event Delegate

The iOS SDK provides event delegates to listen to various events on the client app. Through these event delegates, TapTalk.io notifies the client app of events that happen on your app.

You will need to register the delegate objects to receive event callbacks from TapTalk.io.

Event Delegate Name

Description

Listens to general event changes in the application

TapTalkLiveDelegate

General events such as notifications will be notified through TapTalkLiveDelegate. A TapTalkLiveDelegate instance is required when initializing TapTalk.

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

ViewController.m
#import <TapTalkLive/TapTalkLive.h>

// Add TapTalkLiveDelegate declaration
@interface ViewController () <TapTalkLiveDelegate>

@end
  
@implementation ViewController
  
- (void)function {
    // Set TapTalkLive delegate to self
    [[TapTalkLive sharedInstance] setDelegate:self];
}

#pragma mark - Delegate
#pragma mark - TapTalkLiveDelegate

- (void)didTappedCloseButtonInCreateCaseViewWithCurrentShownNavigationController:(UINavigationController *)navigationController {
    // Listen to event when user click close button in create case view    
}

- (void)didTappedCloseButtonInCaseListViewWithCurrentShownNavigationController:(UINavigationController *)navigationController {
    // Listen to event when user click close button in case list / room list view 
}

- (void)didTappedCloseButtonInHomePageViewWithCurrentShownNavigationController:(UINavigationController *)navigationController {
    // User closes the home page
}

- (void)didTappedCloseButtonInCreateCaseViewWithCurrentShownNavigationController:(UINavigationController *)navigationController {
    // User closes the create case form
}

- (void)didTappedCloseButtonInCaseListViewWithCurrentShownNavigationController:(UINavigationController *)navigationController {
    // User closes the case list page
}

- (void)seeAllMessagesButtonDidTappedWithCurrentShownNavigationController:(UINavigationController *)navigationController {
    // User taps the See All Messages button in home page
    // Implementing this will prevent opening the case list page by default
}

- (void)createNewMessageButtonDidTappedWithCurrentShownNavigationController:(UINavigationController *)navigationController {
    // User taps the New Messages button in home or case list page
    // Implementing this will prevent opening the create new case form by default
}

- (void)caseListItemDidTappedWithCurrentShownNavigationController:(UINavigationController *)navigationController lastMessage:(TAPMessageModel *)lastMessage {
    // User taps a case from a list in home or case list page
    // Implementing this will prevent opening the selected chat room by default
}

- (void)faqChildDidTapped:(TTLFaqModel *)faqModel currentShownNavigationController:(UINavigationController *)navigationController {
    // User taps a FAQ from a list in home or FAQ details page
    // Implementing this will prevent opening the selected FAQ details page by default
}

- (void)closeButtonInFaqDetailsViewDidTapped:(TTLFaqModel *)faqModel currentShownNavigationController:(UINavigationController *)navigationController {
    // User closes the FAQ details page
}

- (void)talkToAgentButtonDidTapped:(TTLFaqModel *)faqModel currentShownNavigationController:(UINavigationController *)navigationController {
    // User taps the Talk to Agent button in home or FAQ details page
    // Implementing this will prevent opening the create new case form by default
}

- (void)faq:(TTLFaqModel *)faqModel contentUrlDidTapped:(NSURL *)url currentShownNavigationController:(UINavigationController *)navigationController {
    // User taps a url in FAQ content
}

- (void)faq:(TTLFaqModel *)faqModel contentUrlDidLongPressed:(NSURL *)url currentShownNavigationController:(UINavigationController *)navigationController {
    // User long presses a url in FAQ content
}

- (void)faq:(TTLFaqModel *)faqModel contentEmailAddressDidTapped:(NSURL *)emailAddress currentShownNavigationController:(UINavigationController *)navigationController {
    // User taps an email address in FAQ content
}

- (void)faq:(TTLFaqModel *)faqModel contentEmailAddressDidLongPressed:(NSURL *)emailAddress currentShownNavigationController:(UINavigationController *)navigationController {
    // User long presses an email address in FAQ content
}

- (void)faq:(TTLFaqModel *)faqModel contentPhoneNumberDidTapped:(NSURL *)phoneNumber currentShownNavigationController:(UINavigationController *)navigationController {
    // User taps a phone number in FAQ content
}

- (void)faq:(TTLFaqModel *)faqModel contentPhoneNumberDidLongPressed:(NSURL *)phoneNumber currentShownNavigationController:(UINavigationController *)navigationController {
    // User long presses a phone number in FAQ content
}
  
@end

Method Name

Invoked When

didTappedCloseButtonInHomePageViewWithCurrentShownNavigationController:

User closes the home page. Returns the currently shown navigation controller.

didTappedCloseButtonInCreateCaseViewWithCurrentShownNavigationController:

User closes the create case form page. Returns the currently shown navigation controller.

didTappedCloseButtonInCaseListViewWithCurrentShownNavigationController:

User closes the case list page. Returns the currently shown navigation controller.

seeAllMessagesButtonDidTappedWithCurrentShownNavigationController:

User taps the See All Messages button in home page. Returns the currently shown navigation controller.

createNewMessageButtonDidTappedWithCurrentShownNavigationController:

User taps the New Messages button in home or case list page. Returns the currently shown navigation controller.

caseListItemDidTappedWithCurrentShownNavigationController:lastMessage:

User taps a case from a list in home or case list page. Returns the currently shown navigation controller and selected case's last message.

faqChildDidTapped:currentShownNavigationController:

User taps a FAQ from a list in home or FAQ details page. Returns the selected FAQ Model and currently shown navigation controller.

closeButtonInFaqDetailsViewDidTapped:currentShownNavigationController:

User closes the FAQ details page. Returns the selected FAQ Model and currently shown navigation controller.

talkToAgentButtonDidTapped:currentShownNavigationController:

User taps the Talk to Agent button in home or FAQ details page. Returns the selected FAQ Model and currently shown navigation controller.

faq:contentUrlDidTapped:currentShownNavigationController:navigationController:

User taps a url in FAQ content. Returns the currently shown navigation controller, selected FAQ Model, and the selected url.

faq:contentUrlDidLongPressed:currentShownNavigationController:navigationController:

User long presses a url in FAQ content. Returns the currently shown navigation controller, selected FAQ Model, and the selected url.

faq:contentEmailAddressDidTapped:currentShownNavigationController:navigationController:

User taps an email address in FAQ content. Returns the currently shown navigation controller, selected FAQ Model, and the selected email address.

faq:contentEmailAddressDidLongPressed:currentShownNavigationController:navigationController:

User long presses an email address in FAQ content. Returns the currently shown navigation controller, selected FAQ Model, and the selected email address.

faq:contentPhoneNumberDidTapped:currentShownNavigationController:navigationController:

User taps a phone number in FAQ content. Returns the currently shown navigation controller, selected FAQ Model, and the selected phone number.

faq:contentPhoneNumberDidLongPressed:currentShownNavigationController:navigationController:

User long presses a phone number in FAQ content. Returns the currently shown navigation controller, selected FAQ Model, and the selected phone number.

PreviousBackground Process in TapTalk.io Omnichannel iOSNextAuthentication

Last updated 21 days ago

Was this helpful?

TapTalkLiveDelegate