Protocols
The following protocols are available globally.
-
This protocol is responsible for runtime-persisting actions and associating them with names and predicates.
Declaration
Swift
@MainActor public protocol AirshipActionRegistry : Sendable -
Airship action. Actions can be registered in the
See moreActionRegistryand ran through theActionRunner.Declaration
Swift
public protocol AirshipAction : AnyObject, Sendable -
Analytics protocol
See moreDeclaration
Swift
public protocol AirshipAnalytics : AnyObject, Sendable -
Airship Channel protocol.
See moreDeclaration
Swift
public protocol AirshipChannel : AnyObject, Sendable -
Airship contact. A contact is distinct from a channel and represents a “user” within Airship. Contacts may be named and have channels associated with it.
See moreDeclaration
Swift
public protocol AirshipContact : AnyObject, Sendable -
Protocol for customizing an Airship embedded view with a style
See moreDeclaration
Swift
public protocol AirshipEmbeddedViewStyle : Sendable -
Protocol used by Airship to log all log messages within the SDK. A custom log handlers should be set on
See moreAirshipConfig.logHandler.Declaration
Swift
public protocol AirshipLogHandler : Sendable -
The privacy manager allow enabling/disabling features in the SDK. The SDK will not make any network requests or collect data if all features are disabled, with a few exceptions when going from enabled -> disabled. To have the SDK opt-out of all features on startup, set the default enabled features in the Config to an empty option set, or in the airshipconfig.plist file with
enabledFeatures = none. If any feature is enabled, the SDK will collect and send the following data:- Channel ID
- Contact ID
- Locale
- TimeZone
- Platform
- Opt in state (push and notifications)
- SDK version
Declaration
Swift
public protocol AirshipPrivacyManager : AnyObject, Sendable -
Airship Push protocol.
See moreDeclaration
Swift
public protocol AirshipPush : AnyObject, Sendable -
Protocol to be implemented by deep link handlers.
See moreDeclaration
Swift
public protocol DeepLinkDelegate : AnyObject, Sendable -
A standard protocol for handling commands from the NativeBridge..
See moreDeclaration
Swift
public protocol JavaScriptCommandDelegate : AnyObject, Sendable -
Airship locale manager.
See moreDeclaration
Swift
public protocol AirshipLocaleManager : AnyObject, Sendable -
Action runner used in the
See moreNativeBridge.Declaration
Swift
public protocol NativeBridgeActionRunner : Sendable -
Delegate to extend the native bridge.
See moreDeclaration
Swift
public protocol NativeBridgeExtensionDelegate : AnyObject -
Permissions manager delegate. Allows for extending permission gathering.
See moreDeclaration
Swift
public protocol AirshipPermissionDelegate : Sendable -
Airship permissions manager.
Airship will provide the default handling for
See morePermission.postNotifications. All other permissions will need to be configured by the app by providing aPermissionDelegatefor the given permissions.Declaration
Swift
public protocol AirshipPermissionsManager : Sendable -
Protocol to be implemented by push notification clients. All methods are optional.
See moreDeclaration
Swift
public protocol PushNotificationDelegate : AnyObject, Sendable -
Implement this protocol and add as a Push.registrationDelegate to receive registration success and failure callbacks.
See moreDeclaration
Swift
public protocol RegistrationDelegate : AnyObject -
Delegate protocol for accepting and rejecting URLs.
See moreDeclaration
Swift
public protocol URLAllowListDelegate : Sendable -
Class for accepting and verifying webview URLs.
URL allow list entries are written as URL patterns with optional wildcard matching:
<scheme> := <any char combination, '*' are treated as wildcards> <host> := '*' | '*.'<any char combination except '/' and '*'> | <any char combination except '/' and '*'> <path> := <any char combination, '*' are treated as wildcards> <pattern> := '*' | <scheme>://<host>/<path> | <scheme>://<host> | <scheme>:/<path> | <scheme>:///<path>A single wildcard will match any URI. Wildcards in the scheme pattern will match any characters, and a single wildcard in the scheme will match any scheme. The wildcard in a host pattern
"*.mydomain.com"will match anything within the mydomain.com domain. Wildcards in the path pattern will match any characters, including subdirectories.Note that NSURL does not support internationalized domains containing non-ASCII characters. All URL allow list entries for internationalized domains must be in ASCII IDNA format as specified in https://tools.ietf.org/html/rfc3490
See moreDeclaration
Swift
public protocol AirshipURLAllowList : Sendable
View on GitHub
Protocols Reference