SDK 설치


패키지 설치

npm 을 사용하여 airbridge-expo-configairbridge-react-native-sdk를 설치해주세요.

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

❗️

Airbridge Expo SDK는 expo go 환경을 지원하지 않습니다. expo prebuild 또는 eas build 를 사용해주세요.


프로젝트 설정

app.json

app.json 에 아래 설정을 추가해주세요.

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

📘

APP_NAME은 Airbridge 대시보드 내 [ Settings → Tokens → App Name ] 에서 확인할 수 있습니다.
APP_TOKEN은 Airbridge 대시보드 내 [ Settings → Tokens → App SDK Token ] 에서 확인할 수 있습니다.

airbridge.json

  1. 프로젝트 폴더에 airbridge.json 파일을 생성해주세요.
  2. JSON 형식으로 설정값을 넣어주세요.

Example

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

Description

이름

타입

기본값

설명

sessionTimeoutSeconds

Number

300

설정한 세션기간 내에 유저가 앱을 재실행하는 경우에는, 같은 세션으로 판단하여 앱 실행 이벤트를 전송하지 않습니다.

autoStartTrackingEnabled

Boolean

true

false 로 설정하면, Airbridge.state.startTracking() 을 호출하기 전까지 이벤트를 전송하지 않습니다.

userInfoHashEnabled

Boolean

true

false 로 설정하면, User Email 및 User Phone 정보를 Hash 하지않고 이벤트를 전송합니다.

trackAirbridgeLinkOnly

Boolean

false

true 로 설정하면, Airbridge 딥링크로 앱이 열린 경우에만 딥링크 이벤트를 전송합니다.

facebookDeferredAppLinkEnabled

Boolean

false

true 로 설정하고 Facebook SDK 가 설치되어 있으면, Facebook Deferred AppLink 를 수집합니다.

locationCollectionEnabled

Boolean

false

true 로 설정하면, 해당 기기의 위치 정보를 수집합니다. (Android 전용)

사용하기 위해서는 AndroidManifest.xml 에 아래 2개 권한이 필요합니다.
android.permission.ACCESS_FINE_LOCATION
android.permission.ACCESS_COARSE_LOCATION

trackingAuthorizeTimeoutSeconds

Number

0

timeout 을 설정하면, 설치 이벤트를 전송하기 전에 timeout 만큼 추적 허용 선택창 이 선택될 때 까지 기다립니다. (iOS 전용)


SDK 설치 확인

앱을 설치하고 실행했을 때 Install 이벤트가 전송되는지 확인해주세요.

대시보드에서 확인

SDK 에서 발생한 Event 들은 에어브릿지 대시보드 내 [ Raw Data > App Real-time Logs ] 에 출력됩니다.

  1. 에어브릿지 대시보드 내 [ Raw Data > App Real-time Logs ] 항목을 클릭해 주세요.
  2. 검색어 입력에 디바이스의 ADID를 입력해주세요. (IDFA, IDFV, GAID)

🚧

로그가 노출되기까지 최대 5분정도 소요될 수 있습니다.



딥링크 설정


대시보드 설정

딥링크 설정을 위해 에어브릿지 대시보드에서 아래 가이드에 따라 진행해주세요.


프로젝트 설정

app.json

app.json 에 아래 설정을 추가해주세요.

{
  "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은 Airbridge 대시보드 내 [ Tracking Link → Deep Link → URI Scheme ] 에서 확인할 수 있습니다.

setDeeplinkListener

딥링크 또는 지연된 딥링크가 발생할 때 마다 호출되는 함수를 등록합니다.

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)
})

🚧

만약 setDeeplinkListener를 여러번 호출 시, 마지막 Listener만 deeplink 데이터를 받게 됩니다.


커스텀 도메인 설정 (옵션)

app.json

app.json 에 아래 설정을 추가해주세요.

{
  "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은 에어브릿지 대시보드 내 [ Tracking Link → Domain Setting → Custom Domain ] 에서 확인할 수 있습니다.


딥링크 설정 확인

URI scheme을 클릭하여 Airbridge SDK 내의 딥링크가 정상적으로 설정되었는지 확인해주세요.

  • YOUR_SCHEME://

딥링크가 정상적으로 설정되었다면 딥링크 이벤트가 에어브릿지 대시보드 내 [ Raw Data → App Real-time Logs ] 에 출력됩니다.



사용자 설정


사용자 설정을 위해 아래 가이드를 참고 부탁드립니다.



이벤트 설정


이벤트 설정을 위해 아래 가이드를 참고 부탁드립니다.



고급 설정


고급 설정을 위해 아래 가이드를 참고 부탁드립니다.