本文档将大略介绍如何使用 iOS 版 Google Analytics(分析)SDK v3 来衡量应用内付款和收入。
概览
借助电子商务衡量功能,您可以向 Google Analytics(分析)发送应用内购买和销售数据。Google Analytics(分析)中的电子商务数据由交易命中和商品命中组成,两者又由共享交易 ID 相关联。
交易数据包含以下字段:
字段名称 | 跟踪器字段 | 类型 | 必需 | 说明 |
---|---|---|---|---|
交易 ID |
kGAITransactionId |
NSString |
是 | 代表某次交易的唯一 ID。此 ID 不应与其他交易 ID 重复。 |
关联公司 |
kGAITransactionAffiliation |
NSString |
是 | 此次交易关联的实体(例如某家商店)。 |
收入 |
kGAITransactionRevenue |
NSNumber |
是 | 交易的总收入,含税费和运费。 |
税务 |
kGAITransactionTax |
NSNumber |
是 | 交易的总税费。 |
运费 |
kGAITransactionShipping |
NSNumber |
是 | 交易的总运费。 |
货币代码 |
kGAICurrencyCode |
NSString |
否 | 交易的局部货币。默认值为此次交易对应的数据视图(配置文件)的货币。 |
商品数据包含以下字段:
字段名称 | 跟踪器字段 | 类型 | 必需 | 说明 |
---|---|---|---|---|
交易 ID |
kGAITransactionId |
NSString |
是 | 该商品关联的交易 ID。 |
名称 |
kGAIItemName |
NSString |
是 | 产品名称。 |
库存单位 (SKU) |
kGAIItemSku |
NSString |
是 | 产品 SKU。 |
类别 |
kGAIItemCategory |
NSString |
否 | 产品所属的类别。 |
价格 |
kGAIItemPrice |
NSNumber |
是 | 产品的价格。 |
数量 |
kGAIItemQuantity |
NSNumber |
是 | 产品的数量。 |
货币代码 |
kGAICurrencyCode |
NSString |
否 | 交易的局部货币。默认设置为报告交易的数据视图(配置文件)的币种。 |
电子商务数据主要用于以下标准报告:
- 电子商务概览
- 产品业绩
- 销售业绩
- 交易次数
- 购买前所耗时间
实现
为了向 Google Analytics(分析)发送交易和商品数据,您需要在跟踪器中逐一设置交易和商品字段值并进行发送。例如:
/* * Called when a purchase is processed and verified. */ - (void)onPurchaseCompleted { // Assumes a tracker has already been initialized with a property ID, otherwise // this call returns null. id tracker = [[GAI sharedInstance] defaultTracker]; [tracker send:[[GAIDictionaryBuilder createTransactionWithId:@"0_123456" // (NSString) Transaction ID affiliation:@"In-app Store" // (NSString) Affiliation revenue:@2.16F // (NSNumber) Order revenue (including tax and shipping) tax:@0.17F // (NSNumber) Tax shipping:@0 // (NSNumber) Shipping currencyCode:@"USD"] build]]; // (NSString) Currency code [tracker send:[[GAIDictionaryBuilder createItemWithTransactionId:@"0_123456" // (NSString) Transaction ID name:@"Space Expansion" // (NSString) Product Name sku:@"L_789" // (NSString) Product SKU category:@"Game expansions" // (NSString) Product category price:@1.9F // (NSNumber) Product price quantity:@1 // (NSInteger) Product quantity currencyCode:@"USD"] build]]; // (NSString) Currency code }
电子商务货币字段支持负数货币值,以用于退款或退货的情况。
指定货币
默认情况下,交易值会被视为采用相应数据视图(配置文件)的货币。
要覆盖某次交易或相关产品的局部货币值,请将交易和商品匹配的货币代码字段设置为新的货币代码。如需所支持货币和货币代码的完整列表,请参阅“支持的货币”参考。
/* 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). */ - (void)onPurchaseCompleted { // Assumes a tracker has already been initialized with a property ID, otherwise // this call returns null. id tracker = [[GAI sharedInstance] defaultTracker]; [tracker send:[[GAIDictionaryBuilder createTransactionWithId:@"0_123456", // (NSString) Transaction ID, should be unique among transactions. affiliation:@"In-app Store", // (NSString) Affiliation revenue:(int64_t) 2.16, // (int64_t) Order revenue (including tax and shipping) tax:(int64_t) 0.17, // (int64_t) Tax shipping:(int64_t) 0, // (int64_t) Shipping currencyCode:@"EUR"] build]]; // (NSString) Currency code }