SDK Installation


Package Installation

Install airbridge-expo-config and airbridge-react-native-sdk using npm.

npm install --save airbridge-expo-config
npm install --save airbridge-react-native-sdk

❗️

Airbridge Expo SDK does not support expo go environments. Please use it with expo prebuild or eas build.


Project Setup

app.json

Add following setting to your app.json file.

{
  "expo": {
    ...
    "plugins": [
      ...
      [
        "airbridge-expo-config",
        {
          "appName": "APP_NAME",
          "appToken": "APP_TOKEN"
        }
      ]
    ]
  }
}

📘

APP_NAME can be found at the "Airbridge dashboard → Settings → Tokens → App Name".
APP_TOKEN can be found at the "Airbridge dashboard → Settings → Tokens → App SDK Token".

airbridge.json

  1. Create an airbridge.json file in the project folder.
  2. Configure settings in JSON format.

Example

{
    "sessionTimeoutSeconds": 300,
    "autoStartTrackingEnabled": true,
    "userInfoHashEnabled": true,
    "trackAirbridgeLinkOnly": false,
    "facebookDeferredAppLinkEnabled": false,
    "locationCollectionEnabled": false,
    "trackingAuthorizeTimeoutSeconds": 0
}

Description

Name

Type

Default

Description

sessionTimeoutSeconds

Number

300

An app open event will not be sent when the app is reopened within the designated period.

autoStartTrackingEnabled

Boolean

true

When set to false, no events will be sent until Airbridge.state.startTracking() is called.

userInfoHashEnabled

Boolean

true

When set to false, user email and user phone information are sent without being hashed.

trackAirbridgeLinkOnly

Boolean

false

When set to true, deep link events are sent only when app is opened with an Airbridge deep link.

facebookDeferredAppLinkEnabled

Boolean

false

When set to true and the Facebook SDK is installed, Facebook Deferred App Link data is collected.

locationCollectionEnabled

Boolean

false

When set to true, location information is collected. (Android Only)

Two permissions must be allowed in AndroidManifest.xml
android.permission.ACCESS_FINE_LOCATION
android.permission.ACCESS_COARSE_LOCATION

trackingAuthorizeTimeoutSeconds

Number

0

When timeout is set, Install event is delayed until Request tracking authorization alert is clicked. (iOS only)


Testing the SDK

Check if install events are sent when the application is installed and opened.

Check in the Airbridge Dashboard

Events from the Airbridge SDK are shown at the "Airbridge Dashboard → Raw Data → App Real-time Logs".

  1. Go to "Airbridge Dashboard → Raw Data → App Real-time Logs".
  2. Search for the device's ADID (IDFA, IDFV, GAID).

Logs may be delayed for up to 5 minutes.



Deep Link Setup


Dashboard Setup

Please refer to the guides below to setup your deep links in the Airbridge dashboard.

  • iOS Deep Link Dashboard Setup Guide
  • Android Deep Link Dashboard Setup Guide

Project Setup

app.json

Add the following settings to your app.json file.

{
  "expo": {
    ...
    "scheme": "YOUR_SCHEME",
    "android": {
      ...
      "intentFilters": [{
        "autoVerify": true,
        "action": "VIEW",
        "data": { "scheme": "https", "host": "APP_NAME.airbridge.io" },
        "category": ["BROWSABLE", "DEFAULT"]
      }, {
        "autoVerify": true,
        "action": "VIEW",
        "data": { "scheme": "https", "host": "APP_NAME.deeplink.page" },
        "category": ["BROWSABLE", "DEFAULT"]
      }, {
        "autoVerify": true,
        "action": "VIEW",
        "data": { "scheme": "http", "host": "APP_NAME.airbridge.io" },
        "category": ["BROWSABLE", "DEFAULT"]
      }, {
        "autoVerify": true,
        "action": "VIEW",
        "data": { "scheme": "http", "host": "APP_NAME.deeplink.page" },
        "category": ["BROWSABLE", "DEFAULT"]
      }]
    },
    "ios": {
      ...
      "associatedDomains": [
        "applinks:APP_NAME.airbridge.io",
        "applinks:APP_NAME.deeplink.page"
      ]
    }
  }
}

📘

YOUR_SCHEME can be found at the "Airbridge dashboard → Tracking Link → Deep Link → URI Scheme".

setDeeplinkListener

Register a function that will be called whenever a deep link or a deferred deep link opens the application.

import Airbridge from 'airbridge-react-native-sdk'

Airbridge.deeplink.setDeeplinkListener((deeplink) => {
    // code that will run when app is opened with deep-link or deferred-deep-link
    // deeplink = YOUR_SCHEME://...
    console.log(deeplink)
})

🚧

If you call setDeeplinkListener multiply, only last listener will receive deeplink.


Custom Domain Setup (Optional)

app.json

Add the following settings to your app.json file.

{
  "expo": {
    ...
    "android": {
      ...
      "intentFilters": [{
        "autoVerify": true,
        "action": "VIEW",
        "data": { "scheme": "https", "host": "YOUR_DOMAIN.YOUR_DOMAIN.example" },
        "category": ["BROWSABLE", "DEFAULT"]
      }, {
        "autoVerify": true,
        "action": "VIEW",
        "data": { "scheme": "http", "host": "YOUR_DOMAIN.YOUR_DOMAIN.example" },
        "category": ["BROWSABLE", "DEFAULT"]
      }]
    },
    "ios": {
      ...
      "associatedDomains": [
        "applinks:YOUR_DOMAIN.YOUR_DOMAIN.example"
      ]
    },
    "plugins": [
      ...
      [
        "airbridge-expo-config",
        {
          ...
          "customDomains": [
            "YOUR_DOMAIN.YOUR_DOMAIN.example"
          ]
        }
      ]
    ]
  }
}

📘

YOUR_DOMAIN.YOUR_DOMAIN.example can be found at the "Airbridge dashboard → Tracking Link → Domain Setting → Custom Domain".


Test Deep Link

Click on your URI scheme to test if your deep link has been properly set up in the Airbridge SDK.

  • YOUR_SCHEME://

The results will show on the "Airbridge dashboard → Raw Data → App Real-time Log" tab if everything is working.



User Setup


Please refer to this guide.



Event Setup


Please refer to this guide.



Advanced Setup


Please refer to this guide.