Classes
The following classes are available globally.
-
AccountEventTemplate represents a custom account event template for the application.
See moreDeclaration
Swift
@objc(UAAccountEventTemplate) public class AccountEventTemplate : NSObject
-
This class is responsible for runtime-persisting actions and associating them with names and predicates.
Declaration
Swift
@MainActor public class ActionRegistry
-
A helper class for running actions by name or by reference.
See moreDeclaration
Swift
@objc(UAActionRunner) public final class ActionRunner : NSObject
-
An action that adds a custom event.
Expected argument values: A dictionary of keys for the custom event. When a custom event action is triggered from a Message Center Rich Push Message, the interaction type and ID will automatically be filled for the message if they are left blank.
Valid situations: All.
Result value: nil
See moreDeclaration
Swift
public final class AddCustomEventAction : AirshipAction
-
Adds tags.
Expected argument values:
String
(single tag),[String]
(single or multiple tags), or an object. An example tag group JSON payload: { “channel”: { “channel_tag_group”: [“channel_tag_1”, “channel_tag_2”], “other_channel_tag_group”: [“other_channel_tag_1”] }, “named_user”: { “named_user_tag_group”: [“named_user_tag_1”, “named_user_tag_2”], “other_named_user_tag_group”: [“other_named_user_tag_1”] }, “device”: [ “tag”, “another_tag”] }Valid situations:
See moreActionSituation.foregroundPush
,ActionSituation.launchedFromPush
ActionSituation.webViewInvocation
,ActionSituation.foregroundInteractiveButton
,ActionSituation.backgroundInteractiveButton
,ActionSituation.manualInvocation
, andActionSituation.automation
Declaration
Swift
public final class AddTagsAction : AirshipAction
-
Airship manages the shared state for all Airship services. Airship.takeOff should be called from within your application delegate’s
See moreapplication:didFinishLaunchingWithOptions:
method to initialize the shared instance.Declaration
Swift
@objc(UAirship) public class Airship : NSObject
-
NSNotificationCenter keys event names
See moreDeclaration
Swift
@objc(UAirshipNotifications) public final class AirshipNotifications : NSObject
-
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
@objc(UAContact) public final class AirshipContact : NSObject, AirshipContactProtocol, @unchecked Sendable
extension AirshipContact: AirshipPushableComponent
extension AirshipContact: AirshipComponent
-
Airship core resources
See moreDeclaration
Swift
public final class AirshipCoreResources
-
Observable model for Airship embedded views
See moreDeclaration
Swift
@MainActor public final class AirshipEmbeddedObserver : ObservableObject
-
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
- Locale
- TimeZone
- Platform
- Opt in state (push and notifications)
- SDK version
- Accengage Device ID (Accengage module for migration)
Declaration
Swift
@objc(UAPrivacyManager) public final class AirshipPrivacyManager : NSObject, @unchecked Sendable
-
Scene manager Monitors scene connection and disconnection notifications and associated scenes to allow retrieving the latest scene.
See moreDeclaration
Swift
public final class AirshipSceneManager : AirshipSceneManagerProtocol, @unchecked Sendable
-
Representations of various device connection types.
See moreDeclaration
Swift
@objc(UAConnectionType) public class ConnectionType : NSObject
-
The
See moreUtils
object provides an interface for utility methods.Declaration
Swift
@objc(UAUtils) public class AirshipUtils : NSObject
-
Application hooks required by Airship. If
See moreautomaticSetupEnabled
is enabled (enabled by default), Airship will automatically integrate these calls into the application by swizzling methods. IfautomaticSetupEnabled
is disabled, the application must call through to every method provided by this class.Declaration
Swift
@objc(UAAppIntegration) public class AppIntegration : NSObject
-
Associated channel data.
See moreDeclaration
Swift
@available(*, deprecated, message: "Use ContactConflictEvent.ChannelInfo instead") @objc(UAAssociatedChannel) public final class AssociatedChannel : NSObject, Codable, Sendable
-
Defines analytics identifiers to be associated with the device.
See moreDeclaration
Swift
@objc(UAAssociatedIdentifiers) public class AssociatedIdentifiers : NSObject
-
Defines attributes mutations.
See moreDeclaration
Swift
@available(*, deprecated, message: "Use Contact#editAttributes(﹚ or Channel#editAttributes(﹚ instead.") @objc(UAAttributeMutations) public class AttributeMutations : NSObject
-
Predefined attributes.
See moreDeclaration
Swift
@objc(UAAttributes) public class Attributes : NSObject
-
Attributes editor.
See moreDeclaration
Swift
@objc(UAAttributesEditor) public final class AttributesEditor : NSObject
-
Action that runs a block.
See moreDeclaration
Swift
public final class BlockAction : AirshipAction
-
Channel Capture copies the channelId to the device clipboard after a specific number of knocks (app foregrounds) within a specific timeframe. Channel Capture can be enabled or disabled in Airship Config.
See moreDeclaration
Swift
@available(tvOS, unavailable) @objc(UAChannelCapture) public class ChannelCapture : NSObject
-
Channel scopes.
See moreDeclaration
Swift
@objc(UAChannelScopes) public final class ChannelScopes : NSObject, Codable, Sendable
-
A circular region defines a radius, and latitude and longitude from its center.
See moreDeclaration
Swift
@objc(UACircularRegion) public class CircularRegion : NSObject
-
The Config object provides an interface for passing common configurable values to
See moreUAirship
. The simplest way to use this class is to add an AirshipConfig.plist file in your app’s bundle and set the desired options.Declaration
Swift
@objc(UAConfig) public class AirshipConfig : NSObject, NSCopying
-
Contact data.
See moreDeclaration
Swift
@objc(UAContactConflictEvent) public final class ContactConflictEvent : NSObject, @unchecked Sendable
-
CustomEvent captures information regarding a custom event for Analytics.
See moreDeclaration
Swift
@objc(UACustomEvent) public class CustomEvent : NSObject
-
Opens a deep link URL.
Expected argument values: A valid URL String.
Valid situations: All but
See morebackgroundPush
andbackgroundInteractiveButton
Declaration
Swift
public final class DeepLinkAction : AirshipAction
-
Email registration options
See moreDeclaration
Swift
@objc(UAEmailRegistrationOptions) public final class EmailRegistrationOptions : NSObject, Codable, Sendable
-
Action that produces an empty result.
See moreDeclaration
Swift
public final class EmptyAction : AirshipAction
-
Enables an Airship feature.
Expected argument values:
- “user_notifications”: To enable user notifications.
- “location”: To enable location updates.
- “background_location”: To enable location and allow background updates.
Valid situations:
See moreActionSituation.launchedFromPush
,ActionSituation.webViewInvocation
,ActionSituation.manualInvocation
,ActionSituation.foregroundInteractiveButton
, andActionSituation.automation
Declaration
Swift
public final class EnableFeatureAction : AirshipAction
-
Fetches device info.
Expected argument values: none.
Valid situations:
ActionSituation.launchedFromPush
,ActionSituation.webViewInvocation
,ActionSituation.manualInvocation
,ActionSituation.foregroundInteractiveButton
,ActionSituation.backgroundInteractiveButton
, andActionSituation.automation
Result value: JSON payload containing the device’s channel ID, named user ID, push opt-in status, location enabled status, and tags. An example response as JSON: { “channel_id”: “9c36e8c7-5a73-47c0-9716-99fd3d4197d5”, “push_opt_in”: true, “location_enabled”: true, “named_user”: “cool_user”, “tags”: [“tag1”, “tag2, "tag3”] }
See moreDeclaration
Swift
public final class FetchDeviceInfoAction : AirshipAction
-
Matcher for a JSON payload.
See moreDeclaration
Swift
@objc(UAJSONMatcher) public final class JSONMatcher : NSObject, Sendable
-
Predicate for JSON payloads.
See moreDeclaration
Swift
@objc(UAJSONPredicate) public final class JSONPredicate : NSObject, Sendable, Codable
-
Defines a JSON value matcher.
See moreDeclaration
Swift
@objc(UAJSONValueMatcher) public final class JSONValueMatcher : NSObject, @unchecked Sendable
-
The JavaScript environment builder that is used by the native bridge.
See moreDeclaration
Swift
@objc(UAJavaScriptEnvironment) public final class JavaScriptEnvironment : NSObject, JavaScriptEnvironmentProtocol, @unchecked Sendable
-
A MediaEventTemplate represents a custom media event template for the application.
See moreDeclaration
Swift
@objc(UAMediaEventTemplate) public class MediaEventTemplate : NSObject
-
Modifies attributes.
An example JSON payload:
{ “channel”: { set: {“key”: value, … }, remove: [“attribute”, ….] }, “named_user”: { set: {“key”: value, … }, remove: [“attribute”, ….] } }
Valid situations:
See moreActionSituation.foregroundPush
,ActionSituation.launchedFromPush
ActionSituation.webViewInvocation
,ActionSituation.foregroundInteractiveButton
,ActionSituation.backgroundInteractiveButton
,ActionSituation.manualInvocation
, andActionSituation.automation
Declaration
Swift
public final class ModifyAttributesAction : AirshipAction
-
The native bridge will automatically load the Airship JavaScript environment into whitlelisted sites. The native bridge must be assigned as the navigation delegate on a
See moreWKWebView
in order to function.Declaration
Swift
@objc(UANativeBridge) @MainActor public class NativeBridge : NSObject, WKNavigationDelegate
-
Utility methods to create categories from plist files or dictionaries.
See moreDeclaration
Swift
@objc(UANotificationCategories) public class NotificationCategories : NSObject
-
Opens a URL, either in safari or using custom URL schemes.
Expected argument values: A valid URL String.
Valid situations:
ActionSituation.foregroundPush
,ActionSituation.launchedFromPush
ActionSituation.webViewInvocation
,ActionSituation.foregroundInteractiveButton
,ActionSituation.manualInvocation
, andActionSituation.automation
Result value: The input value.
See moreDeclaration
Swift
public final class OpenExternalURLAction : AirshipAction
-
Open registration options
See moreDeclaration
Swift
@objc(UAOpenRegistrationOptions) public final class OpenRegistrationOptions : NSObject, Codable, Sendable
-
Sets the pasteboard’s string.
Expected argument values: String or an Object with the pasteboard’s string under the ‘text’ key.
Valid situations:
ActionSituation.launchedFromPush
,ActionSituation.webViewInvocation
,ActionSituation.manualInvocation
,ActionSituation.foregroundInteractiveButton
,ActionSituation.backgroundInteractiveButton
, andActionSituation.automation
Result value: The arguments value.
See moreDeclaration
Swift
@available(tvOS, unavailable) public final class PasteboardAction : AirshipAction
-
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
@objc(UAPermissionsManager) public final class AirshipPermissionsManager : NSObject, @unchecked Sendable
-
Action that prompts for permission using
PermissionsManager
Expected arguments, dictionary with keys: -
enable_airship_usage
: Bool?. If related airship features should be enabled if the permission is granted. -fallback_system_settings
: Bool?. If denied, fallback to system settings. -permission
: String. The name of the permission.post_notifications
,bluetooth
,mic
,location
,contacts
,camera
, etc…Valid situations:
See moreActionSituation.foregroundPush
,ActionSituation.launchedFromPush
,ActionSituation.webViewInvocation
,ActionSituation.manualInvocation
,ActionSituation.foregroundInteractiveButton
, andActionSituation.automation
Declaration
Swift
public final class PromptPermissionAction : AirshipAction
-
A proximity region defines an identifier, major and minor.
See moreDeclaration
Swift
@objc(UAProximityRegion) public class ProximityRegion : NSObject
-
Links directly to app store review page or opens an app rating prompt.
This action is registered under the names rate_app_action and ^ra.
The rate app action requires your application to provide an itunes ID as an argument value, or have it set on the Airship Config
Config.itunesID
instance used for takeoff.Expected argument values:
show_link_prompt
: Optional Boolean, true to show prompt, false to link to the app store.itunes_id
: Optional String, the iTunes ID for the application to be rated.
Valid situations:
ActionSituation.foregroundPush
,ActionSituation.launchedFromPush
,ActionSituation.webViewInvocation
ActionSituation.manualInvocation
,ActionSituation.foregroundInteractiveButton
, andActionSituation.automation
Result value: nil
See moreDeclaration
Swift
public final class RateAppAction : AirshipAction, Sendable
-
A region event captures information regarding a region event for analytics.
See moreDeclaration
Swift
@objc(UARegionEvent) public class RegionEvent : NSObject
-
Removes tags.
Expected argument values:
String
(single tag),[String]
(single or multiple tags), or an object. An example tag group JSON payload: { “channel”: { “channel_tag_group”: [“channel_tag_1”, “channel_tag_2”], “other_channel_tag_group”: [“other_channel_tag_1”] }, “named_user”: { “named_user_tag_group”: [“named_user_tag_1”, “named_user_tag_2”], “other_named_user_tag_group”: [“other_named_user_tag_1”] }, “device”: [ “tag”, “another_tag”] }Valid situations:
See moreActionSituation.foregroundPush
,ActionSituation.launchedFromPush
ActionSituation.webViewInvocation
,ActionSituation.foregroundInteractiveButton
,ActionSituation.backgroundInteractiveButton
,ActionSituation.manualInvocation
andActionSituation.automation
Declaration
Swift
public final class RemoveTagsAction : AirshipAction
-
A RetailEventTemplate represents a custom retail event template for the application.
See moreDeclaration
Swift
@objc(UARetailEventTemplate) public class RetailEventTemplate : NSObject
-
Airship config needed for runtime. Generated from
See moreUAConfig
during takeOff.Declaration
Swift
@objc(UARuntimeConfig) public final class RuntimeConfig : NSObject, @unchecked Sendable
-
SMS registration options
See moreDeclaration
Swift
@objc(UASMSRegistrationOptions) public final class SMSRegistrationOptions : NSObject, Codable, Sendable
-
Scoped subscription list editor.
See moreDeclaration
Swift
@objc(UAScopedSubscriptionListEditor) public class ScopedSubscriptionListEditor : NSObject
-
A SearchEventTemplate represents a custom search event template for the application.
See moreDeclaration
Swift
@objc(SearchEventTemplate) public class SearchEventTemplate : NSObject
-
Subscribes to/unsubscribes from a subscription list.
Valid situations:
See moreActionSituation.foregroundPush
,ActionSituation.launchedFromPush
ActionSituation.webViewInvocation
,ActionSituation.foregroundInteractiveButton
,ActionSituation.backgroundInteractiveButton
,ActionSituation.manualInvocation
, andActionSituation.automation
Declaration
Swift
public final class SubscriptionListAction : AirshipAction
-
Subscription list editor.
See moreDeclaration
Swift
@objc(UASubscriptionListEditor) public class SubscriptionListEditor : NSObject
-
Tag editor.
See moreDeclaration
Swift
@objc(UATagEditor) public class TagEditor : NSObject
-
Tag groups editor.
See moreDeclaration
Swift
@objc(UATagGroupsEditor) public class TagGroupsEditor : NSObject
-
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
@objc(UAURLAllowList) public final class URLAllowList : NSObject, URLAllowListProtocol
-
Version matcher.
See moreDeclaration
Swift
@objc(UAVersionMatcher) public class VersionMatcher : NSObject