このドキュメントでは、Android 向け Google アナリティクス SDK v2 を使って、アプリ内のお支払いと収益を測定する方法の概要を説明します。
概要
e コマースの測定では、アプリ内の購入と売り上げのデータを Google アナリティクスに送ることができます。通常、Google アナリティクスの e コマースデータは、共通のトランザクション ID で関連付けられたトランザクションとアイテムで構成されます。Android 向け Google アナリティクス SDK では、トランザクション オブジェクトを作成してアイテムを追加することで、この関係が確立されます。
e コマースデータは主に次のレポートで使用されます。
- e コマースの概要
- 商品の販売状況
- 販売実績
- トランザクション
- 購入までの間隔
実装
Google アナリティクスでトランザクションを測定するには、次の 3 つのステップを行います。
- トランザクション オブジェクトを作成します。
- アイテム オブジェクトを作成してトランザクション オブジェクトに追加します。
sendTransaction(Transaction transObject)
を使用してトランザクションを送信します。
次の例では、ユーザーがアプリ内購入を完了した後に onPurchaseCompleted()
が呼び出されると仮定しています。
/** * The purchase was processed. We will send the transaction and its associated line items to Google Analytics, * but only if the purchase has been confirmed. */ public void onPurchaseCompleted() { Transaction myTrans = new Transaction.Builder( "0_123456", // (String) Transaction Id, should be unique. (long) (2.16 * 1000000)) // (long) Order total (in micros) .setAffiliation("In-App Store") // (String) Affiliation .setTotalTaxInMicros((long) (0.17 * 1000000)) // (long) Total tax (in micros) .setShippingCostInMicros(0) // (long) Total shipping cost (in micros) .build(); myTrans.addItem(new Item.Builder( "L_789", // (String) Product SKU "Level Pack: Space", // (String) Product name (long) (1.99 * 1000000), // (long) Product price (in micros) (long) 1) // (long) Product quantity .setProductCategory("Game expansions") // (String) Product category .build()); Tracker myTracker = EasyTracker.getTracker(); // Get reference to tracker. myTracker.sendTransaction(myTrans); // Send the transaction. }
通貨の種類
Android 向け Google アナリティクス SDK では、e コマースの通貨のフィールドはマイクロ単位(100 万分の 1 の通貨)で指定する必要があります。
たとえば、通貨の値 4.5991
を送信する場合は、トランザクションを Google アナリティクスに送信する際に、上の例のようにその値をマイクロに変換(つまり 4599100
)する必要があります。SDK がそのトランザクションを Google アナリティクスに送信すると、その値は自動的に固定小数点以下の 10 進値に変換され、4.5991
として送信されます。
e コマースコードに通貨記号を含めたり、カンマを使用したりすることはできません。
e コマースの通貨フィールドでは、マイナスの通貨の値も使用できます。払い戻しや返品で必要となる場合があるためです。
通貨の指定
デフォルトでは、トランザクション値はレポートされるビュー(旧プロファイル)の通貨であるとみなされます。
トランザクションのローカル通貨をオーバーライドするには、
Transaction
をビルドする際に、次の例のように setCurrencyCode
を呼び出します。
/** * 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() { Transaction myTrans = new Transaction.Builder( "0_123456", (long) (1.59 * 1000000)) .setAffiliation("In-App Store") .setTotalTaxInMicros((long) (0.13 * 1000000)) .setShippingCostInMicros(0) .setCurrencyCode("EUR") // (String) Set currency code to Euros. .build(); Tracker myTracker = EasyTracker.getTracker(); myTracker.sendTransaction(myTrans); }
サポートされている通貨と通貨コードの一覧については、利用可能な通貨のリファレンスをご覧ください。