Attribution API

Overview

Branch Mobile SDK는 딥링킹(Deep Linking) 및 세션 어트리뷰션을 위해 RESTful API (v1/open)를 사용합니다. 아래 지침은 해당 API 서버 측에 어트리뷰션 프로퍼티 페이로드를 제공하는 방법을 다룹니다. API가 호출될 때마다 Branch에서 INSTALL, REINSTALL 또는 OPEN 이벤트를 트래킹하고 세션이 어트리뷰션 된 경우 응답에 딥링크(Deep Link) 데이터를 반환합니다.

SDK를 우회함으로써 개발자는 세션 관리 (v1/open API가 호출되는 시기 및 위치), 연결 불량 또는 무 연결 처리, 로컬로 데이터 유지, IP 주소와 같은 값 검색, 다운 스트림 전환 트래킹, 공유 가능한 딥링크(Deep Link) 생성 등에 책임이 있습니다. SDK와 기능 패리티를 달성하려면 SDK에서 코드를 복제해야 합니다.

It is highly recommended that all apps use the Branch Mobile SDK when possible.

📘

API 액세스가 제한됨

v1/open API를 직접 호출하는 기능은 선정된 엔터프라이즈 계정으로 제한됩니다. 계정에서 사용 가능 여부를 확인하려면 Branch 어카운트 관리자에게 문의하십시오.

전제 조건

  • App is setup in the Branch dashboard with default link redirects, your app.link domains, a URI scheme, Universal Links, and you have access to your API & Secret keys
  • v1/open API에 액세스하도록 계정이 활성화되었습니다.

📘

대시보드 및 인앱 설정 필요

Successful use of the v1/open API will require setup steps in the Branch dashboard and in your mobile app

API 설정

v1/open에 대한 네트워크 요청은 앱이 포어 그라운드로 전환되었다는 알림을 성공적으로 받았을 때 발생해야 합니다. Branch는 애플리케이션이 실행되고 (콜드 스타트 또는 iOS 혹은 안드로이드 작업 관리자에 있는 경우) 디바이스의 포어 그라운드에 도달할 때의 세션으로 앱 수명 주기를 정의합니다.

엔드 포인트 사양

  • 엔드 포인트: https://api2.branch.io/v1/open
  • 방법: 포스트(POST)
  • 페이로드 형식: JSON
  • 필수 헤더: 디바이스의 공개 IP 주소는 -H "X-IP-Override: xx.xx.xx.xx"를 사용하여 설정해야 합니다 (서버의 IP가 아닌 디바이스의 IP를 사용하는 것이 중요합니다).
  • 필수 헤더: -H 'content-type: application/json'

포스트(POST) 바디 파라미터

Property 데이터 형식 설명 예시
branch_key String REQUIRED Your production API key, retrieved from Account Settings of your dashboard's Live environment key_live_example
branch_secret String REQUIRED Your production API Secret, retrieved from Account Settings of your dashboard's Live environment secret_live_example
server_to_server 불리안(Boolean) REQUIRED Always set to true 진실
app_version String REQUIRED Your app's version "1.12.4"
os String REQUIRED Only accepts Android or iOS “Android”
os_version String REQUIRED The version of the device's OS (e.g. “23” for Android or “9.1.2” for iOS respectively. Will accept any value, preferred default to “NA”. This cannot be blank.) "13.2.2"
user_agent String REQUIRED The user agent of the device "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 6 Build/MOB31E) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.81 Mobile Safari/537.36"
hardware_id String REQUIRED In iOS, populate with the IDFA if it's available, otherwise fallback to IDFV. On Android, populate with the ANDROID_ID (hardware id). If no device ID is available, do not include in request.

iOS: "D5B89252-FCF8-4065-88FC-B70F49186988"

Android: "fae098e4605e79c3"

hardware_id_type String REQUIRED - iOS ONLY Value confirms whether the iOS ID in the hardware_id property is an "idfa" or "vendor_id" (do not include in request, if hardware_id is not populated) "idfa" or "vendor_id"
ios_vendor_id String REQUIRED - iOS ONLY The IDFV if it's available, otherwise do not include in request "0C381C08-B808-4C25-BE51-B00BC165B5F8"
google_advertising_id String REQUIRED - ANDROID ONLY The Google Advertising ID if it's available, otherwise do not include in request "ea31e5e0-1aa5-4181-91d7-0b56524e0274"
advertising_ids Object ANDROID ONLY The set of Advertising IDs if it's available, otherwise do not include in request. Can include identifiers like OAID "advertising_ids": { "oaid": "02ab41d3-7886-4f29-a606-fba4372e9fdc" }
is_hardware_id_real 불리안(Boolean) REQUIRED Set to false if the hardware_id property cannot be populated, otherwise default to true 진실
ad_tracking_enabled 불리안(Boolean) REQUIRED A value used to determine whether the IDFA or GAID can be used for advertising purposes. If Limit Ad Tracking should be enabled, do not include in the request. 진실
local_ip String This is the device's local IP address, if one is available. This is incremental to the required IP header. An optional but highly recommended data metadata that improves attribution accuracy. "192.168.1.153"
screen_height Int Height of the device’s screen. An optional but useful data metadata that improves attribution accuracy. 2208
screen_width Int Width of the device’s screen. An optional but useful data metadata that improves attribution accuracy. 1242
link_identifier String a URI opens the app, check for a link_click_id query, and populate with that value (if missing, do not include in request)
link_click_id may also be sourced by the Google Install Referrer
“823569794275788167”
universal_link_url String Populate with a Branch or non-Branch web url that opened the app (if missing, do not include in request) "https://branch.app.link/example?utm_medium=test"
android_app_link_url String Populate with a Branch or non-Branch web url that opened the app (if missing, do not include in request) "https://branch.app.link/example?utm_medium=test"
facebook_app_link_checked 불리안(Boolean) Set to false to ensure we retrieve deep links from Facebook's deferred deep linking API (requires adding your Facebook App Secret to the Branch dashboard) 진실
install_referrer_extras String ANDROID ONLY Populate it with the value of the full Android PlayStore Install Referrer URL. Only include in the app's first session, if it's available. "utm_source=some_source&utm_medium=preload&utm_campaign=null&gclid=Cj0KCQiA7IDiBRCLARIsABIPohhqdEU00f-Obte_OIVTbjPo-iLDBjkhj8ov="
google_search_install_referrer String ANDROID ONLY The value of the google_search_install_referrer query parameter on the referrerUrl from the Google Install Referrer. Only include in the app's first session, if it's available. "7AXhuEQs1U"
clicked_referrer_ts 롱(Long) ANDROID ONLY The referrer click timestamp collected from the Play Install Referrer library.
Only include in the app's first session, if it's available.
1573098834
install_begin_ts 롱(Long) ANDROID ONLY The install begin timestamp collected from the Play Install Referrer library. Only include in the app's first session, if it's available. 1573098843
apple_attribution_token String iOS ONLY Attribution Token used for Apple Search Ads . used to call the Apple Search Ads Attribution API. The token has a 24 hr TTL, so send to Branch within that time in order to use it for attribution. "c7ya5fQsXrqhCiG0eQTvpS8+tNpBom1RwlDmWEXGNqIj1AOn/VDlqgKq9CaJzzFeR8G3dEeMQBJc60R4CxIx..."
search_ad_encoded String ⚠ DEPRECATED ⚠ iOS ONLY Base64 encoded string of the entire response from the Apple Search Ads API. Only include in the app's first session, if it's available. "eyJWZXJzaW9uMy4xIjp7ImlhZC1wdXJjaGFzZS1kYXRlIjoiMjAyMC0wNi0yOVQxODo1MDoxNloiLCJpYWQta2V5d29yZCI6IktleXdvcmQiLCJpYWQtYWRncm91cC..."
first_session 불리안(Boolean) 유저가 앱을 처음으로 열었는지 여부를 식별합니다. true의 경우 Branch는 유저가 이전에 앱을 다운로드한 것을 보았는지 확인하여 만약 그럴 경우에는 세션을 '재설치'로 표시하고 그렇지 않은 경우는 '설치'로 표시합니다. 해당 값이 false로 설정된 경우 Branch는 세션을 열린 것으로 계산합니다. 진실
server_to_server_identity 불리안(Boolean) Setting to true enables the ability to set an randomized_bundle_token property in v1/open requests and returns a value in the response. Do not set this property in the request, if this feature will not be used. false
randomized_bundle_token 불리안(Boolean) If server_to_server_identity is true, Branch returns a new identity value in any request that does not set randomized_bundle_token. After the first request, this property must be hardcoded with the randomized_bundle_token received in the first network response. Failure to return this value in subsequent requests severely limits the ability to connect different events for that user. "791040498773585647"
identity String If server_to_server_identity is true, this property can be used to associate a custom user ID with Branch's anonymous identity. You should never use personal user information here, and all values should be encrypted before being passed to Branch. "U1923847128356"
tracking_disabled 불리안(Boolean) true로 설정하면 Branch는 앱 세션의 데이터를 저장하지 않습니다. 네트워크 응답은 처리를 위해 여전히 딥링크(Deep Link) 데이터를 반환할 수 있지만 이후에는 정보가 저장되지 않습니다. false
disable_ad_network_callouts 불리안(Boolean) If set to true, you can use the Branch dashboard to selectively remove sessions with this flag from being sent to ad networks false
local_url String (Optional, for NativeLink) Populate with a Branch web url that is present on the clipboard on the very first open (if missing, do not include in request) "https://branch.app.link/example?utm_medium=test"
referrer_gclid String ANDROID ONLY (Optional, for Google AdWord Campaigns) Extract the value of gclid from Android PlayStore Install Referrer URL. Utilized for tracking downstream events on Google Adwords when user opts out on Android 12+ devices (if missing, do not include in request) "CjwKCAiA3L6PBhBvEiwAINlJ9Chixm216y8kYYJ1K94dm4FEkOgFfhIdKQdjWsYB7FqE7rf_zkGNEhoCuIEQAvD_BwE"
gbraid String IOS ONLY (Optional, for Google AdWord Campaigns) Extract the value of gbraid from the referring url/uri for the app session. Utilized for tracking downstream events on Google Adwords when users are opted out of ATT (if missing, do not include in request) "CjwKCAiA3L6PBhBvEiwAINlJ9Chixm216y8kYYJ1K94dm4FEkOgFfhIdKQdjWsYB7FqE7rf_zkGNEhoCuIEQAvD_BwE"
custom_param_1 String A customized parameter attached to your OPEN, INSTALL, or Event metadata to be used for visualizing/analyzing Branch aggregate data in both the Branch Dashboard reports and exports. "PARAMETER 1"
custom_param_2 String A customized parameter attached to your OPEN, INSTALL, or Event metadata to be used for visualizing/analyzing Branch aggregate data in both the Branch Dashboard reports and exports. "PARAMETER 2"
custom_param_3 String A customized parameter attached to your OPEN, INSTALL, or Event metadata to be used for visualizing/analyzing Branch aggregate data in both the Branch Dashboard reports and exports. "PARAMETER 3"

요청의 예

iOS

curl -v -d '{
 "branch_key": "TODO",
 "branch_secret": "TODO",
 "server_to_server": true,
 "app_version": "1.12.4",
 "os": "iOS",
 "os_version": "10.0",
 "model": "iPhone",
 "screen_height": 2208,
 "screen_width": 1242,
 "facebook_app_link_checked": false,
 "user_agent": "{FULL_USER_AGENT_HERE}",
 "hardware_id": "D5B89252-FCF8-4065-88FC-B70F49186988",
 "hardware_id_type": "idfa",
 "ios_vendor_id": "0C381C08-B808-4C25-BE51-B00BC165B5F8",
 "is_hardware_id_real": true,
 "ad_tracking_enabled": true,
 "custom_param_1": "Parameter 1",
 "custom_param_2": "Parameter 2",
 "custom_param_3": "Parameter 3"
}' "https://api2.branch.io/v1/open" -H "X-IP-Override: 1.2.3.4"

Android

curl -v -d '{
 "branch_key": "TODO",
 "branch_secret": "TODO",
 "server_to_server": true,
 "app_version": "1.12.4",
 "os": "Android",
 "os_version": 26,
 "model": "SM-G960U1",
 "screen_height": 2076,
 "screen_width": 1080,
 "facebook_app_link_checked": false,
 "user_agent": "{FULL_USER_AGENT_HERE}",
 "hardware_id": "fae098e4605e79c3",
 "google_advertising_id": "ea31e5e0-1aa5-4181-91d7-0b56524e0274",
 "advertising_ids": {
    "oaid": "02ab41d3-7886-4f29-a606-fba4372e9fdc"
 },
 "google_search_install_referrer": "referrer_value_here",
 "clicked_referrer_ts": 1574699946,
 "install_begin_ts": 1574699955,
 "is_hardware_id_real": true,
 "ad_tracking_enabled": true,
 "custom_param_1": "Parameter 1",
 "custom_param_2": "Parameter 2",
 "custom_param_3": "Parameter 3"
}' "https://api2.branch.io/v1/open" -H "X-IP-Override: 1.2.3.4"

📘

참조되지 않은 '열기'에 대한 사용량 제한

Branch는 기본값에서 IP 주소당 참조되지 않은 OPEN 이벤트 (링크에서 제공되지 않는 앱 세션)를 4시간마다 한 번으로 사용량 제한합니다. (계정에 대한 정확한 제한 사항을 확인하려면 Branch 어카운트 관리자에게 문의하십시오). 사용량 제한 세션은 네트워크 요청에서 여전히 딥링크(Deep Link) 데이터를 반환하지만 해당 데이터는 대시보드나 내보내기에 표시되지 않습니다.

📘

고주파 핑(ping)에 대한 사용량 제한

v1/open API는 유저의 앱 세션을 측정하기 위한 것이므로 앱이 동일한 유저에 대한 요청을 빠르게 연속적으로 보내기 시작하면 429개의 응답을 반환합니다. 정상적인 유저 행동은 앱을 연속적으로 빠르게 열고 닫는 것이 아니기 때문에 해당 시나리오는 거의 테스트 중에만 발생합니다. 해당 문제가 발생하면 테스트를 다시 시작하기 전에 몇 분 정도 기다리십시오 (또는 요청에서 디바이스 메타 데이터를 변경해 보십시오).

📘

NativeLink

In order to implement NativeLink (learn more) and benefit from a guaranteed mechanism for deep linking, you will need to check the pasteboard on the first install. If it contains a URL, then examine the contents of the pasteboard. If it contains a Branch link, please send the full URL in the request body for key local_url.

For an example of checking the pasteboard on iOS, see this code snippet in our open-source iOS SDK.

딥링크(Deep Link) 데이터 처리

v1/open 요청이 이루어지면 앱 세션이 딥링크(Deep Link) 클릭으로 어트리뷰션 될 수 있습니다. 세션이 어트리뷰션 되었는지 여부와 관계없이 API는 JSON 응답 페이로드에 포함된 일부 문맥 데이터와 함께 항상 200 응답을 반환합니다. 세션이 Branch 링크에 어트리뷰션 된 경우 해당 페이로드는 인앱 로직에 대한 링크의 딥링크(Deep Link) 데이터를 포함하여 딥링크(Deep Link) UX를 실행하는 데 사용할 것입니다.

샘플 응답은 아래에 있으나 몇 가지 주요 파라미터를 알아 두어야 합니다.

  • randomized_bundle_token - v1/open 요청에서 server_to_server_identity을 TRUE로 설정한 경우 여기에 반환된 값이 해당 디바이스에 대해 만들어지는 모든 v1/open 요청의 randomized_bundle_token 프로퍼티에 사용되는지 확인해야 합니다.
  • +clicked_branch_link - 현재 앱 세션이 Branch 딥링크(Deep Link)를 통해 제공되었는지 여부를 알려줍니다. Branch 고유 또는 기타 딥링크(Deep Link) 라우팅 로직을 사용하는지 여부를 좌우하는 조건부 트리거로 사용할 수 있습니다.
  • +non_branch_link - Branch가 아닌 딥링크(Deep Link)가 앱을 연 경우 (즉, 유니버셜 링크(Universal Link)) 해당 키에서 링크를 검색할 수 있습니다.
  • +is_first_session - 이전에 유저 디바이스의 앱 설치가 확인된 적이 없는 경우 TRUE입니다.
  • +match_guaranteed - This will be TRUE if Branch was able to match the app session to the browser click with 100% certainty. This can be used as a conditional trigger for use cases where you have zero risk threshold for a false positive (this should NOT be used in most instances)[Not applicable to SAN attributed Install].
  • $canonical_url - 딥링크(Deep Link) 라우팅에 사용할 수 있는 웹 URL이 포함됩니다. 앱이 이미 유니버셜 링크(Universal Links) 또는 Android 앱 링크에서 라우팅하도록 설정된 경우 해당 값을 기존 라우팅 로직에 전달할 수 있습니다.
  • $deeplink_path - 딥링크(Deep Link) 라우팅에 사용할 수 있는 URI 상대 경로가 포함됩니다. 앱이 이미 URI Schemes에서 라우팅하도록 설정된 경우 해당 값을 기존 라우팅 로직에 전달할 수 있습니다.

오가닉 응답의 예

{
   "session_id": "xxxx",
   "randomized_device_token": "xxxx",
   "link": "https://bnc.lt/j/adsf",
   "data": "{\"+clicked_branch_link\":false,\"+is_first_session\":false}"
}

server_to_server_identity가 활성화된 오가닉 응답의 예

{
   "session_id": "xxxx",
   "randomized_bundle_token": "xxxx",
   "identity": "xxxx",
   "randomized_device_tokenrandomized_device_token": "xxxx",
   "link": "https://bnc.lt/j/adsf",
   "data": "{\"+clicked_branch_link\":false,\"+is_first_session\":false}"
}

Branch가 아닌 딥링크(Deep Link)로 세션이 시작되었을 때 응답의 예

{
   "session_id": "823602214081710808",
   "data": "{\"+non_branch_link\":\"https://branch.io/\",\"+clicked_branch_link\":false,\"+is_first_session\":false}",
  "randomized_device_token": "823601870295755491"
}

Branch 딥링크(Deep Link)로 세션이 시작되었을 때 응답의 예

{
   "randomized_device_token": "823600311503935224",
   "link": "https://example.app.link/X7OsnWv9TF",
   "session_id": "429691081177874743",
   "data": "{
            "$canonical_url": "https://example.com/home?utm_campaign=test",
            "$desktop_url": "http://example.com/home",
            "$og_description": "My Content Description",
            "$og_image_url": "http://lorempixel.com/200/200/",
            "$og_title": "46D6D28E-0390-40E4-A856-BD74F34D24C8",
            "+click_timestamp": 1503684563,
            "+clicked_branch_link": true,
            "+is_first_session": false,
            "+match_guaranteed": true,
            "custom": "blue",
            "~campaign": "new launch",
            "~channel": "facebook",
            "~creation_source": 3,
            "~feature": "sharing",
            "~id": 429691043152332059,
            "~referring_link": "https://example.app.link/X7OsnWv9TF",
            "~stage": "new person",
            "~tags": ["one","two"]
   }"
}

인앱 설정

iOS

설정 업데이트

API 요청에 필요한 앱 실행 데이터

  • Retrieve the device ID (IDFA or IDFV) when available
  • 디바이스의 공용 IP 검색
  • 디바이스의 유저 에이전트 검색
  • Examine the AppDelegate's openURL: function for a URI. If a URI containing a query parameter link_click_id is present, store the query parameter's value for use in the session's API network request (i.e., if the URI example://open?link_click_id=1234 opens the app, you will retrieve the “1234” value)
  • Examine the AppDelegate's continueUserActivity: function for a webpageURL in the NSUserActivity parameter. If a URL is found (regardless if it's a Branch link), store the entire URL value for use in the session's API network request.

[선택 사항] Apple Search Ads 서포트

NEW FRAMEWORK:

  • S2S 연동의 경우, 새 토큰을 검색하고 Branch 설치에 apple_attribution_token 으로 전송해야 합니다.

Please refer to the new AdServices developer documentation on how to retrieve the token.

  1. AdServices.framework 가져오기
  2. 어트리뷰션 토큰 요청 (샘플 코드 보기). 이것은 50 ms 이내에 Apple에서 구할 수 있어야 합니다.
  3. 토큰에는 24시간 TTL이 있으므로 이를 어트리뷰션에 사용하려면 해당 시간 내에 Branch로 전송하십시오.

Apple 어트리뷰션 토큰을 얻기 위한 샘플 코드를 참고하세요.

func appleAttributionToken() -> String? {
        if #available(iOS 14.3, *) {
            return try? AAAttribution.attributionToken()
        }
        return nil
    }
+ (NSString *)appleAttributionToken {
#if !TARGET_OS_TV
    if (@available(iOS 14.3, *)) {
        NSError *error;
        NSString *appleAttributionToken = [AAAttribution attributionTokenWithError:&error];
        if (!error) {
            return appleAttributionToken;
        }
    }
#endif
    return nil;
}

OLD FRAMEWORK: All steps below should only occur for the INSTALL session:

  • Upon app launch, do not call v1/open, and first query the Apple Search Ads API. Apple's API is know to have high latency and operates at a race condition with its ad click (i.e., it must process the search click before it can respond to its attribution API), so give a 2 second buffer before calling Apple's Attribution API.
  • 요청이 5초 후 타임아웃 되거나 응답이 false 또는 오류 코드 [0,2,3]으로 반환되는 경우 재시도 로직을 구현합니다 (Branch의 SDK는 재시도 간 2초 지연을 사용함).
  • 성공적인 응답이 수신되면 base64는 전체 API 응답을 인코딩하고 v1/open의 search_ad_encoded 프로퍼티에 추가합니다. Apple이 세션을 어트리뷰션하지 않은 경우 v1/open에 해당 사항을 채우지 말고 후속 앱 세션 동안 해당 프로세스를 반복하지 마십시오.

Android

설정 업데이트

API 요청에 필요한 앱 실행 데이터

  • Retrieve the device ID (GAID or Android_ID when available
  • 디바이스의 공용 IP 검색
  • 디바이스의 유저 에이전트 검색
  • Examine the intent that opened your MainActivity for a URI. If a URI containing a query parameter link_click_id is present, store the query parameter's value for use in the session's API network request (i.e., if the URI example://open?link_click_id=1234 opens the app, you will retrieve the “1234” value)
  • Examine the intent that opened your MainActivity for a web URL. If a URL is found (regardless if it's a Branch link), store the entire URL value for use in the session's API network request.

[선택 사항] 구글 Play 설치 참조자 서포트

아래의 모든 단계는 설치 세션 중에만 발생해야 합니다.

  • Upon app launch, query the Google Play Install Referrer library for the referrer Url, click timestamp, and install timestamp
  • “link_click_id” 쿼리 파라미터에 대한 참조자 URL을 검사하고 만약 있는 경우 v1/open link_identifier 프로퍼티에서 사용할 값을 검색합니다. 참조자 URL에 &link_click_id=<value> 또는 &link_click_id-<value>로 나타날 수 있지만 두 시나리오 모두 <value> 부분만 추출합니다.
  • 'google_search_install_referrer' 쿼리 파라미터에 대한 참조자 URL을 검사하고 만약 있는 경우 v1/open google_search_install_referrer 프로퍼티에서 사용할 값을 검색합니다. 참조자 URL에 &google_search_install_referrer=<value> 또는 &google_search_install_referrer-<value>로 나타날 수 있지만 두 시나리오 모두 <value> 부분만 추출합니다.

다운 스트림 이벤트 트래킹

Every time the v1/open API is called it will track an INSTALL, REINSTALL, or OPEN event in Branch. To track additional downstream conversion events (i.e., PURCHASE), you will need to use the HTTP API instructions for our Commerce, Content, Lifecycle, and Custom events.

When tracking downstream conversion events, please address the following items:

  • 디바이스에서 요청이 이루어지면 요청에서 IP 주소를 자동으로 검색합니다. 서버에서 요청하는 경우 다음 헤더를 통해 유저의 IP 주소를 설정해야 합니다. -H "X-IP-Override: xx.xx.xx.xx"
  • 요청 본문의 "user_data.user_agent"에 디바이스의 유저 에이전트를 설정합니다. user_data.user_agent
  • For events occurring in app, populate a device ID with IDFA (and fallback to IDFV) in iOS, or GAID (fallback to android_id) in Android
  • For events occurring on web, retrieve a Browser fingerprint via the Branch web SDK, to be included in the event call
  • Populate the developer_identity property whenever a persistent user ID is available (Best Practices for user IDs)

TUNE API와 서버 간 연동

새로운 넷(net) 연동 범위를 지정하는 모든 클라이언트는 Branch SDK 또는 서버 간 연동만 고려해야 하며 TUNE API 서버 간 연동을 해서는 안됩니다. Branch가 TUNE을 사용자 확보하기 전에 원래 TUNE 서버 간 연동을 했던 모든 앱은 문제 해결을 위해 아래 API 사양을 찾을 수 있습니다.

기존 TUNE 서버 간 연동의 경우 TUNE 연동이 Branch의 최신 어트리뷰션 방법론을 활용할 수 있도록 다음 메타 데이터 프로퍼티가 고려되는지 확인하는 것이 좋습니다.

설명

ios_ifa

REQUIRED - iOS The IDFA if it's available

ios_ad_tracking_disabled

필수 - iOS ios_ifa 파라미터를 사용하려는 경우 엔드 유저가 제한된 광고 트래킹을 활성화했는지 여부를 나타내도록 ios_ad_tracking_disabled 파라미터를 지정해야 합니다 (1은 활성화/제한됨).

ios_ifv

REQUIRED - iOS Populate with the IDFV

google_aid

REQUIRED - Android The Google Advertising ID if it's available. Formatted as uppercase with hyphens. AAAAAA-BBBB-CCCC-11111-2222222222222

google_ad_tracking_disabled

필수 - 안드로이드 google_aid 파라미터를 사용하려는 경우 엔드 유저가 제한된 광고 트래킹을 활성화했는지 여부를 나타내기 위해 google_ad_tracking_disabled 파라미터를 지정해야 합니다 (1은 활성화/제한됨).

os_id

REQUIRED - Android Populate with the ANDROID_ID (hardware id), if google_aid cannot be populated

device_id

필수 - Windows Windows 하드웨어 ID

windows_aid

필수 - Windows Windows 광고 식별자 (AID)는 콜론 없이 대문자로 형식이 지정된 알파벳-숫자 string (예: "AAAAAABBBBCCCC111122222222222")으로 표시되는 광고에 대해 고유하고 유저 및 디바이스별 재설정이 가능한 ID입니다. 광고 ID 기능이 비활성화된 경우 해당 값은 빈 string입니다.

referral_url

필수 안드로이드 및 첫 번째 앱 열기의 경우 구글 Play 설치 참조자를 포함하세요.

안드로이드 및 iOS에서 그 외 앱 열기의 경우 열기를 실행한 URL(딥링크(Deep Link))을 포함하세요.

device_ip

필수 전환 시 레코드 된 유저 디바이스의 IP 주소. Tune API가 X-IP-Override Header를 받아들일 수 없으므로 API 쿼리 파라미터를 통해 설정되어야 합니다.

device_brand

필수 유저 디바이스의 브랜드 또는 제조업체 (예: "Apple" 또는 "Samsung")

device_model

필수 전환 시 레코드 된 유저 디바이스 모델 (예: "iPhone5,2" 또는 "GT-i9300")

user_agent

필수 디바이스의 유저 에이전트입니다. 네트워크 요청 헤더에서도 설정할 수 있습니다.

os_version

선택 사항 유저 디바이스의 운영 체제 버전 (예: iOS 또는 안드로이드)

device_carrier

선택 사항 무선 전화를 서포트하는 경우 디바이스의 통신사 (예: AT&T)

language

선택 사항 로컬 설정에서 디바이스의 언어

country_code

선택 사항 국가의 ISO ALPHA-2 또는 ISO ALPHA-3 값

app_version

선택 사항 유저 디바이스의 앱 버전 (해당 파라미터는 TUNE이 새 앱 설치와 기존 앱 업데이트를 구별하는 데 도움이 됨)

user_id

선택 사항 광고주가 정의한 유저의 ID

📘

local_ip는 TUNE API 호출에서 서포트 되지 않습니다.

local_ip는 Branch의 예측 모델링 능력에 활용되지만 TUNE API 호출에서 설정할 수 없습니다. TUNE API 엔드 포인트에 대한 어트리뷰션을 방지하지 않습니다.


이 페이지가 도움이 되었습니까?