한눈에 보기: 앱스플라이어 Adobe Launch SDK 확장 프로그램의 단일 구현으로 Adobe Launch SDK와 앱스플라이어 SDK로 데이터를 전송할 수 있습니다.
개요
Adobe Launch SDK는 Adobe Experience Platform의 필수적인 부분입니다. Adobe Experience Platform은 기업이 여러 앱과 플랫폼에서 데이터를 수집, 연동 및 분석할 수 있도록 지원합니다. 이를 통해 비즈니스 소유자와 개발자는 고객 행동을 더 잘 이해하여 경험과 콘텐츠 전달을 최적화할 수 있습니다. 앱이 Adobe Launch SDK와 앱스플라이어 SDK를 모두 구현하는 경우, 앱스플라이어 Adobe Launch SDK 확장 프로그램을 한 번만 구현하여 두 가지 모두에 데이터를 전송할 수 있습니다. 개발 프로세스의 전반적인 복잡성을 줄이고 더 깔끔하고 유지 관리하기 쉬운 코드베이스를 만들 수 있습니다.
참고
Adobe Launch 확장 프로그램을 사용하는 경우 표준 Adobe Analytics 연동이 필요하지 않습니다.
선행 조건
앱스플라이어 Adobe SDK 확장 프로그램을 연동하기 전에 몇 가지 사항이 필요합니다.
3.1 앱스플라이어 dev key 가져오기
- 앱 대시보드에서 왼쪽 메뉴의 구성에서 앱 설정을 클릭합니다.
- SDK 설치 아래에서 개발자 키를 복사합니다.
앱 ID 받기
- 안드로이드 - 앱 ID는 패키지 이름입니다(예: example.com.app).
- iOS - 앱 ID는 id 접두사가 없는 앱의 iTunes ID입니다(예: 123456748).
1단계: Adobe Launch 구성
여기의 지침에 따라 Adobe Launch를 구성합니다.
1.1 Adobe Launch에서 새 속성 만들기
1.2 필요한 Adobe Launch 확장 프로그램 설치하기
Adobe Launch에서 다음 확장 프로그램을 설치합니다.
- Adobe Analytics - SDK에서 기록된 데이터를 Adobe Analytics 모듈에 연결합니다.
- 앱스플라이어 SDK 확장 프로그램 - Adobe Launch SDK를 사용하여 데이터와 이벤트를 어도비와 앱스플라이어로 모두 전송합니다.
- Adobe Profile - SDK가 클라이언트 측 프로필에 데이터를 저장할 수 있습니다.
- Adobe Mobile Core - 모바일 SDK를 구성할 수 있으며 기본 수명 주기 이벤트 및 조건에 대한 액세스를 제공합니다.
Adobe Analytics 확장 프로그램 설치
- Adobe Analytics에 로그인합니다.
- 보고서 모음을 만듭니다.
- Adobe Launch에 다시 로그인합니다.
- 속성 목록에서 이전에 생성한 속성을 클릭합니다.
- 확장 프로그램을 클릭합니다.
- Adobe Analytics를 검색하고 설치합니다.
- 보고서 세트에서 2단계에서 만든 보고서 세트를 지정합니다.
- 저장을 클릭합니다.
앱스플라이어 SDK 확장 프로그램 설치
- 확장 프로그램을 다시 선택합니다.
- 앱스플라이어 SDK 확장 프로그램을 검색하고 설치합니다.
- 앱스플라이어 iOS 앱 ID에서 선행 조건 단계에서 얻은 iOS 앱 ID를 지정합니다.
- 앱스플라이어 개발자 키에서 선행 조건 단계에서 받은 개발자 키를 지정합니다.
- 어트리뷰션 데이터를 Adobe Analytics로 전송을 활성화합니다. 타사 분석 플랫폼과 사용자 수준 데이터를 공유하는 데에는 몇 가지 제한 사항이 있습니다.
- 저장을 클릭합니다.
Profile 및 Mobile Core 확장 프로그램 설치
- 확장 프로그램을 다시 선택합니다.
- Profile을 검색하고 설치합니다.
- Mobile Core를 검색하고 설치합니다.
- Mobile Core를 설치할 때는 확장 프로그램을 그대로 저장하기만 하면 됩니다. Experience Cloud 서버를 지정할 필요가 없습니다.
2단계: 앱스플라이어 Adobe SDK 확장 프로그램 구현하기
이 섹션의 지침에 따라 앱에 Adobe SDK 확장 프로그램을 구현합니다.
2.1 앱에 SDK 추가하기
2.2 환경 게시하기
SDK 구현을 완료하려면 환경을 라이브러리에 게시해야 합니다.
- Adobe 속성에서 게시를 선택합니다.
- 새 라이브러리 추가를 클릭합니다.
- 이름을 지정하고 환경에서 개발을 선택합니다.
- 개발을 위한 저장 및 빌드를 클릭합니다.
- 빌드가 완료되면 개발에서 라이브러리 옆에 있는 점 세 개 아이콘을 클릭하고 승인을 위해 제출을 선택합니다.
- 제출됨에서 라이브러리 옆의 점 세 개 아이콘을 클릭하고 스테이징용 빌드를 선택합니다.
- 빌드가 완료되면 라이브러리 옆에 있는 점 세 개 아이콘을 클릭하고 게시 승인을 선택합니다.
- 승인에서 라이브러리 옆의 점 세 개 아이콘을 클릭하고 빌드 및 프로덕션에 게시를 선택합니다.
2.3 앱에 안드로이드 설치 리퍼러 추가하기
안드로이드 인스톨 리퍼러는 어트리뷰션 정확도를 높이고 인스톨 사기 등을 방지합니다. 이는 앱스플라이어 안드로이드 SDK 4.8.6 버전 이상에서 지원됩니다.
참고
구글은 BroadcastReceiver를 2020년 3월부터 사용하지 않습니다.
- 이 변경은 앱에 영향을 주지 않습니다.
- 스토어 외부의 어트리뷰션을 위해 BroadcastReceiver가 여전히 필요할 수 있습니다. 정확한 확인을 위해, 앱이 등록된 스토어에 확인해보십시오.
- 인스톨 리퍼러 구현은 이제 필수입니다.
앱에 인스톨 리퍼러를 추가하는 방법은 두 가지가 있습니다.
- Gradle 사용하기(권장)
- 수동으로 인스톨 리퍼러 추가하기
안드로이드 인스톨 리퍼러를 종속 항목으로 추가하십시오. 최신 버전은 여기에서 찾을 수 있습니다.
-
dependencies { //make sure to use the latest SDK version: https://mvnrepository.com/artifact/com.appsflyer/af-android-sdk implementation 'com.appsflyer:af-android-sdk:5.+' implementation 'com.android.installreferrer:installreferrer:1.1' }
- 프로젝트를 동기화하여 종속성을 검색하려면 다음 스크린샷을 참조하세요.
ProGuard를 사용 중인데 구글의 새로운 리퍼러 API를 사용하려면 다음의 ProGuard 규칙을 설정하세요. -dontwarn com.android.installreferrer
- 인스톨 리퍼러 aar 다운로드하기
- 프로젝트에 추가하기
- 매니페스트에 다음 권한을 추가함:
com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE
2.4 필요한 권한 설정
권한을 추가하면 확률적 모델링 어트리뷰션의 매칭 확률을 더욱 높일 수 있습니다. 또한 SDK에서 Wifi 및 통신사 네트워크 데이터와 같은 더 많은 데이터를 전송할 수 있게 합니다. 이런 데이터를 로데이터 리포트에서 확인하고 캠페인 분석 및 최적화에 사용할 수 있습니다.
필요한 권한 추가하기
- AndroidManifest.xml에 다음 권한을 추가합니다.
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- Optional : --> <uses-permission android:name="android.permission.READ_PHONE_STATE" />
Adobe SDK 확장 프로그램 사용
이제 Adobe SDK 확장 프로그램을 사용하여 어도비와 앱스플라이어로 데이터를 전송할 수 있습니다.
참고
현재 Adobe Launch SDK 확장 프로그램은 전환 데이터 가져오기 및 이벤트 전송만 지원합니다. 그러나 앱에 Adobe Launch SDK 확장 프로그램을 추가하면 앱스플라이어 SDK도 추가됩니다. 따라서 현재 Adobe SDK 확장 프로그램에 없는 모든 기능은 앱스플라이어 SDK를 사용하여 구현할 수 있습니다.
이벤트 전송
인앱 이벤트는 앱에서 어떤 일이 일어나는지 인사이트를 제공합니다. 시간을 들여 기록할 이벤트를 정의하는 것이 좋습니다. 인앱 이벤트를 기록하면 ROI(Return on Investment)나 LTV(Lifetime Value)와 같은 KPI를 측정할 수 있습니다.
Adobe Launch SDK 확장 프로그램을 사용하면 인앱 이벤트 데이터를 어도비와 앱스플라이어 모두에 전송할 수 있습니다. 그런 다음 Adobe Analytics를 사용하여 사용자 행동을 분석하고, 앱스플라이어를 사용하여 ROI 및 LTV를 분석할 수 있습니다.
final Map<String,String> eventMap = new HashMap<>();
eventMap.put("currency", "USD");
eventMap.put("revenue", "200");
eventMap.put("freehand", "param");
MobileCore.trackAction("af_purchase", eventMap);
[ACPCore trackAction:@"af_purchase data:@{@"revenue":@"200",@"currency":@"USD"];
위 코드에 지정된 대로 이벤트를 전송하면 앱스플라이어 대시보드에 af_purchase라는 이벤트가 생성되고 수익은 200달러가 됩니다. 이 이벤트는 Adobe Analytics에도 전송되어 표시됩니다.
이벤트와 함께 전송되는 모든 전환 데이터 앞에는 appsflyer가 접두사로 붙습니다. 예시는 다음 표를 참조하세요.
접두사가 붙은 전환 데이터 변수 |
---|
appsflyer.af_click_lookback |
appsflyer.install_time |
appsflyer.cost_cents_USD |
appsflyer.media_source |
appsflyer.af_adset |
appsflyer.click_time |
appsflyer.orig_cost |
appsflyer.campaign |
전환 데이터는 Adobe 모바일 서비스에서 만든 앱에서 사용됩니다. 전환 데이터에 표시될 수 있는 다른 파라미터도 있습니다. 자세히 알아보려면 여기를 클릭하세요.
딥링킹 및 디퍼드 딥링킹을 위한 데이터 가져오기
딥링킹과 디퍼드 딥링킹을 통해 사용자 경험을 개선할 수 있습니다. 특정 활동에서 앱을 열고 캠페인 데이터에 따라 콘텐츠를 맞춤 설정할 수 있습니다.
딥링킹에서 데이터를 가져오려면 확장 프로그램 콜백을 구현하세요.
전역 애플리케이션 클래스에서 다음 코드를 구현합니다.
AppsFlyerAdobeExtension.registerAppsFlyerExtensionCallbacks(new AppsFlyerExtensionCallbacksListener() {
@Override
public void onCallbackReceived(Map<String, String> callback) {
Log.d(AppsFlyerLibCore.LOG_TAG, callback.toString());
if(callback.get("callback_type").equals("onConversionDataReceived")){
// conversion data returned
if(callback.get("is_first_launch").equals("true")){
String af_status = callback.get("af_status");
if(af_status.equals("Non-organic")){
Log.d(AppsFlyerLibCore.LOG_TAG, "this is first launch and a non organic install!");
}
}
} else if(callback.get("callback_type").equals("onAppOpenAttribution")){
// direct deeplink - redirect user
Log.d(AppsFlyerLibCore.LOG_TAG, callback.toString());
}
}
@Override
public void onCallbackError(String errorMessage) {
Log.d("TAG", errorMessage);
}
});
AppDelegate.m에서 다음 코드를 구현합니다.
[AppsFlyerAdobeExtension registerCallbacks:^(NSDictionary *dictionary) {
NSLog(@"[AppsFlyerAdobeExtension] Received callback: %@", dictionary);
if([[dictionary objectForKey:@"callback_type"] isEqualToString:@"onConversionDataReceived"]){
if([[dictionary objectForKey:@"is_first_launch"] boolValue] == YES){
NSString* af_status = [dictionary objectForKey:@"af_status"];
if([af_status isEqualToString:@"Non-organic"]){
NSLog(@"this is first launch and a non organic install!");
}
}
} else if([[dictionary objectForKey:@"callback_type"] isEqualToString:@"onAppOpenAttribution"]) {
NSLog(@"onAppOpenAttribution Received");
}
}];
[AppsFlyerAdobeExtension callbacksErrorHandler:^(NSError *error) {
NSLog(@"[AppsFlyerAdobeExtension] Error recieving callback: %@" , error);
}];
앱스플라이어 전환 데이터 연결
전환 데이터는 이벤트와 함께 Adobe 플랫폼으로 전송됩니다. 이러한 변수를 사용하면 리포팅 차원, 메트릭 또는 필터에 로직과 규칙을 적용할 수 있습니다.
- Adobe 모바일 서비스에 로그인합니다.
- 관련 앱을 선택하고 변수 및 지표 관리 페이지로 들어갑니다.
- 사용자 정의 변수 탭을 선택하고 변수를 구성하여 앱스플라이어 SDK 데이터를 어도비 시스템에 매핑합니다.
- 각 사용자 지정 변수에 대해 의미 있는 이름을 입력합니다.
- 매핑된 앱스플라이어 전환 데이터를 선택하거나 입력하고 원하는 것을 선택합니다. 지속성 범위를 선택합니다.
앱스플라이어 컨텍스트 변수를 매핑하는 방법은 다음 표를 참조하세요.
맵에 사용할 권장 이름 |
전환 데이터 |
---|---|
앱스플라이어어 룩백 윈도우 |
appsflyer.af_click_lookback |
앱스플라이어 설치 시간 |
appsflyer.install_time |
앱스플라이어 비용 미국 센트 |
appsflyer.cost_cents_USD |
앱스플라이어 MediaSource |
appsflyer.media_source |
앱스플라이어 애드셋 |
appsflyer.af_adset |
앱스플라이어 클릭 시간 |
appsflyer.click_time |
앱스플라이어 오리지널 비용 |
appsflyer.orig_cost |
앱스플라이어 캠페인 |
appsflyer.campaign |
앱스플라이어 매핑된 전환 데이터를 분석 및 분석에 활용하기
SDK에서 가져온 모든 데이터는 앱에 연결된 Adobe Analytics 보고서 세트에서 사용할 수 있습니다.
생성된 Adobe Analytics 보고서 및 대시보드에서 데이터와 관련 차원 및 지표를 사용할 수 있습니다. 이 데이터는 어트리뷰션 및 인앱 이벤트 분석을 위해 앱스플라이어 대시보드에서도 사용할 수 있습니다.