Purchase Tracking

구매 패턴에 따라 유저를 타게팅 기능은 탭조이 SDK에서 제공하는 강력한 기능 중 하나입니다. 예를 들어, 결제를 하지 않는 사용자들에게 광고 캠페인을 보여줄 수 있고 결제를 많이 하는 사용자를 대상으로 인앱 결제 이벤트를 진행할 수 있습니다. 이 기능을 이용하려면 사용자의 결제 정보를 Tapjoy.trackPurchase API를 통해 탭조이에 전달해야 합니다. 이를 통해 앱에서 일어나는 모든 구매 활동을 누락 없이 트래킹할 수 있습니다.

SDK 11.2.0 이상에서는 Google Play 스토어와 Apple의 iTunes 스토어에 대한 별도의 API가 제공되며, 영수증 데이타를 전달하여 구매정보가 유효한지 확인할 수 있습니다.

1. 구현

A. Google Play Store 연동:

Tapjoy.TrackPurchaseInGooglePlayStore(skuDetails, purchaseData, dataSignature, campaignId);

구매 트래킹 파라메터 설명:

  1. skuDetails – String, 상품 아이템의 상세내역을 포함하는 JSON형식의 문자열(Google Play 스펙 을 참조하세요.)
  2. purchaseData – String, 구매 상세 내역을 포함하는 JSON형식의 문자열. 이 값은 구매요청 후 안드로이드에서 반환되는 결과값입니다. null값을 넘기면 구매유효성 검증과정은 생략됩니다.
  3. dataSignature – String, 개발자의 개인키로 서명한 구매 데이타에 대한 서명값. 이 값은 구매요청 후 안드로이드에서 반환되는 결과값입니다. null값을 넘기면 구매유효성 검증과정은 생략됩니다.
  4. campaignId – String, 해당 구매를 일으킨 캠페인의 아이디. 구매와 캠패인을 연관 추적하고 싶지않으면 null을 넘기면 됩니다.

Android에서 영수증 검증과 함께 구매 트래킹을 이용하려면, '설정 > 앱 설정 > 분석 > 영수증 검증' 항목에서 애플리케이션의 안드로이드 라이선스 키를 입력해야합니다.

어플리케이션의 라이센스 키를 얻는 방법은 Licensing section of the Google Services Documentation 문서를 참조해 주세요.

예제:

if (purchaseData == "" || purchaseData == null) { 
    purchaseData = "DATA_WAS_EMPTY"; 
}

if (dataSignature == "" || dataSignature == null) { 
    dataSignature = "SIGNATURE_WAS_EMPTY"; 
}

Tapjoy.TrackPurchaseInGooglePlayStore(skuDetails, purchaseData, dataSignature, campaignId);

B. iOS App Store 연동:

Tapjoy.TrackPurchaseInAppleAppStore("SWORD", "USD", 0.99, transactionID, null);

Explanation of Parameters:

  1. productId — 제품 식별자 (string)
  2. currencyCode– ISO 4217에 지정된 알파벳 통화 코드로 가격의 통화 코드 (예 : string 값 "USD", "KRW")
  3. price — 제품 가격 (double)
  4. transactionId — IAP 트랜잭션의 식별자 (i.e. IAP 트랜잭션 완료 후 iOS에서 반환하는 영수증) 문자열. 이 파라미터 값이 주어지면 영수증 유효성을 확인합니다 (iOS 7.0 이상에서 사용 가능).
  5. campaignId — 구매를 시작한 구매 요청의 캠페인 ID (string). null 일 수 있음

예제:

if (transactionId == "" || transactionId == null) { 
    transactionId = "ID_WAS_EMPTY"; 
}
TapjoyUnity.Tapjoy.TrackPurchaseInAppleAppStore(productId, currencyCode, productPrice, transactionId, campaignId);

2. 영수증 미검증 구매 트래킹

11.2.0 이전의 SDK 11 버전의 경우 구매 트래킹 연동 코드는 다음과 같습니다. 이 예제에서는 사용자가 직접 영수증 검증을 수행했다고 가정합니다.

Tapjoy.trackPurchase("SWORD", "USD", 0.99, null);

Currency codes는 ISO 4217 standard 형식입니다.

campaignId는 구매를 트리거한 캠페인 식별자로 사용할 수 있는 문자열 파라미터 입니다.

구매 트래킹이 구현되면 '분석' > 'IAP 매출' 항목에서 관련 차트를 볼 수 있습니다.

3. Referrer (Android)

Tapjoy 분석기능을 위해 Tapjoy가 제공하는 InstallReferrerClient 사용하기

  1. 프로젝트의 메인 클래스의 start() 매소드에서 Tapjoy.ActivateInstallReferrerClient(); 코드를 실행합니다.
  2. com.android.installreferrer:installreferrer 다운로드 후 Assets > Android > Plugins 폴더로 임포트 하세요.

4. 중요 참고

구매 트래킹 사용시 구매 영수증 검증 기능(Google Play receipt validation)이 추가된 구매 분석 함수를 사용하시길 바랍니다. 이 과정을 거치지 않을 경우 부정요청 시도에 인해 지표가 오염될 수 있으며 그 경우 분석 뿐만 아니라 광고 타케팅에 사용되는 유저 세그먼트 기능에도 부정적인 영향을 줄 수 있습니다.