menu
Is this helpful?

# 서드 파티

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);
}