The Airship integration is available on the Enterprise plan.
Configuration
On the Airship Tokens page in Settings, create a token with the All Access role and copy the app key and access token. Under Partner Integrations, enable Radar to enable auto-population of custom event names and properties in the Airship Automation Composer. Then, on the Radar Integrations page under Airship, set Enabled to Yes and paste your app key and access token. Note that you can set separate API keys for the Test and Live environments. Whenever events are generated, Radar will send custom events and tags to Airship. Note that for tags to populate, you must manually create tag groups in Airship first. If you are using Airship SDK13.x
or earlier with Radar iOS SDK 3.0.4
or earlier or Radar Android SDK 3.0.6
or earlier, the Radar SDK will automatically collect Airship channel ID and Airship session ID. However, if you are using Airship SDK 14.0
or later with Radar iOS SDK 3.0.5
or later or Radar Android SDK 3.0.7
or later, you must set Radar metadata.airshipChannelId
and metadata.airshipSessionId
manually to collect Airship channel ID and Airship session ID.
addChannelListener
Airship methods.
Verify integration data delivery
To test that the integration is configured correctly and can deliver data, use the Simulator to generate events. Click View on an event row and scroll down to the Logs section on the details page to verify delivery. Perform a similar process via a test app build with Radar location tracking enabled by spoofing location or moving into the relevant boundary. All integration delivery can be monitored via the integration’s event logs by clicking View event logs on the Integrations page.Example use cases
Send a personalized push notification when a user arrives at a store
- Create Geofences in Radar with the geofence tag set to
store
. The geofence tag will be used to trigger messages for the subset of geofence entries where this tag is present. - Set up an Airship campaign triggered from the Radar geofence entry event, the
radar_geofence_entered
custom event in Airship, and add property filtering whereradar_geofence_tag
isstore
. These same events can be used as part of an Airship campaign and the event properties can be used in message personalization with handlebars.
Message all users nearby a store
- Create Geofences in Radar to represent nearby store boundaries with geofence tag set to
nearby-store
. The geofence tag will be used to target messages for the subset of geofences where this tag is present. - Set up an Airship campaign targeted with the
radar_geofence_tags
tag group that Radar sends. This will be an array of all geofences the user is currently in, so set the tag to match the value ofnearby-store
for theradar_geofence_tag
group. Additional attribute filtering can be performed for more complex targeting, including regional targeting.
In-app messaging
To trigger in-app messaging from detected user state on app open, custom events need to deliver through Airship’s SDK rather than via Radar’s server to server integration with Airship. To support this, implement custom logic in the SDK leveraging Radar’s location update listener, on iOS or Android, to send foreground detections to Airship. The example code below assumes you are callingRadar.trackOnce()
on application launch. See the iOS and Android tracking references if needed.
User mapping
Radar User Field | Airship Tag Group Name | Type | Example Tag | Context Type |
---|---|---|---|---|
locationAuthorization | radar_location_authorization | string | "GRANTED_FOREGROUND" | |
locationAccuracyAuthorization | radar_location_accuracy_authorization | string | "FULL" | |
updatedAt | radar_updated_at | timestamp | "2018-06-22T15:23:39.000Z" | |
segments[*].externalId | radar_segment_external_ids | array[string] | ["starbucks-visitors"] | |
topChains[*].slug | radar_top_chain_slugs | array[string] | ["starbucks"] | |
topChains[*].externalId | radar_top_chain_external_ids | array[string] | ["123"] | |
geofences[*]._id | radar_geofence_ids | array[string] | ["5b2c0906f5874b001aecfd8e"] | Geofences |
geofences[*].description | radar_geofence_descriptions | array[string] | ["Store #123"] | Geofences |
geofences[*].tag | radar_geofence_tags | array[string] | ["store"] | Geofences |
geofences[*].externalId | radar_geofence_external_ids | array[string] | ["123"] | Geofences |
place._id | radar_place_id | string | "59302bcf8f27e8a156bd4f91" | Places |
place.name | radar_place_name | string | "Starbucks" | Places |
place.categories | radar_place_categories | string | "coffee-shop" | Places |
place.chain.slug | radar_place_chain_slug | string | "starbucks" | Places |
place.chain.name | radar_place_chain_name | string | "Starbucks" | Places |
country.code | radar_region_country_code | string | "US" | Regions |
country.name | radar_region_country_name | string | "United States" | Regions |
state.code | radar_region_state_code | string | "MD" | Regions |
state.name | radar_region_state_name | string | "Maryland" | Regions |
dma.code | radar_region_dma_code | string | "26" | Regions |
dma.name | radar_region_dma_name | string | "Baltimore" | Regions |
postalCode.code | radar_region_postal_code | string | "21014" | Regions |
trip.externalId | radar_trip_external_id | string | "299" | Trip Tracking |
trip.destinationGeofenceTag | radar_trip_destination_geofence_tag | string | "store" | Trip Tracking |
trip.destinationGeofenceExternalId | radar_trip_destination_geofence_external_id | string | "123" | Trip Tracking |
beacons[*]._id | radar_beacon_ids | array[string] | ["5b2c0906f5874b001aecfd8f"] | Beacons |
beacons[*].description | radar_beacon_descriptions | array[string] | ["Store #123 - Drive-Thru"] | Beacons |
beacons[*].tag | radar_beacon_tags | array[string] | ["drive-thru"] | Beacons |
beacons[*].externalId | radar_beacon_external_ids | array[string] | ["123"] | Beacons |
Event mapping
Radar Event | Context Type | Airship Event |
---|---|---|
user.entered_geofence | Geofences | radar_geofence_entered |
user.exited_geofence | Geofences | radar_geofence_exited |
user.dwelled_in_geofence | Geofences | radar_dwelled_in_geofence |
user.entered_place | Places | radar_place_entered |
user.exited_place | Places | radar_place_exited |
user.entered_region_country | Regions | radar_country_entered |
user.exited_region_country | Regions | radar_country_exited |
user.entered_region_state | Regions | radar_state_entered |
user.exited_region_state | Regions | radar_state_exited |
user.entered_region_dma | Regions | radar_dma_entered |
user.exited_region_dma | Regions | radar_dma_exited |
user.started_trip | Trip Tracking | radar_started_trip |
user.updated_trip | Trip Tracking | radar_updated_trip |
user.approaching_trip_destination | Trip Tracking | radar_approaching_trip_destination |
user.arrived_at_trip_destination | Trip Tracking | radar_arrived_at_trip_destination |
user.stopped_trip | Trip Tracking | radar_stopped_trip |
user.entered_beacon | Beacons | radar_beacon_entered |
user.exited_beacon | Beacons | radar_beacon_exited |
radar_geofence_entered
Radar Event Field | Airship Event Property | Type | Example Value |
---|---|---|---|
geofence._id | radar_geofence_id | string | "5b2c0906f5874b001aecfd8e" |
geofence.description | radar_geofence_description | string | "Store #123" |
geofence.tag | radar_geofence_tag | string | "store" |
geofence.externalId | radar_geofence_external_id | string | "123" |
geofence.metadata[{key}] | radar_geofence_metadata_{key} | type | {value} |
confidence | radar_confidence | string | "high" |
foreground | radar_foreground | boolean | true |
radar_geofence_exited
Radar Event Field | Airship Event Property | Type | Example Value |
---|---|---|---|
geofence._id | radar_geofence_id | string | "5b2c0906f5874b001aecfd8e" |
geofence.description | radar_geofence_description | string | "Store #123" |
geofence.tag | radar_geofence_tag | string | "store" |
geofence.externalId | radar_geofence_external_id | string | "123" |
geofence.metadata[{key}] | radar_geofence_metadata_{key} | type | {value} |
confidence | radar_confidence | string | "high" |
duration | radar_duration | number (minutes) | 42.1 |
foreground | radar_foreground | boolean | true |
radar_dwelled_in_geofence
Radar Event Field | Airship Event Property | Type | Example Value |
---|---|---|---|
geofence._id | radar_geofence_id | string | "5b2c0906f5874b001aecfd8e" |
geofence.description | radar_geofence_description | string | "Store #123" |
geofence.tag | radar_geofence_tag | string | "store" |
geofence.externalId | radar_geofence_external_id | string | "123" |
geofence.metadata[{key}] | radar_geofence_metadata_{key} | type | {value} |
confidence | radar_confidence | string | "high" |
duration | radar_duration | number (minutes) | 5 |
foreground | radar_foreground | boolean | true |
radar_place_entered
Radar Event Field | Airship Event Property | Type | Example Value |
---|---|---|---|
place._id | radar_place_id | string | "59302bcf8f27e8a156bd4f91" |
place.name | radar_place_name | string | "Starbucks" |
place.chain.slug | radar_place_chain_slug | string | "starbucks" |
place.chain.name | radar_place_chain_name | string | "Starbucks" |
place.chain.metadata[{key}] | radar_place_chain_metadata_{key} | type | {value} |
place.categories | radar_place_categories | string (comma-separated) | "food-beverage,cafe,coffee-shop" |
confidence | radar_confidence | string | "high" |
foreground | radar_foreground | boolean | true |
radar_place_exited
Radar Event Field | Airship Event Property | Type | Example Value |
---|---|---|---|
place._id | radar_place_id | string | "59302bcf8f27e8a156bd4f91" |
place.name | radar_place_name | string | "Starbucks" |
place.chain.slug | radar_place_chain_id | string | "starbucks" |
place.chain.name | radar_place_chain_name | string | "Starbucks" |
place.chain.metadata[{key}] | radar_place_chain_metadata_{key} | type | {value} |
place.categories | radar_place_categories | string (comma-separated) | "food-beverage,cafe,coffee-shop" |
confidence | radar_confidence | string | "high" |
duration | radar_duration | number (minutes) | 42.1 |
foreground | radar_foreground | boolean | true |
radar_country_entered
Radar Event Attribute | Airship Event Property | Type | Example Value |
---|---|---|---|
region.code | radar_region_code | string | "US" |
region.name | radar_region_name | string | "United States" |
confidence | radar_confidence | string | "high" |
foreground | radar_foreground | boolean | true |
radar_country_exited
Radar Event Attribute | Airship Event Property | Type | Example Value |
---|---|---|---|
region.code | radar_region_code | string | "US" |
region.name | radar_region_name | string | "United States" |
confidence | radar_confidence | string | "high" |
foreground | radar_foreground | boolean | true |
radar_state_entered
Radar Event Attribute | Airship Event Property | Type | Example Value |
---|---|---|---|
region.code | radar_region_code | string | "MD" |
region.name | radar_region_name | string | "Maryland" |
confidence | radar_confidence | string | "high" |
foreground | radar_foreground | boolean | true |
radar_state_exited
Radar Event Attribute | Airship Event Property | Type | Example Value |
---|---|---|---|
region.code | radar_region_code | string | "MD" |
region.name | radar_region_name | string | "Maryland" |
confidence | radar_confidence | string | "high" |
foreground | radar_foreground | boolean | true |
radar_dma_entered
Radar Event Attribute | Airship Event Property | Type | Example Value |
---|---|---|---|
region.code | radar_region_code | string | "26" |
region.name | radar_region_name | string | "Baltimore" |
confidence | radar_confidence | string | "high" |
foreground | radar_foreground | boolean | true |
radar_dma_exited
Radar Event Attribute | Airship Event Property | Type | Example Value |
---|---|---|---|
region.code | radar_region_code | string | "26" |
region.name | radar_region_name | string | "Baltimore" |
confidence | radar_confidence | string | "high" |
foreground | radar_foreground | boolean | true |
radar_started_trip
Radar Event Attribute | Airship Event Property | Type | Example Value |
---|---|---|---|
trip.externalId | radar_trip_external_id | string | "299" |
trip.metadata[{key}] | radar_trip_metadata_{key} | type | {value} |
trip.destinationGeofenceTag | radar_trip_destination_geofence_tag | string | "store" |
trip.destinationGeofenceExternalId | radar_trip_destination_geofence_external_id | string | "123" |
foreground | radar_foreground | boolean | true |
radar_updated_trip
Radar Event Attribute | Airship Event Property | Type | Example Value |
---|---|---|---|
trip.externalId | radar_trip_external_id | string | "299" |
trip.metadata[{key}] | radar_trip_metadata_{key} | type | {value} |
trip.destinationGeofenceTag | radar_trip_destination_geofence_tag | string | "store" |
trip.destinationGeofenceExternalId | radar_trip_destination_geofence_external_id | string | "123" |
foreground | radar_foreground | boolean | true |
radar_approaching_trip_destination
Radar Event Attribute | Airship Event Property | Type | Example Value |
---|---|---|---|
trip.externalId | radar_trip_external_id | string | "299" |
trip.metadata[{key}] | radar_trip_metadata_{key} | type | {value} |
trip.destinationGeofenceTag | radar_trip_destination_geofence_tag | string | "store" |
trip.destinationGeofenceExternalId | radar_trip_destination_geofence_external_id | string | "123" |
foreground | radar_foreground | boolean | true |
radar_arrived_at_trip_destination
Radar Event Attribute | Airship Event Property | Type | Example Value |
---|---|---|---|
trip.externalId | radar_trip_external_id | string | "299" |
trip.metadata[{key}] | radar_trip_metadata_{key} | type | {value} |
trip.destinationGeofenceTag | radar_trip_destination_geofence_tag | string | "store" |
trip.destinationGeofenceExternalId | radar_trip_destination_geofence_external_id | string | "123" |
foreground | radar_foreground | boolean | true |
radar_stopped_trip
Radar Event Attribute | Airship Event Property | Type | Example Value |
---|---|---|---|
trip.externalId | radar_trip_external_id | string | "299" |
trip.metadata[{key}] | radar_trip_metadata_{key} | type | {value} |
trip.destinationGeofenceTag | radar_trip_destination_geofence_tag | string | "store" |
trip.destinationGeofenceExternalId | radar_trip_destination_geofence_external_id | string | "123" |
foreground | radar_foreground | boolean | true |
radar_beacon_entered
Radar Event Attribute | Airship Event Property | Type | Example Value |
---|---|---|---|
beacon._id | radar_beacon_id | string | "5b2c0906f5874b001aecfd8f" |
beacon.description | radar_beacon_description | string | "Store #123 - Drive-Thru" |
beacon.tag | radar_beacon_tag | string | "drive-thru" |
beacon.externalId | radar_beacon_external_id | string | "123" |
beacon.metadata[{key}] | radar_trip_metadata_{key} | type | {value} |
confidence | radar_confidence | string | "high" |
foreground | radar_foreground | boolean | true |
radar_beacon_exited
Radar Event Attribute | Airship Event Property | Type | Example Value |
---|---|---|---|
beacon._id | radar_beacon_id | string | "5b2c0906f5874b001aecfd8f" |
beacon.description | radar_beacon_description | string | "Store #123 - Drive-Thru" |
beacon.tag | radar_beacon_tag | string | "drive-thru" |
beacon.externalId | radar_beacon_external_id | string | "123" |
beacon.metadata[{key}] | radar_trip_metadata_{key} | type | {value} |
confidence | radar_confidence | string | "high" |
duration | radar_duration | number (minutes) | 1.42 |
foreground | radar_foreground | boolean | true |