Install SDK
The Airbridge Expo SDK can be installed using the method below. After installation, you can verify whether the SDK has been properly installed through testing. Use the npm to installairbridge-expo-sdk and airbridge-react-native-sdk.
Install Restricted SDK
NoteInstall only one version of the SDK, either the general SDK or the restricted SDK.
Initialize SDK
Add the following code to theapp.json.
app.json
APP_NAME is the App Name and APP_TOKEN is the App SDK Token that can be found on the [Settings]>[Tokens] page in the Airbridge dashboard.Configure SDK settings
Configure the SDK settings to use the Airbridge Expo SDK.- Create an airbridge.json file at the top level of the Expo project folder, input the JSON as above, and configure the SDK settings.
- Don’t input values for keys that are not necessary for your service.
References for configuring the SDK settings
References for configuring the SDK settings
Configure ATT prompt
NoteThe functions necessary to ensure compliance with privacy policies should be reviewed with legal counsel.
- Prepare the text you will use in the ATT prompt.
- Provide the ATT prompt following this guide provided by Apple.
- If the install event is not collected, the Airbridge Expo SDK delays collecting install events for 30 seconds until the user allows tracking each time the app is launched. If the user exits the app before deciding whether to allow tracking, the SDK will not collect the install event and will try again at the next app launch.
autoDetermineTrackingAuthorizationTimeoutInSecond to set a sufficient delay time for collecting install events. The default value is 30 seconds, and it can be set to up to 3600 seconds (1 hour).
Recommended time setting for “setAutoDetermineTrackingAuthorizationTimeout” functionWhen using the DeepLink Plan, it is recommended that the
setAutoDetermineTrackingAuthorizationTimeout parameter be set to 0 seconds when configuring the ATT prompt.As the DeepLink Plan does not support attribution using identifiers, the setAutoDetermineTrackingAuthorizationTimeout parameter should be set to 0 seconds to seamlessly redirect users who have already installed the app to the intended in-app location as configured in the deferred deep link.Deep Linking
Deep linking allows you to redirect users from ads to specific locations within your app. The data collected from the tracking link enables you to monitor the performance of the deep link in Airbridge.How Airbridge Deep Links work
When a user clicks on the Airbridge tracking link, the scheme deep link embedded in the tracking link is converted into an Airbridge Deep Link, which can be either an HTTP deep link or a scheme deep link. This Airbridge Deep Link redirects the user to the desired app location. Then, the Airbridge SDK converts the Airbridge Deep Link back to the original scheme deep link embedded in the tracking link and passes it to the app.- Example scheme deep link embedded in the tracking link: YOUR_SCHEME://product/12345
-
Examples of Airbridge Deep Links
- HTTP deep link format 1: https://YOUR_APP_NAME.airbridge.io/~~~
- HTTP deep link format 2: https://YOUR_APP_NAME.abr.ge/~~~
- Scheme deep link format: YOUR_SCHEME://product/12345?airbridge_referrer=~~~

Set up deep linking
For the deep linking setup, the deep link information entered to the Airbridge dashboard and the in-app location address for user redirection is required. First, enter the deep link information into the Airbridge dashboard.How to enter the deep link information into Airbridge dashboard
How to enter the deep link information into Airbridge dashboard
For the deep linking setup, the following information must be entered into the Airbridge dashboard.Follow the steps below to submit the necessary information to the Airbridge dashboard.
iOS
- iOS URI scheme: The Airbridge Deep Link is converted to a scheme deep link using the iOS URI scheme.
- iOS App ID: The universal link domain of the Airbridge Deep Link is set using the iOS App ID.
Android
- Android URI scheme: The Airbridge deep link is converted to a scheme deep link using the Android URI scheme. This information is necessary for the App Link and URI scheme.
- Package name: This is the Android app identifier necessary for the App Link and URI scheme.
- Android sha256_cert_fingerprints: This is used for setting the App Link domain. This information is necessary for the App Link.
AttentionTo properly redirect users as intended, submit different information for the production app and the development app.
iOS
- Navigate to [Tracking Link]>[Deep Links] in the Airbridge dashboard.
-
Enter the iOS URI scheme in the iOS URI Scheme field. Include
://. For example, if the iOS URI scheme isdemo, enterdemo://. - In the Apple Developer Dashboard, navigate to [Identifier] of the app you want to set up the deep link. Find the App ID Prefix and Bundle ID.
-
The iOS App ID is in the format of
App ID Prefix+ . + Bundle ID. Enter the iOS App ID into the iOS App ID field. For example, if the App ID Prefix isprefixand the Bundle ID isexample, the iOS App ID isprefix.example.
Android
For apps that use Google Play’s Play App Signing, Google’s servers re-sign the APK after the developer uploads it. This changes the Android sha256_cert_fingerprints, so you must register the final signing value from the Google Play Console—not from your local keystore—for App Links to work correctly. Register the Android URI scheme, package name, and Android sha256_cert_fingerprints in Airbridge according to your signing method.- Play App signing
- using original key
- Naviagate to [Tracking Link]>[Deep Links] in the Airbridge dashboard.
-
Enter the Android URI scheme into the Android URI Scheme field. Include
://. For example, if the URI scheme isdemo, you must enterdemo://. - Enter the package name in the Package name field.
- Go to the Google Play Console and select your app.
- Navigate to [App integrity].
-
Copy the SHA-256 certificate fingerprint from the App signing key certificate section.
AttentionMake sure to copy from the correct section. This page contains two certificate entries:
- App signing key certificate ← Use this value
- Upload key certificate ← Do NOT use this value
- Enter the SHA256 value into the sha256_cert_fingerprints field.
- App launch with Airbridge Deep Links
- User redirection with Airbridge Deep Links
Enable app launch with Airbridge Deep Links
Enable app launch with Airbridge Deep Links
To enable app launch with Airbridge Deep Links, add the following code to the
app.json.app.json
YOUR_SCHEME is the URI Scheme that can be found on the [Tracking Link]>[Deep Links] page in the Airbridge dashboard.Enable user redirection with Airbridge Deep Links
Enable user redirection with Airbridge Deep Links
When an Airbridge Deep Link is executed, it is converted into a scheme deep link and passed to the
OnDeeplinkReceived callback. If a deep link that is not an Airbridge Deep Link is executed, the deep link is passed directly to the callback without any conversion.Use the deep link passed to the callback to redirect the user to the intended destination.Set up deferred deep linking
When a user clicks on a tracking link with deferred deep linking capabilities and your app is not installed on the device, the Airbridge SDK retrieves the deep link as follows.How the Airbridge SDK collects deferred deep links
How the Airbridge SDK collects deferred deep links
The Airbridge SDK attempts to collect a deep link after initializing the SDK when all the following conditions are met. If the app is closed during collection, the Airbridge SDK treats it as if there is no stored Airbridge deep link.
- The
Airbridge.startTrackingfunction is called with the opt-in settings in place. Or, opt-in has not been set. - The ATT tracking response has been determined. Or, the event collection delay time set in the ATT prompt has expired.
OnDeeplinkReceived, so no additional setup is required.
Testing
The SDK functionality test and deep link test allow you to check whether the SDK and deep linking work as intended.Additional SDK Settings
Follow the instructions below for additional setup.AttentionOptional settings. Configure only if necessary.
Receive Airbridge Deep Links only
NoteThe Airbridge Expo SDK must be v4.2.0 or later.
setOnDeeplinkReceived method of the Airbridge Expo SDK include not only Airbridge Deep Links but also deep links from other solutions.
isHandleAirbridgeDeeplinkOnly to true in the SDK settings, only Airbridge Deep Links will be passed to the setOnDeeplinkReceived callback. In this way, you can handle the deep links from other solutions separately from the Airbridge Deep Links.
Create tracking links within the app
AttentionExpo SDK v.4.3.0 or later is required.
createTrackingLink function to create tracking links. Refer to the code examples and the parameter details below.
Use the
option parameter in the createTrackingLink function to configure tracking link options.
Create trackingLink option
Create trackingLink option
| Key | Type | Description |
|---|---|---|
| AirbridgeTrackingLinkOption.CAMPAIGN | String | The campaign credited with the winning touchpoint or conversion. |
| AirbridgeTrackingLinkOption.AD_GROUP | String | The ad group credited with the winning touchpoint or conversion. |
| AirbridgeTrackingLinkOption.AD_CREATIVE | String | The ad creative credited with the winning touchpoint or conversion. |
| AirbridgeTrackingLinkOption.CONTENT | String | The content credited with the winning touchpoint or conversion. |
| AirbridgeTrackingLinkOption.TERM | String | The search term credited with the winning touchpoint or conversion. |
| AirbridgeTrackingLinkOption.SUB_ID | String | The sub publisher that generated the touchpoint. Sub media values are usually provided by predefined “integrated” channels. |
| AirbridgeTrackingLinkOption.SUB_ID_1 | String | The 1st level sub-sub publisher that generated the touchpoint. Sub media values are usually provided by predefined “integrated” channels. |
| AirbridgeTrackingLinkOption.SUB_ID_2 | String | The 2nd level sub-sub publisher that generated the touchpoint. Sub media values are usually provided by predefined “integrated” channels. |
| AirbridgeTrackingLinkOption.SUB_ID_3 | String | The 3rd level sub-sub publisher that generated the touchpoint. Sub media values are usually provided by predefined “integrated” channels. |
| AirbridgeTrackingLinkOption.DEEPLINK_URL | (Custom Scheme URL String) | Deeplink URL |
| AirbridgeTrackingLinkOption.DEEPLINK_STOPOVER | Boolean | Whether to enable the stopover feature of Deeplink true : enable false : disable |
| AirbridgeTrackingLinkOption.FALLBACK_IOS | (“store” | Web URL String) | ios fallback when app is not installed |
| AirbridgeTrackingLinkOption.FALLBACK_ANDROID | (“store” | Web URL String) | android fallback when app is not installed |
| AirbridgeTrackingLinkOption.FALLBACK_DESKTOP | (Web URL String) | desktop fallback when app is not installed |
| AirbridgeTrackingLinkOption.FALLBACK_IOS_STORE_PPID | String | The ppid for the Custom Product Page in the Apple App Store. Enable the custom product page to be shown when landing in the App Store. |
| AirbridgeTrackingLinkOption.FALLBACK_ANDROID_STORE_LISTING | String | The Custom Store Listing listing value for the Google Play Store. Enables the display of your custom store listing when landing on the Google Play Store. |
| AirbridgeTrackingLinkOption.OGTAG_TITLE | String | og:title for tracking link |
| AirbridgeTrackingLinkOption.OGTAG_DESCRIPTION | String | og:description for tracking link |
| AirbridgeTrackingLinkOption.OGTAG_IMAGE_URL | (Web URL String) | og:image for tracking link |
| AirbridgeTrackingLinkOption.OGTAG_WEBSITE_CRAWL | (“desktop”) | When the tracking link is shared, the social media platform directly crawls the Open Graph of the desktop URL specified in fallbackPaths and uses it for the social share preview. Dynamic URLs are also supported, and any change to the Open Graph is reflected automatically from the next time the link is shared. The values set for title, description, and imageUrl will be ignored. |
| AirbridgeTrackingLinkOption.CUSTOM_SHORT_ID | String | Configure the short ID of tracking links depending on your campaign or contents. If not passed, a random short ID will be generate, and can not be changed once generated. |
| AirbridgeTrackingLinkOption.IS_REENGAGEMENT | (“off” | “on_true” | “on_false”) | Configure the Re-engagement parameter. The Re-engagement parameter has three options. off: OFF is the default setting. The touchpoint can be attributed to both install events and post-install events (in-app events). on_true: ON-TRUE is used for re-engagement campaigns for installed users. The touchpoint generated by the tracking link is attributed only to the deeplink open and the following in-app events, not to the install event. on_false: ON-FALSE is used for user acquisition campaigns targeting uninstalled users. The touchpoint generated by the tracking link is attributed only to the install event and the following in-app events, not to the ‘deeplink open’ event. |
onSuccess callback in the createTrackingLink function to pass the AirbridgeTrackingLink.
Refer to the example codes below.
Create tracking links that launch the app or redirect users to the app store
Create tracking links that launch the app or redirect users to the app store
Create tracking links that launch the app or redirect users to a webpage
Create tracking links that launch the app or redirect users to a webpage
Create tracking links that redirect users to the app store only
Create tracking links that redirect users to the app store only
Create tracking links that redirect users to a webpage only
Create tracking links that redirect users to a webpage only