Protocols

The following protocols are available globally.

  • A protocol describing functionality of the UnbluClient.

    See more

    Declaration

    Swift

    public protocol UnbluClient : AnyObject

Convenience methods

  • A protocol describing functionality of the UnbluVisitorClient. This inherits functionality from UnbluClient.

    See more

    Declaration

    Swift

    public protocol UnbluVisitorClient : UnbluClient
  • A protocol describing functionality of the UnbluAgentClient. This inherits functionality from UnbluClient.

    See more

    Declaration

    Swift

    public protocol UnbluAgentClient : UnbluClient
  • The delegate for the UnbluAgentClient

    Declaration

    Swift

    public protocol UnbluAgentClientDelegate : UnbluClientDelegate
  • The delegate for Unblu. Callbacks are always called on the Main thread.

    See more

    Declaration

    Swift

    public protocol UnbluClientDelegate : AnyObject
  • The delegate for the UnbluVisitorClient

    See more

    Declaration

    Swift

    public protocol UnbluVisitorClientDelegate : UnbluClientDelegate
  • Delegate which handles authentication challanges of the Unblu webView.

    See more

    Declaration

    Swift

    public protocol AuthenticationChallengeDelegate
  • The delegate for the UnbluCallModule

    See more

    Declaration

    Swift

    public protocol UnbluCallModuleDelegate : AnyObject
  • Describes the functionality available within the UnbluCallModule

    See more

    Declaration

    Swift

    public protocol UnbluCallModuleApi : UnbluModule
  • Base class for custom action invocations, defines required fields

    See more

    Declaration

    Swift

    public protocol CustomActionInvocationData : Decodable, Encodable
  • An object representing an Unblu conversation

    See more

    Declaration

    Swift

    public protocol UnbluConversation : AnyObject
  • A protocol that defines an object that can intercept certain conversation related events.

    See more

    Declaration

    Swift

    public protocol UnbluConversationInterceptor
  • A protocol that defines an object that can intercept certain conversation related events. This protocol should be used when it is necessary to obtain additional information about the recipient.

    See more

    Declaration

    Swift

    public protocol UnbluConversationInterceptorWithRecipient : UnbluConversationInterceptor
  • A protocol used when evaluating external links within Unblu

    See more

    Declaration

    Swift

    public protocol UnbluExternalLinkHandler : AnyObject
  • A module which can be used in Unblu. This can be added via the UnbluClientConfiguration.register(module) function.

    See more

    Declaration

    Swift

    public protocol UnbluModule : AnyObject
  • Interface to use notifications with unblu. As Firebase Cloud Messaging (FCM) SDK is build as a static library, we can not include it here. Most functions of this api should be called for specific notification callbacks typically fired in the AppDelegate.

    Unblu will display/handle notifications as shown in the following table. Api helper to check mainly if notifications are from unblu or not

    Unblu will display/handle notifications as shown in the following table.

    | App state | New Message | Incoming Call |


    | background | show notification | show notification |


    | foreground unblu UI closed | show notification | Trigger UnbluUiEventApi.UiVisibilityRequest |


    | foreground unblu UI open | Does nothing | Does nothing |


    Whenever a notification is clicked, the event UnbluUiEventApi.UiVisibilityRequest is triggered.

    See more

    Declaration

    Swift

    public protocol UnbluNotificationApiProtocol : AnyObject
  • Defines an object that can intercept and interact with Unblu related notifications

    See more

    Declaration

    Swift

    public protocol UnbluNotificationInterceptor
  • This protocol is used to notify when a request has been made to download a file.

    See more

    Declaration

    Swift

    public protocol UnbluFileDownloadHandler
  • This protocol is used to notify when a request has been made to download a file with the authorization header in the http request

    See more

    Declaration

    Swift

    public protocol UnbluFileDownloadHandlerWithAuthorizationToken : UnbluFileDownloadHandler
  • protocol which can be implemented to store the preferences of Unblu at a custom location.

    This is useful if encryption should used. Otherwise a default implementation can be used by creating a UserDefaultsPreferencesStorage.

    IMPORTANT: if you change the custom storage, please be aware that you are somehow capable of migrating the old data to the new storage.

    See more

    Declaration

    Swift

    public protocol UnbluPreferencesStorage
  • Defines a creator to create a custom loading UI when the unblu UI is displayed. Using it at UnbluCoreApi#customLoadingViewCreator.

    See more

    Declaration

    Swift

    public protocol UnbluCustomLoadingViewCreator
  • A protocol that defines additional behaviour available on the UnbluView, which itself will always be a UIView.

    See more

    Declaration

    Swift

    public protocol UnbluView : UIView
  • The delegate for notification events received from Firebase.

    See more

    Declaration

    Swift

    @objc
    public protocol UnbluFirebaseNotificationCoordinatorDelegate
  • This is the api for the mobile co-browsing module. This is only usable if the corresponding module got registered in the used configuration.

    See more

    Declaration

    Swift

    public protocol UnbluMobileCoBrowsingModuleApi : UnbluModule
  • The delegate for the UnbluMobileCoBrowsingModule

    See more

    Declaration

    Swift

    public protocol UnbluMobileCoBrowsingModuleDelegate : AnyObject