9

根据Android 的 Google Analytics eCommerce guide,我需要使用该Tracker.sendTransaction方法来跟踪购买。所需的三项信息是购买价格、总税金和运输价格(所有长材)。但是,通过进行应用内购买提供的响应没有提供这些数据。

我错过了什么吗?这些信息真的返回了吗?我在哪里可以找到它们来设置它们?

4

1 回答 1

1

您可以使用getSkuDetails -方法获取有关所有产品的信息:

ArrayList<String> skuList = new ArrayList<String> ();
skuList.add("premiumUpgrade");
skuList.add("gas");
Bundle querySkus = new Bundle();
querySkus.putStringArrayList(“ITEM_ID_LIST”, skuList);

Bundle skuDetails = mService.getSkuDetails(3, getPackageName(), "inapp", querySkus);

代码取自:http: //developer.android.com/google/play/billing/billing_integrate.html#QueryDetails

您可以通过检查购买后返回的数据来了解用户购买了哪些产品:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
   if (requestCode == 1001) {           
      int responseCode = data.getIntExtra("RESPONSE_CODE", 0);
      String purchaseData = data.getStringExtra("INAPP_PURCHASE_DATA");
      String dataSignature = data.getStringExtra("INAPP_DATA_SIGNATURE");

      if (resultCode == RESULT_OK) {
         try {
            JSONObject jo = new JSONObject(purchaseData);
            String sku = jo.getString("productId");
            // TODO: query getSkuDetails() and find the matching product
            alert("You have bought the " + sku + ". Excellent choice, 
               adventurer!");
          }
          catch (JSONException e) {
             alert("Failed to parse purchase data.");
             e.printStackTrace();
          }
      }
   }
}

代码取自:http: //developer.android.com/google/play/billing/billing_integrate.html#Purchase

于 2014-02-24T10:20:13.380 回答