기본 SDK 연동 가이드

요약: 모바일 또는 CTV 앱 개발자와 협력하여 SDK를 Android 또는 iOS 앱에 통합하고 설치합니다. 기본 연동 태스크가 완료되면 앱은 어트리뷰션 인스톨 및 인앱이벤트 측정 준비가 됩니다. 

앱에서 dev 키 구현

앱스플라이어는 dev 키를 사용하여 계정을 고유하게 식별합니다. Dev key는 SDK가 계정에 속한 데이터를 안전하게 송수신하도록 만드는 필수 값입니다. 개발자는 SDK를 설치 및 통합하고 개발 키를 포함해야 합니다. 

dev key 확인

개발자가 SDK를 인스톨하고 연동하려면 먼저 dev key를 검색해야 합니다.

  1. 앱스플라이어의 사이드 메뉴에서 설정 > 앱 설정을 선택합니다.
  2. dev key를 복사하여 모바일 개발사에 보냅니다.

dev 키 포함

모바일 개발자에게 SDK를 설치하고 연동 지침을 제공합니다.

SDK는 어디에서 시작합니까?

앱스플라이어 SDK의 연동을 계획할 때 가장 먼저 결정해야 할 사항은 애플리케이션 실행 흐름 내에서 SDK를 초기화하고 시작해야 할 위치입니다.

기본 경험 법칙은 애플리케이션을 시작한 후 SDK가 가능한 한 빨리 데이터 전송을 시작하도록 하는 것입니다.이렇게 하면 SDK가 인스톨 이벤트 및 세션에서 발생하는 다른 모든 인앱이벤트를 캡처할 수 있습니다.

그러나 GDPR 및 CCPA와 같은 개인 정보 보호 규정을 준수하기 위해 사용자가 정보 공유에 동의할 때까지 앱스플라이어로의 데이터 전송을 지연해야 하는 경우가 많습니다.

안드로이드 네이티브, iOS 네이티브, 유니티 리액트 네이티브

Android 네이티브에서 SDK 시작

SDK를 시작할 클래스를 선택합니다.

전역 Application 클래스 또는 Activity 클래스에서 SDK를 시작할지 여부를 선택합니다.

  • 전역 Application클래스에서 SDK 시작: 앱 UI가 표시되기 전에 클래스가 로드되고 초기화되므로 일반적으로 전역 Application 클래스/하위 클래스에서 SDK를 초기화하는 것은 좋은 방법입니다. 이렇게 하면 딥링킹을 포함한 모든 시나리오에서 SDK를 시작할 수 있습니다.
  • 에서 SDK를 시작합니다. Activity 클래스(지연된 시작) 를 사용하여 사용자가 데이터 공유를 옵트인할 수 있습니다. 사용자 동의를 얻으려면 액티비티 클래스에서 렌더링된 UI(사용자 인터페이스)가 필요하기 때문입니다.

ANDROID 개발자 지침

  • 개발자에게 다음 사항에 대한 결정을 알립니다.
    • 어떤 클래스(예: Application Activity)에서 SDK를 시작합니까?
    • 어떤 옵트인/옵트아웃 시나리오를 사용합니까?

Unity에서 SDK 시작

개발자에게 SDK를 시작하는 방법에 대한 이 Dev Hub 문서를 보내주세요.

React Native에서 SDK 시작

개발자에게 SDK를 시작하는 방법에 대한 이 Dev Hub 문서를 보내주세요.

개인 정보 보호 전략 선택

 사용자 개인 정보 보호 방법을 선택합니다. 예를 들어 설치 시 SDK 중지, 타사와의 데이터 공유 방지, 사용자 데이터 익명화 또는 특정 식별자 비활성화 중에서 선택합니다.

사용 가능한 다양한 옵트아웃 시나리오에 대한 자세한 내용은 옵트인 및 옵트아웃 시나리오를 참조하세요.

어트리뷰션

SDK는 어트리뷰션을 위해 식별자를 수집합니다. 인스톨이 올바르게 기록되고 어트리뷰트되도록 하기 위해 다음 가이드라인을 검토하고 따르십시오. 

모든 플랫폼

인스톨을 위한 고유 식별자

앱스플라이어 ID는 새 앱을 인스톨할 때마다 자동으로 생성됩니다. 마케터는 아무런 액션도 필요하지 않습니다.

이 식별자를 사용하여 다음 액션을 수행할 수 있습니다.

BI 시스템의 고유 식별자를 앱스플라이어와 연동하기

앱스플라이어 SDK에서 자체 고객 사용자 ID(CUID)를 설정하여 BI 시스템의 고유 ID를 앱스플라이어 ID 및 기타 식별자와 상호 참조합니다. CUID는 앱스플라이어 로데이터 리포트에서 이용할 수 있습니다. 또한, 포스트백 API에서 해당 ID를 확보하여 귀사 내부 ID와 상호 참조할 수 있습니다.

CUID에 대한 자세한 내용은 이 문서를 참조하십시오.

Android만 해당

다음 섹션에서는 구글 플레이 스토어 또는 써드 파티 앱 스토어의 어트리뷰션 고려 사항을 설명합니다.

Google Play에 게시된 앱 속성 지정

GOOGLE PLAY 인스톨 리퍼러

구글 플레이 인스톨 리퍼러 API는 어트리뷰션 정확도를 개선하고 인스톨 사기로부터 보호를 제공하며 구글 플레이에서 참조 데이터를 안전하게 검색할 수 있게 합니다(예를 들어, 앱이 처음 설치된 시점의 앱 버전). 

개발자에게 Google Play Install Referrer API를 추가하기 위한 지침을 제공하는 것이 좋습니다.

GAID

SDK V4.8.0부터는 앱스플라이어가 이 기기 식별자를 자동으로 수집합니다.

타사 앱 스토어로 앱 어트리뷰트하기

앱스플라이어를 사용하면 Amazon, Opera, GetJar, Baidu, Huawei와 같은 서드파티 앱 스토어에서 발생한 인스톨을 어트리뷰션할 수 있습니다. 이를 통해 구글 플레이 스토어를 사용할 수 없는 시장에서도 앱을 홍보하고 더 많은 잠재 고객에게 도달할 수 있습니다.

앱스플라이어는 타사 앱 스토어의 맥락에서 다음과 같은 어트리뷰션을 지원합니다.

  • IMEI 또는 Android ID: SDK는 IMEI 또는 Android ID를 자동으로 수집하지 않습니다. 그러나 이러한 식별자를 수집해야 할 필요가 있는 경우(예: 중국 국내 시장의 앱) 개발자는 다음 수집 유형 중 하나를 구현할 수 있습니다.
    • 수동 수집: 앱은 또는 API를 사용하여 IMEI 또는 setAndroidIdData Android ID를 setImeiData SDK에 전달합니다(아래 탭의 함수 참조 참조). SDK는 데이터를 앱스플라이어 서버로 전송합니다. 
      Android 네이티브Unity

      자세한 내용은 Android SDK 참조를 참조하세요.

    • 기기 ID 수집 옵트인: SDK가 setCollectIMEI 및 setCollectAndroidID를 사용하여 IMEI 또는 Android ID를 수집하도록 강제합니다(아래 탭의 함수 참조 참조).
      Android 네이티브UnityReact Native

      자세한 내용은 Android SDK 참조를 참조하세요.

  • 오에이드: 속성은 타사 Android 앱 스토어에서 설치합니다. 자세한 내용은 OAID 구현 가이드를 참조하십시오.
  • 인스톨 리퍼러: SDK는 Samsung Gallery 및 Huawei AppGallery에서 추천 데이터 검색을 지원합니다.

iOS만 해당

다음 세션에는 iOS 14+ 기기 지원에 대한 중요한 정보가 포함되어 있습니다.

앱 추적 투명성(ATT, App Tracking Transparency) 지원 설정하기

배경

iOS 14.5부터, IDFA를 수집하려면 사용자의 동의가 필요합니다. 이는 실제로 IDFA 액세스를 앱 추적 투명성(ATT) 프레임워크가 통제한다는 의미입니다. 기기가 iOS 14 이상일 경우, SDK는 ATT 프레임워크를 사용하여 기기 IDFA 액세스 권한을 얻습니다.  ATT에 대한 소개는 ATT 원칙을 참조하십시오.

iOS 네이티브Unity

개발자 허브에서 ATT 구현에 대한 개발자 안내를 확인하세요.

IDFA를 사용하여 어트리뷰션이 발생하는 경우, 첫 번째 실행 시 IDFA를 전송하는 것이 중요합니다.이러한 이유로 SDK는 waitForATTUserAuthorization 메서드를 제공합니다.

waitForATTUserAuthorization overview

 중요!

ATT 프롬프트를 호출하지 않으려는 경우 호출 waitForATTUserAuthorization 하지 마십시오.

waitForATTUserAuthorization SDK가 앱스플라이어 서버로 데이터를 전송하기 전에 ATT 상태를 연기하고 대기해야 하는 시간을 구성할 수 있습니다.

유저가 앱을 실행하면 ATT 상태는 NotDetermined입니다. waitForATTUserAuthorization 시간 초과 기간에 SDK는 앱 실행 이벤트와 연속적인 인앱 이벤트 인메모리(in-memory)를 오프라인 이벤트가 기록되는 방식과 유사하게 순차적으로 기록합니다.

  • 유저가 ATT 프롬프트(IDFA 수집)에 동의 하는 경우:
    • SDK가 IDFA를 임시 저장된(cached) 이벤트에 추가합니다.
    • SDK가 (타임아웃을 기다리지 않고) 바로 구동되어 임시 저장된 이벤트를 IDFA와 함께 전송합니다.
  • 유저가 ATT 프롬프트를 거부하는 경우: SDK가 시작되고 IDFA 없이 캐시된 이벤트를 전송합니다(타임아웃이 끝날 때까지 기다리지 않음).
  • 타임아웃이 종료되고 ATT 상태가 notDetermined로 유지되는 경우: SDK가 시작되고 IDFA 없이 캐시된 이벤트를 전송합니다.

고려 사항 

  • 사용자가 앱을 종료하면 제한 시간 동안 종료됩니다.
    • 다음 앱 실행 시점에 타이머가 재시작합니다.
    • 캐시 이벤트가 손실됩니다.

ATT 동의 대화상자 사용자정의하기

ATT 프롬프트를 사용자 지정할 수 있습니다. 요청의 목적을 명확히 설명하는 메시지는 사용자의 선택 비율을 높이는 데 도움이 될 수 있습니다.

메시지를 작성할 때 다음 사항을 고려하십시오.

메시지가 완료되면 개발자에게 텍스트와 구현 지침을 제공합니다.

ATT 프롬프트의 몇 가지 외부 예시를 참조하세요.

SKAN 어트리뷰션 지원

 

 참고

SKAN 어트리뷰션을 지원하려면 iOS SDK V6.2.3 이상으로 업그레이드하십시오.

SKAN은 iOS에서 광고주 주도 앱 설치를 검증하는 데 사용하는 클래스입니다. 앱 설치 유효성 검사 프로세스에는 원본 앱과 광고된 앱이 포함됩니다.

소스 앱은 광고 네트워크의 광고를 표시하여 광고 캠페인에 참여하는 앱입니다. 광고를 게재하도록 앱을 구성하는 작업은 앱스플라이어 SDK 범위 내에 없습니다. 광고 게재를 위한 작업은Apple 가이드를 따르십시오.

광고된 앱(앱스플라이어 SDK가 있는 앱)의 경우, 앱스플라이어 SKAN 솔루션은 SKAN 을 사용하여 어트리뷰션 포스트백을 제공하는 반면, 앱스플라이어는 사용자 개인 정보를 유지하면서 데이터를 수집, 번역 및 집계합니다. 앱이 처음 실행되면 앱스플라이어 플랫폼은 마케터가 설정한 구성을 사용하여 SDK에 SKAN 전환 값을 설정하는 방법을 지시합니다.

SKAN 솔루션을 사용하는 방법은 다음과 같습니다.

  • 마케터는 앱스플라이어에서 SKAN 측정을 구성해야 합니다. 개발자는 작업을 수행할 필요가 없습니다.
  • 앱스플라이어 SDK는 필요한 SKAN API를 자동으로 호출합니다.
  • 앱스플라이어에 의존하여 SKAN 어트리뷰션을 사용할 때 다른 SDK에서 SKAN 호출을 사용하지 않도록 설정해야 합니다.
  • App Store에서 개발자나 마케터가 요구하는 다른 조치나 등록 절차는 없습니다.

SKAN 어트리뷰션을 비활성화하려면 SDK에서 비활성화하도록 개발자에게 지시하십시오.

iOS 네이티브UnityReact Native

SKAN 어트리뷰션 사용을 비활성화하려면 disableSKAdNetwork

인앱 이벤트 기록하기

인앱 이벤트(In-app event, IAE)는 앱에서 어떤 일이 일어나는지 정보를 제공합니다. 인앱 이벤트를 기록하면 ROI(투자 수익)나 LTV(생애 가치)와 같은 KPI들을 측정할 수 있습니다. 시간을 두고 기록할 이벤트를 정의할 것을 권고합니다.

측정하려는 인앱 이벤트를 결정한 후 이벤트 이름과 매개변수를 개발자에게 보내고 구현 지침에 대한 링크를 포함합니다.

인앱 이벤트에 대한 자세한 내용은 Rich in-app events 가이드를 참조하세요.

모든 플랫폼

수익 기록

모든 인앱 이벤트로 수익을 보낼 수 있습니다. 수익을 포함하려면 af_revenue 파라미터를 사용해야 합니다. 앱스플라이어가 대시보드와 로데이터 리포트에서 실제 수익으로 계산하는 유일한 이벤트 파라미터입니다.더 알아보기.

Android네이티브iOS 네이티브Unity

매출 이벤트 정의에 대한 개발자 지침은 여기를 참조하세요.

인앱 구매 유효성 검증

앱스플라이어의 SDK는 인앱 구매에 대해서 서버 확인 기능을 제공합니다. 구매 검증을 통과하면 앱스플라이어로 인앱 구매 이벤트가 자동 전송됩니다. 그러므로 이 이벤트를 따로 직접 전송하면 인앱 구매 내역이 중복되어 기록됩니다.

업계 수직 구조

카테고리별로 추천하는 인앱 이벤트 목록(예: 여행, 게임 또는 전자상거래)을 참조하세요.

원링크로 딥링킹하기

OneLink는 멀티 플랫폼 어트리뷰션, 리디렉션 및 딥링킹을 위한 앱스플라이어 솔루션입니다.

모든 플랫폼

기기 감지 및 리다이렉션

앱을 설치하지 않은 사용자의 경우, 원링크는 장치 유형을 감지하여 올바른 대상(예: Google Play, Apple App Store, 타사 앱 스토어 또는 웹 페이지)으로 리디렉션합니다. 이것은 원링크 템플릿 설정에 기반합니다.더 알아보기

딥링킹

앱이 설치된 사용자의 경우, 원링크가 앱을 엽니다. 앱을 열 뿐만 아니라 앱 내의 특정 활동이나 페이지로 사용자를 딥링킹할 수도 있습니다. 이렇게 하려면 개발사가 통합 딥링킹(UDL)을 구현해야 합니다.

일러두기:

  • UDL은 SDK V6.1 이상을 요구합니다.
  • 이미 딥링킹을 위해 원링크를 사용하고 있는 고객은 UDL 대신 레거시 방식을 사용하고 있을 수 있습니다.

딥링킹(Deep Linking)과 디퍼드 딥링킹(Deferred Deep Linking) 설정에 대한 가이드를 참조하세요.

디퍼드 딥링킹(Deferred Deep Linking)

앱을 설치하지 않은 사용자의 경우 원링크는 장치 유형을 검색하여 올바른 대상인 Google Play, Apple App Store, 타사 앱 스토어 또는 웹 페이지로 리디렉션합니다. 사용자가 앱을 실행하면 디퍼드 딥링킹을 사용하여 앱 내의 특정 활동 또는 페이지로 리디렉션할 수 있습니다.

이를 위해서는 개발자가 확장된 디퍼드 딥링킹을 구현해야 합니다.

일러두기:

  • UDL은 SDK V6.1 이상을 요구합니다.
  • 디퍼드 딥링킹에 이미 OneLink를 사용하고 있는 고객은 UDL 대신 레거시 방식을 사용하고 있을 수 있습니다.

딥링킹(Deep Linking)과 디퍼드 딥링킹(Deferred Deep Linking) 설정에 대한 가이드를 참조하세요.

어트리뷰션 액세스 및 데이터 딥링킹

다음 표에서는 어트리뷰션을 검색하고 데이터를 딥링킹하는 데 사용할 수 있는 방법에 대해 설명합니다.

방법 직무별 작업? 수익 반환 검색 방법 어트리뷰션 데이터 딥링킹 데이터 사용 가능 여부
푸시 API • 마케터 • 백엔드 개발자 보통 1분 이내 백엔드 Y N 프리미엄
풀 API • 마케터 • 백엔드 개발자 • 주기적(실시간이 아님). 로데이터 리포트 다운로드를 예약할 수 있습니다.  백엔드 Y Y 로데이터 리포트용 프리미엄
Data Locker • 마케터 • 백엔드 개발자 시간별 보고서는 1-3시간 이내에 사용 가능합니다. 다음 옵션 중 하나를 통한 클라우드 스토리지: • AWS의 앱스플라이어 소유 버킷 • 사용자가 소유한 스토리지(AWS 또는 GCS) Y Y 프리미엄
전환 데이터 가져오기(GCD) • 마케터 • 모바일 개발자 개발자 문서 보기 최대 5초 SDK Y Y 모든 계정
통합된 딥링킹(UDL) • 마케터 • 모바일 개발자 개발자 문서 보기 최대 1초 SDK N Y 모든 계정

iOS 14.5 이상을 동의하지 않는 사용자의 경우 다음을 참고하십시오.

  • 유료 미디어 및 온드 미디어에 UDL을 사용할 경우 딥링킹 데이터를 사용할 수 있습니다.
  • 유료 미디어에 대해 GCD를 사용할 경우 데이터는 제한되며 어트리뷰트 및 딥링킹 세부 정보가 포함되지 않습니다.

 

다음을 수행할 것을 권고합니다.

  • Push API를 사용하여 어트리뷰션 데이터를 검색하고 추가 처리를 위해 서버로 보냅니다. 이 방법은 데이터를 사용할 수 있을 때까지 대기하므로 정확도가 높고 실시간에 가깝습니다. GCD는 실시간으로 데이터를 반환하지만 때로 5초 이상 후에 최종 어트리뷰션 결정이 결정될 때 부정확할 수도 있습니다.
  • 풀 API를 사용하여 실시간 어트리뷰션 데이터를 주기적으로(예를 들어, 매일) 보완하고 발생할 수 있는 통신 오류를 보완합니다.

SDK 연동을 테스트하는 것은

SDK 연동이 완료되면 앱스플라이어 대시보드로 이동하여 SDK 연동 테스트 페이지에서 오가닉 및 논오가닉 설치, 인앱 이벤트 및 딥링킹(리타게팅)을 테스트할 수 있습니다. 이렇게 하면 인스톨 및 인앱 이벤트가 올바르게 기록되고 어트리뷰트될 수 있습니다.

개발자가 SDK 통합을 테스트해야 하는 경우 개발자를 계정의 사용자 로 추가하여 대시보드에 액세스할 수 있도록 합니다.

테스트 시나리오 및 지침은 SDK 통합 테스트를 참조하세요.

참고: 어트리뷰션 테스트를 수행할 때 테스트 기기(Android 또는 iOS) 를 등록하여 각 인스톨이 새 인스톨로 기록되도록 합니다. 등록된 테스트 기기에는 인스톨이 재인스톨로 기록되지 않습니다.