Urban Airship Connect webhook setup - OXYGEN-MARKET/oxygen-market.github.io GitHub Wiki
HOME > SNOWPLOW SETUP GUIDE > Step 2b: setup a Webhook > Urban Airship Connect webhook setup
- 1 Overview
- 1.1 Compatibility
- 2 Setup
- 2.1 UrbanAirship Connect
- 2.2 Snowplow Redshift
- 2.3 EmrEtlRunner
Technically this is not a webhook as it is integrated via S3, but we include it in this section for ease of discovery.
This webhook integration lets you track a variety of events logged by UrbanAirship Connect.
Available events are:
- CLOSE
- CUSTOM
- FIRST_OPEN
- IN_APP_MESSAGE_DISPLAY
- IN_APP_MESSAGE_EXPIRATION
- IN_APP_MESSAGE_RESOLUTION
- LOCATION
- OPEN
- PUSH_BODY
- REGION
- RICH_DELETE
- RICH_DELIVERY
- RICH_READ
- SEND
- TAG_CHANGE
- UNINSTALL
For the technical implementation details, see Urban Airship Connect webhook adapter.
Integrating UrbanAirship Connect's webhooks into Snowplow is a three-stage process:
- Configure UrbanAirship Connect to send events to Snowplow
- (Optional) Create the UrbanAirship Connect events tables for Amazon Redshift
- Configure EmrEtlRunner to load UrbanAirship events
You'll need to log into your UrbanAirship account and set up integrations to a S3 bucket first.
If you are running the Snowplow batch (Hadoop) flow with Amazon Redshift, then you should deploy the relevant event tables into your Amazon Redshift.
You can find the table definitions here:
- com_urbanairship_CLOSE_1.sql
- com_urbanairship_CUSTOM_1.sql
- com_urbanairship_FIRST_OPEN_1.sql
- com_urbanairship_IN_APP_MESSAGE_DISPLAY_1.sql
- com_urbansirship_IN_APP_MESSAGE_EXPIRATION_1.sql
- com_urbanairship_IN_APP_MESSAGE_RESOLUTION_1.sql
- com_urbanairship_LOCATION_1.sql
- com_urbanairship_OPEN_1.sql
- com_urbanairship_PUSH_BODY_1.sql
- com_urbanairship_REGION_1.sql
- com_urbanairship_RICH_DELETE_1.sql
- com_urbanairship_RICH_DELIVERY_1.sql
- com_urbanairship_RICH_READ_1.sql
- com_urbanairship_SEND_1.sql
- com_urbanairship_TAG_CHANGE_1.sql
- com_urbanairship_UNINSTALL_1.sql
Make sure to deploy this table into the same schema as your events
table.
The minimum Hadoop enrich job version is 0.19.0. You'll need to set the version you're using to be at least this. This setting can be found in the file config.yml
versions:
hadoop_enrich: 0.19.0
You'll also need to set your loader format. To collect Urban Airship Connect events, this should be set to ndjson/com.urbanairship.connect/v1
as below.
collector_format: ndjson/com.urbanairship.connect/v1
Finally, you need to point EmrEtlRunner at your UrbanAirship integration S3 bucket:
raw:
in:
- s3://bucket-specified-in-urban-airship
For a complete example, see our sample config.yml
template.
That's it - with these tables deployed and your configuration set up, your UrbanAirship Connect events will be ingested by running EmrEtlRunner.