電子商務追蹤 - Android SDK

本文件將概述如何使用適用於 Android v3 的 Google Analytics (分析) SDK,評估應用程式內付款和收益。

總覽

電子商務評估可讓您將應用程式內購和銷售資料傳送至 Google Analytics (分析)。Google Analytics (分析) 中的電子商務資料包含交易和項目命中 (與共用交易 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 Analytics (分析),必須在追蹤工具上設定交易和項目欄位值,並逐一傳送。例如:

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.
}