Classes
The following classes are available globally.
-
AccountEventTemplate represents a custom account event template for the application.
See more -
This class is responsible for runtime-persisting actions and associating them with names and predicates.
See more -
An action registry entry.
See more -
A helper class for running actions by name or by reference.
See more -
An action that adds a custom event.
This action is registered under the name “add_custom_event_action”.
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: UASituationForegroundPush, UASituationLaunchedFromPush, UASituationWebViewInvocation, UASituationManualInvocation, UASituationBackgroundPush, UASituationForegroundInteractiveButton, UASituationBackgroundInteractiveButton, and UASituationAutomation
Result value: nil
Fetch result: UAActionFetchResultNoData
Default predicate: Only accepts UASituationWebViewInvocation and UASituationManualInvocation
See more -
Default predicate for the add custom event action.
See more -
Adds tags. This Action is registered under the names ^+t and “add_tags_action”.
Expected argument values: NSString (single tag), NSArray (single or multiple tags), or NSDictionary (tag groups). 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: UASituationForegroundPush, UASituationLaunchedFromPush UASituationWebViewInvocation, UASituationForegroundInteractiveButton, UASituationBackgroundInteractiveButton, UASituationManualInvocation, and UASituationAutomation
Default predicate: Rejects foreground pushes with visible display options
Result value: nil
Error: nil
Fetch result: UAActionFetchResultNoData
See more -
Convenience class for aggregating and merging multiple UAActionResults.
See more -
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. -
The Analytics object provides an interface to the Airship Analytics API.
See more -
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. -
The ApplicationMetrics class keeps track of application-related metrics.
See more -
Associated channel data.
See more -
Defines analytics identifiers to be associated with the device.
See more -
Predefined attributes.
See more -
Default predicate for the modify attributes action.
See more -
Attributes editor.
See more -
A circle with an X in it, drawn to fill the frame.
See more -
An abstraction around a nicer looking loading indicator that embeds a UIActivityIndicatorView in a translucent black beveled rect.
See more -
This singleton provides an interface to the channel functionality.
See more -
Channel scopes.
See more -
A circular region defines a radius, and latitude and longitude from its center.
See more -
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. -
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 more -
Contact data.
See more -
CustomEvent captures information regarding a custom event for Analytics.
See more -
Opens a deep link URL. This action is registered under the names ^d and deep_link_action.
Expected argument values: NSString
Valid situations: UASituationForegroundPush, UASituationLaunchedFromPush UASituationWebViewInvocation, UASituationForegroundInteractiveButton, UASituationManualInvocation, and UASituationAutomation
Result value: An NSString representation of the input
Error: Iif the URL could not be opened
Fetch result: UAActionFetchResultNoData
See more -
Email registration options
See more -
Action that produces an empty result.
See more -
Enables an Airship feature.
This action is registered under the names enable_feature and ^ef.
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: UASituationLaunchedFromPush, UASituationWebViewInvocation, UASituationManualInvocation, UASituationForegroundInteractiveButton, and UASituationAutomation
Default predicate: Rejects foreground pushes with visible display options.
Result value: Empty.
See more -
Default predicate for the enable feature action.
See more -
Fetches device info.
This action is registered under the names fetch_device_info and ^fdi.
Expected argument values: none.
Valid situations: UASituationLaunchedFromPush, UASituationWebViewInvocation, UASituationManualInvocation, UASituationForegroundInteractiveButton, UASituationBackgroundInteractiveButton, and UASituationAutomation
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”] }
Default Registration Predicate: Only accepts UASituationManualInvocation and UASituationWebViewInvocation
See more -
Default predicate for the fetch device info action.
See more -
Event to track install attributions.
See more -
Matcher for a JSON payload.
See more -
Predicate for JSON payloads.
See more -
Defines a JSON value matcher.
See more -
The JavaScript environment builder that is used by the native bridge.
See more -
Airship locale manager.
See more -
A MediaEventTemplate represents a custom media event template for the application.
See more -
Modifies attributes This Action is registered under the names ^a and “modify_attributes_action”.
An example JSON payload:
{ “channel”: { set: {“key”: value, … }, remove: [“attribute”, ….] }, “named_user”: { set: {“key”: value, … }, remove: [“attribute”, ….] } }
Valid situations: UASituationForegroundPush, UASituationLaunchedFromPush UASituationWebViewInvocation, UASituationForegroundInteractiveButton, UASituationBackgroundInteractiveButton, UASituationManualInvocation, and UASituationAutomation
Default predicate: Rejects foreground pushes with visible display options
Result value: nil
Error: nil
Fetch result: UAActionFetchResultNoData
See more -
This is the base class for AddTagsAction and RemoveTagsAction.
See more -
DEPRECATED. Use contact instead. The named user is an alternate method of identifying the device. Once a named user is associated to the device, it can be used to send push notifications to the device.
See more -
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. -
Utility methods to create categories from plist files or dictionaries.
See more -
Opens a URL, either in safari or using custom URL schemes. This action is registered under the names ^u and open_external_url_action.
Expected argument values: NSString
Valid situations: UASituationForegroundPush, UASituationLaunchedFromPush UASituationWebViewInvocation, UASituationForegroundInteractiveButton, UASituationManualInvocation, and UASituationAutomation
Result value: An NSString representation of the input
Fetch result: UAActionFetchResultNoData
See more -
Open registration options
See more -
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. -
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…Accepted situations: autmoation, manualInvocation, webViewInvocation, launchedFromPush, foregroundInteractiveButton, foreground Push
See more -
Default predicate for the prompt permission action.
See more -
A proximity region defines an identifier, major and minor.
See more -
This singleton provides an interface to the functionality provided by the Airship iOS Push API.
See more -
A region event captures information regarding a region event for analytics.
See more -
Declaration
Swift
-
Removes tags. This Action is registered under the names ^-t and “remove_tags_action”.
Expected argument values: NSString (single tag), NSArray (single or multiple tags), or NSDictionary (tag groups). 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: UASituationForegroundPush, UASituationLaunchedFromPush UASituationWebViewInvocation, UASituationForegroundInteractiveButton, UASituationBackgroundInteractiveButton, UASituationManualInvocation and UASituationAutomation
Default predicate: Rejects foreground pushes with visible display options
Result value: nil
Error: nil
Fetch result: UAActionFetchResultNoData
See more -
A RetailEventTemplate represents a custom retail event template for the application.
See more -
Airship config needed for runtime. Generated from
See moreUAConfig
during takeOff. -
SMS registration options
See more -
Scoped subscription list editor.
See more -
A SearchEventTemplate represents a custom search event template for the application.
See more -
Shares text using ActivityViewController.
This action is registered under the names share_action and ^s.
Expected argument value is an NSString.
Valid situations: UASituationForegroundPush, UASituationLaunchedFromPush, UASituationWebViewInvocation, UASituationManualInvocation, UASituationForegroundInteractiveButton, and UASituationAutomation
Default predicate: Rejects situation UASituationForegroundPush.
Result value: nil
See more -
Subscribes to/unsubscribes from a subscription list. This Action is registered under the names ^sla, ^sl, and subscription_list_action.
Valid situations: UASituationForegroundPush, UASituationLaunchedFromPush UASituationWebViewInvocation, UASituationForegroundInteractiveButton, UASituationBackgroundInteractiveButton, UASituationManualInvocation, and UASituationAutomation
Default predicate: Rejects foreground pushes with visible display options
Result value: nil
Error: nil
Fetch result: UAActionFetchResultNoData
See more -
Subscription list editor.
See more -
Tag editor.
See more -
Tag groups editor.
See more -
The privacy manager allow enabling/disabling features in the SDK. The SDK will not make any network requests or collect data if all features our 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)
-
Default predicate for URL actions.
See more -
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 more -
Representations of various device connection types.
See more -
The
See moreUtils
object provides an interface for utility methods. -
Version matcher.
See more -
Opens a wallet URL, either in safari or using custom URL schemes. This action is registered under the names ^w and wallet_action.
Expected argument values: NSString
Valid situations: UASituationForegroundPush, UASituationLaunchedFromPush UASituationWebViewInvocation, UASituationForegroundInteractiveButton, UASituationManualInvocation, and UASituationAutomation
Result value: An NSString representation of the input
Fetch result: UAActionFetchResultNoData