Protocols

The following protocols are available globally.

  • This is the api for the call module. This is only usable if the corresponding module got registered in the used configuration.

    See more

    Declaration

    Swift

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

    See more

    Declaration

    Swift

    public protocol UnbluCoBrowsingModuleApi
  • Delegate which handles authentication challanges of the Unblu webView.

    See more

    Declaration

    Swift

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

    See more

    Declaration

    Swift

    public protocol UnbluFileDownloadHandler
  • A module which can be used in Unblu. This can be added via the UnbluApiConfiguration.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
  • 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
  • The delegate for notification events received from Firebase.

    See more

    Declaration

    Swift

    @objc
    public protocol UnbluFirebaseNotificationCoordinatorDelegate
  • A protocol that defines an object that can intercept certain conversation related events.

    See more

    Declaration

    Swift

    public protocol UnbluConversationInterceptor