# 서드 파티
v2.8.0부터 서드파티 데이터와 연동할 수 있게 되었으며, v2.8.2 이후 버전에서는 서드파티 플러그인이 필요합니다.
WARNING
2.8.2는 플러그인 버전 1.0.0이 필요합니다. 2.8.3부터는 플러그인 버전 1.1.0 이상이 필요합니다.
implementation 'cn.thinkingdata.android:TAThirdParty:1.1.0'
다음은 다양한 플랫폼 데이터와 동기화하는 코드 예시입니다:
TDAnalytics.enableThirdPartySharing(TDThirdPartyType.APPS_FLYER | TDThirdPartyType.ADJUST);
개별적으로 파라미터를 추가하고 싶다면
enableThirdPartySharing(int var1, Map<String, Object> var2)
를 사용할 수 있습니다. 이 API는 비트 연산을 지원하지 않습니다.
Proguard를 사용하는 경우, 기능이 비활성화되는 것을 방지하기 위해 설정 파일에 다음 내용을 추가해야 합니다.
-dontwarn cn.thinkingdata.thirdparty.**
-keep class cn.thinkingdata.thirdparty.** { *; }
-keep class cn.thinkingdata.module.routes.** { *; }
# 1. Appsflyer
AppsFlyer SDK에서 start
를 호출하기 전에 이 API를 호출합니다.
TDAnalytics.enableThirdPartySharing(TDThirdPartyType.APPS_FLYER)
캐릭터 생성 후 (선택사항):
instance.login("account_id")
TDAnalytics.enableThirdPartySharing(TDThirdPartyType.APPS_FLYER)
TE의 login
또는 identify
를 호출할 때마다, 동시에 enableThirdPartySharing
을 호출하여 유저 식별을 업데이트해야 합니다.
주의: AppFlyer의 setAdditionalData
가 호출될 때마다 유저 식별이 덮어쓰여지므로, enableThirdPartySharing
의 파라미터 설정을 유의해야 합니다.
Map<String, Object> additionalData = new HashMap<>();
additionalData.put("af_test_key1", "test1");
additionalData.put("af_test_key2", "test2");
TDAnalytics.enableThirdPartySharing(
TDThirdPartyType.APPS_FLYER,
additionalData
)
# 2. Adjust
Adjust SDK 초기화 전에 호출:
TDAnalytics.enableThirdPartySharing(TDThirdPartyType.ADJUST)
캐릭터 생성 후 (선택사항):
TDAnalytics.login("accoount_id")
TDAnalytics.enableThirdPartySharing(TDThirdPartyType.ADJUST)
# 3.Branch
Branch SDK 초기화 전에 호출:
TDAnalytics.enableThirdPartySharing(TDThirdPartyType.BRANCH);
캐릭터 생성 후 (선택사항):
TDAnalytics.login("accoount_id")
TDAnalytics.enableThirdPartySharing(TDThirdPartyType.BRANCH);
# 4. TopOn
ATSDK.init
전에 호출:
TDAnalytics.enableThirdPartySharing(TDThirdPartyType.TOP_ON);
TE의 login
이나 identify
를 여러 번 호출할 경우, 데이터 동기화를 위해 enableThirdPartySharing
을 다시 호출해야 합니다.
주의: TopOn의 initCustomMap
을 호출할 때마다 유저 식별 정보가 덮어쓰여지므로, enableThirdPartySharing
을 사용하여 파라미터 설정을 해주세요.
Map<String, Object> customMap = new HashMap<>();
customMap.put("key1", "value1");
customMap.put("key2", "value2");
TDAnalytics.enableThirdPartySharing(TDThirdPartyType.TOP_ON, customMap);
# 5.Tradplus
TradPlusSdk.initSdk
를 호출하기 전에:
TDAnalytics.enableThirdPartySharing(TDThirdPartyType.TRAD_PLUS);
# 6.IronSource
IronSourceSdk 초기 설정 후에 호출:
TDAnalytics.enableThirdPartySharing(TDThirdPartyType.IRON_SOURCE);
# 7. AppLovin
- 광고 레벨
AppLovinSdk 초기 설정 전에 호출:
TDAnalytics.enableThirdPartySharing(TDThirdPartyType.APPLOVIN_IMPRESSION);
- 유저 레벨
수익화 데이터를 얻고자 할 때는, MaxAdRevenueListener
를 생성하고 onAdRevenuePaid()
메소드를 복제합니다. 이 방법으로 수익화 데이터를 얻으면 TE SDK의 enableThirdPartySharing
을 사용하여 데이터 전송을 수행합니다. 마지막으로 리스너를 setRevenueListener()에 전달합니다. 코드 예시:
void onAdRevenuePaid(final MaxAd ad){
TDAnalytics.enableThirdPartySharing(TDThirdPartyType.APPLOVIN_USER,ad);
}