#Events

Most actions completed by a visitor will trigger custom events for which you will be able to assign a listener.

#Usage

func on(_ event: EngageEvent, once: Bool = false)

func off(_ event: EngageEvent)

#Available events

#Ready event

  • Arguments: { ReadyEvent: { element: { slug: String, name: String } } }
Triggered when the Engage element is ready, just about to be printed on the targeted view.

#Seen event

  • Arguments: { SeenEvent: { element: { slug: String, name: String } } }
Triggered when most of the element UI is visible on screen.

#Click event

  • Arguments: { ClickEvent: { id: String, type: String, url: String, name: String, element: { slug: String, name: String } } }
Triggered when the a button has been tapped inside an element.

#Form Submit event

  • Arguments: { FormEvent: { name: String, [FormField]: { fieldKey: String, fieldName: String, fieldValue: String } }, result: (FormResult) -> Void }
Triggered when a user go through with a form.
⚠️ The method formResult() MUST be called in the form submit event callback.

#Error event

  • Arguments: { ErrorEvent: { message: String, element: { slug: String, name: String } } }
Triggered if an unknown/unexpected error has appeared when loading the element.

#Destroy event

  • Arguments: { DestroyEvent: { buttonId: String, element: { slug: String, name: String } } }
Triggered when the element is destroyed through a tap of a button or image.