이 문서에서는 Android용 Google 애널리틱스 SDK v3을 사용하여 인앱 결제 및 수익을 측정하는 방법을 간략하게 설명합니다.
개요
전자상거래 측정을 사용하면 Google 애널리틱스로 인앱 구매 및 판매를 전송할 수 있습니다. Google 애널리틱스의 전자상거래 데이터는 공유된 거래 ID와 연결된 거래 및 상품 조회로 구성됩니다.
거래에는 다음과 같은 필드가 포함됩니다.
필드 이름 | 트래커 필드 | 유형 | 필수 | 설명 |
---|---|---|---|---|
거래 ID | Fields.TRANSACTION_ID
|
String
|
예 | 거래를 나타내는 고유 ID입니다. 이 ID는 다른 트랜잭션 ID와 충돌해서는 안 됩니다. |
제휴 | Fields.TRANSACTION_AFFILIATION
|
String
|
예 | 거래가 연결되어야 하는 법인 (예: 특정 상점)입니다. |
수익 | Fields.TRANSACTION_REVENUE
|
Double
|
예 | 거래의 총 수익(세금 및 배송비 포함) |
세금 | Fields.TRANSACTION_TAX
|
Double
|
예 | 거래의 총 세금입니다. |
배송 | Fields.TRANSACTION_SHIPPING
|
Double
|
예 | 거래의 총 배송비입니다. |
통화 코드 | Fields.CURRENCY_CODE
|
String
|
아니요 | 거래의 현지 통화 기본값은 거래가 표시되는 보기 (프로필)의 통화입니다. |
항목에는 다음과 같은 필드가 있습니다.
필드 이름 | 트래커 필드 | 유형 | 필수 | 설명 |
---|---|---|---|---|
거래 ID | Fields.TRANSACTION_ID
|
String
|
예 | 상품을 연결할 거래 ID |
이름 | Fields.ITEM_NAME
|
String
|
예 | 제품의 이름 |
SKU | Fields.ITEM_SKU
|
String
|
예 | 제품의 SKU |
카테고리 | Fields.ITEM_CATEGORY
|
String
|
아니요 | 제품이 속한 카테고리 |
요금 | Fields.ITEM_PRICE
|
Double
|
예 | 제품 가격 |
수량 | Fields.ITEM_QUANTITY
|
Long
|
예 | 제품의 수량 |
통화 코드 | Fields.CURRENCY_CODE
|
String
|
아니요 | 거래의 현지 통화 기본값은 거래가 보고된 보기 (프로필)의 통화입니다. |
전자상거래 데이터는 주로 다음과 같은 표준 보고서에서 사용됩니다.
- 전자상거래 개요
- 제품 실적
- 매출 실적
- 트랜잭션
- 구매까지의 소요 시간
구현
거래 및 항목 데이터를 Google 애널리틱스로 전송하려면 추적기에 거래 및 항목 필드 값을 설정하고 한 번에 하나씩 전송해야 합니다. 예를 들면 다음과 같습니다.
import android.app.Activity; import com.google.analytics.tracking.android.EasyTracker; import com.google.analytics.tracking.android.MapBuilder; public class CheckoutActivity extends Activity { /* * Called when a purchase is processed and verified. */ public void onPurchaseCompleted() { // May return null if EasyTracker has not yet been initialized with a // property ID. EasyTracker easyTracker = EasyTracker.getInstance(this); easyTracker.send(MapBuilder .createTransaction("0_123456", // (String) Transaction ID "In-app Store", // (String) Affiliation 2.16d, // (Double) Order revenue 0.17d, // (Double) Tax 0.0d, // (Double) Shipping "USD") // (String) Currency code .build() ); easyTracker.send(MapBuilder .createItem("0_123456", // (String) Transaction ID "Level Pack: Space", // (String) Product name "L_789", // (String) Product SKU "Game expansions", // (String) Product category 1.99d, // (Double) Product price 1L, // (Long) Product quantity "USD") // (String) Currency code .build() ); } // ... Rest of the Activity definition }
전자상거래 통화 필드는 음수 통화 값을 지원합니다. 이는 환불 또는 반품의 경우에 필요할 수 있습니다.
통화 지정
기본적으로 거래 값은 보고된 보기 (프로필)의 통화로 가정됩니다.
거래 및 관련 제품의 현지 통화를 재정의하려면 해당 거래의 통화 코드 필드 및 항목 조회를 새 통화 코드로 설정하세요. 지원되는 통화 및 통화 코드의 전체 목록은 지원되는 통화 참조를 확인하세요.
import android.app.Activity; import com.google.analytics.tracking.android.EasyTracker; import com.google.analytics.tracking.android.MapBuilder; public class CheckoutActivity extends Activity { /** * In this example, the currency of the transaction is set to Euros. The * currency values will appear in reports using the global currency * type of the view (profile). */ public void onPurchaseCompleted() { // Assumes a tracker has already been initialized with a property ID, otherwise // this call returns null. EasyTracker easyTracker = EasyTracker.getInstance(this); easyTracker.send(MapBuilder .createTransaction("0_123456", // (String) Transaction ID, should be unique among transactions. "In-app Store", // (String) Affiliation (long) 2.16, // (long) Order revenue (includes tax and shipping) (long) 0.17, // (long) Tax 0.0, // (long) Shipping cost "EUR") // (String) Currency code .build(); } // ... Rest of the Activity definition. }