Action / Help Button

Prev Next

An optional Action button can be added to the top right of the orders page

Default Action Button

By default, this Action button displays the ticket barcode page:

TicketsSDKSingleton.canShowHelp = false

TMTickets.shared.navBarButtonTitle = nil

Help Action Button

You can display a “Help” action button to replace the default Action button, if desired

TicketsSDKSingleton.canShowHelp = true

TMTickets.shared.navBarButtonTitle = "Help"

Note that iOS actually allows arbitrary strings, and could be set to any (preferably short) string you like.

Button Functionality

Pressing the Action button does not do anything by itself. The Tickets SDK does not currently have any built-in operations, such as Help or Chat.

If you enable the Action button, you must handle the button's functionality yourself:

TicketsSDKSingleton.registerContextMenuListener(object : ContextMenuListener {
     override fun openHelp(context: Context, eventId: String) {
          // Handle help button tap - navigate to help/FAQ, show help dialog, etc.
           Log.d("HelpButton", "button pressed")
     
})

Handle the functionality in your TMTicketsOrderDelegate:

// set your class as the orderDelegate
TMTickets.shared.orderDelegate = self

/// optional delegate to be informed of non-analytics User-actions
extension MyClass: TMTicketsOrderDelegate {

/// Method is invoked if the client app needs to handle the navBar button
///
/// - Parameters:
///   - page: SDK page where button was pressed
///   - screenTitleName: title of screen where button was pressed
///   - event: current Event and purchased Orders being viewed (if any)
func handleNavBarButtonAction(
  page: TicketmasterTickets.TMTickets.Analytics.Page, 
  screenTitleName: String?, 
  event: TicketmasterTickets.TMPurchasedEvent?) {
    // TODO: handle Action button operation yourself
    // for example, open a webpage, or a native ViewController, or some other SDK
    if let event = event {
        if let name = screenTitleName {
            print("User Pressed NavBar Button on Page: \(page.rawValue) Named: \(name) Event: \(event.info.identifier)")
        } else {
            print("User Pressed NavBar Button on Page: \(page.rawValue) Event: \(event.info.identifier)")
        }
    } else if let name = screenTitleName {
        print("User Pressed NavBar Button on Page: \(page.rawValue) Named: \(name)")
    } else {
        print("User Pressed NavBar Button on Page: \(page.rawValue)")
    }
}

Next: Logout