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 moreActionRegistry
and 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 aPermissionDelegate
for 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