서드파티 데이터
수집 SDK 버전이 3.0.0 미만이면 플러그인 버전 1.3.0을 사용해야 하며, 수집 SDK 버전이 3.0.0 이상이면 플러그인 버전은 2.0.0보다 높아야 합니다
implementation 'cn.thinkingdata.android:TAThirdParty:2.0.2'
다음은 여러 플랫폼의 데이터를 동기화하는 예시 코드입니다.
- Java
- Kotlin
TDAnalytics.enableThirdPartySharing(TDThirdPartyType.APPS_FLYER | TDThirdPartyType.ADJUST);
TDAnalytics.enableThirdPartySharing(TDThirdPartyType.APPS_FLYER or TDThirdPartyType.ADJUST)
추가 파라미터를 더해야 하는 경우
enableThirdPartySharing(int var1, Map<String, Object> var2)를 사용할 수 있습니다. 이 API는 비트 연산을 지원하지 않습니다
SDK 버전이 <=1.20이고 proguard를 사용하는 경우, 기능이 동작하지 않는 것을 방지하려면 설정 파일에 다음 내용을 추가해야 합니다.
-dontwarn cn.thinkingdata.thirdparty.**
-keep class cn.thinkingdata.thirdparty.** { *; }
-keep class cn.thinkingdata.module.routes.** { *; }
1. Appsflyer
AppsFlyer SDK에서 start 메서드를 호출하기 전에 다음 API를 호출합니다.
- Java
- Kotlin
TDAnalytics.enableThirdPartySharing(TDThirdPartyType.APPS_FLYER);
TDAnalytics.enableThirdPartySharing(TDThirdPartyType.APPS_FLYER)
회원 가입 및 캐릭터 생성 후(선택 사항):
- Java
- Kotlin
TDAnalytics.login("account_id")
TDAnalytics.enableThirdPartySharing(TDThirdPartyType.APPS_FLYER);
TDAnalytics.login("account_id")
TDAnalytics.enableThirdPartySharing(TDThirdPartyType.APPS_FLYER)
AE의 login 메서드 또는 identify 메서드를 호출할 때마다 enableThirdPartySharing도 함께 호출하여 유저 식별자를 업데이트해야 합니다.
참고: AppsFlyer의 setAdditionalData는 호출할 때마다 설정된 유저 식별자를 덮어씁니다. 당사가 제공하는 enableThirdPartySharing 메서드로 파라미터를 설정할 수 있습니다.
- Java
- Kotlin
Map<String, Object> additionalData = new HashMap<>();
additionalData.put("af_test_key1", "test1");
additionalData.put("af_test_key2", "test2");
TDAnalytics.enableThirdPartySharing(
TDThirdPartyType.APPS_FLYER,
additionalData
)
val additionalData: MutableMap<String, Any> = HashMap()
additionalData["af_test_key1"] = "test1"
additionalData["af_test_key2"] = "test2"
TDAnalytics.enableThirdPartySharing(
TDThirdPartyType.APPS_FLYER,
additionalData
)
2. Adjust
Adjust SDK를 초기화하기 전에 호출합니다.
- Java
- Kotlin
TDAnalytics.enableThirdPartySharing(TDThirdPartyType.ADJUST);
TDAnalytics.enableThirdPartySharing(TDThirdPartyType.ADJUST)
회원 가입 및 캐릭터 생성 후(선택 사항):
- Java
- Kotlin
TDAnalytics.login("accoount_id")
TDAnalytics.enableThirdPartySharing(TDThirdPartyType.ADJUST);
TDAnalytics.login("accoount_id")
TDAnalytics.enableThirdPartySharing(TDThirdPartyType.ADJUST)
3. Branch
Branch에서 initialize the session을 수행하기 전에 호출합니다.
- Java
- Kotlin
TDAnalytics.enableThirdPartySharing(TDThirdPartyType.BRANCH);
TDAnalytics.enableThirdPartySharing(TDThirdPartyType.BRANCH)
회원 가입 및 캐릭터 생성 후(선택 사항):
- Java
- Kotlin
TDAnalytics.login("accoount_id")
TDAnalytics.enableThirdPartySharing(TDThirdPartyType.BRANCH);
TDAnalytics.login("accoount_id")
TDAnalytics.enableThirdPartySharing(TDThirdPartyType.BRANCH)
4. TopOn
ATSDK.init 전에 호출합니다:
- Java
- Kotlin
TDAnalytics.enableThirdPartySharing(TDThirdPartyType.TOP_ON);
TDAnalytics.enableThirdPartySharing(TDThirdPartyType.TOP_ON)
AE의 login 또는 identify를 여러 번 호출하는 경우 enableThirdPartySharing을 다시 호출하여 데이터를 동기화해야 합니다.
참고: TopOn의 initCustomMap은 호출할 때마다 설정된 유저 식별자를 덮어씁니다. 당사가 제공하는 enableThirdPartySharing 메서드로 파라미터를 설정할 수 있습니다.
- Java
- Kotlin
Map<String, Object> customMap = new HashMap<>();
customMap.put("key1", "value1");
customMap.put("key2", "value2");
TDAnalytics.enableThirdPartySharing(TDThirdPartyType.TOP_ON, customMap);
val customMap: MutableMap<String, Any> = HashMap()
customMap["key1"] = "value1"
customMap["key2"] = "value2"
TDAnalytics.enableThirdPartySharing(TDThirdPartyType.TOP_ON, customMap)
5. Tradplus
TradPlusSdk.initSdk 전에 호출합니다:
- Java
- Kotlin
TDAnalytics.enableThirdPartySharing(TDThirdPartyType.TRAD_PLUS);
TDAnalytics.enableThirdPartySharing(TDThirdPartyType.TRAD_PLUS)
6. IronSource
IronSourceSdk를 초기화한 후 호출합니다.
- Java
- Kotlin
TDAnalytics.enableThirdPartySharing(TDThirdPartyType.IRON_SOURCE);
TDAnalytics.enableThirdPartySharing(TDThirdPartyType.IRON_SOURCE)
7. AppLovin
- 노출 수준
AppLovinSdk를 초기화하기 전에 호출합니다.
- Java
- Kotlin
TDAnalytics.enableThirdPartySharing(TDThirdPartyType.APPLOVIN_IMPRESSION);
TDAnalytics.enableThirdPartySharing(TDThirdPartyType.APPLOVIN_IMPRESSION)
- 유저 수준
수익화 데이터를 가져오려면 MaxAdRevenueListener를 생성하고 onAdRevenuePaid() 메서드를 재정의한 뒤, 이 메서드에서 수익화 데이터를 가져와 AE SDK의 enableThirdPartySharing으로 데이터를 전송합니다. 마지막으로 이 리스너를 setRevenueListener()에 전달합니다. 예시 코드는 다음과 같습니다.
void onAdRevenuePaid(final MaxAd ad){
TDAnalytics.enableThirdPartySharing(TDThirdPartyType.APPLOVIN_USER,ad);
}

