谷歌分析-获取iOS应用内购买值
我成功地在我的iOS应用程序中实现了应用内购买 我现在正尝试使用以下代码实现Google Analytics来跟踪购买。但在成功完成购买后,我不确定从何处获得实际价值 任何示例代码都将不胜感激谷歌分析-获取iOS应用内购买值,ios,objective-c,transactions,google-analytics,in-app-purchase,Ios,Objective C,Transactions,Google Analytics,In App Purchase,我成功地在我的iOS应用程序中实现了应用内购买 我现在正尝试使用以下代码实现Google Analytics来跟踪购买。但在成功完成购买后,我不确定从何处获得实际价值 任何示例代码都将不胜感激 - (void)onPurchaseCompleted { GAITransaction *transaction = [GAITransaction transactionWithId:@"0_123456" // (NSString) Transaction ID
- (void)onPurchaseCompleted {
GAITransaction *transaction =
[GAITransaction transactionWithId:@"0_123456" // (NSString) Transaction ID, should be unique.
withAffiliation:@"In-App Store"]; // (NSString) Affiliation
transaction.taxMicros = (int64_t)(0.17 * 1000000); // (int64_t) Total tax (in micros)
transaction.shippingMicros = (int64_t)(0); // (int64_t) Total shipping (in micros)
transaction.revenueMicros = (int64_t)(2.16 * 1000000); // (int64_t) Total revenue (in micros)
[transaction addItemWithSKU:@"L_789" // (NSString) Product SKU
name:@"Level Pack: Space" // (NSString) Product name
category:@"Game expansions" // (NSString) Product category
priceMicros:(int64_t)(1.99 * 1000000) // (int64_t) Product price (in micros)
quantity:1]; // (NSInteger) Product quantity
[[GAI sharedInstance].defaultTracker sendTransaction:transaction]; // Send the transaction.
}
如果你问如何获得产品的价格并向用户展示,你就是这样做的。这些都是从这里得到的 这是我的最终代码:
- (void)trackPurchaseWithTransaction:(SKPaymentTransaction *)transaction andAction:(NSString *)action
{
//Only track purchase, not restore
if(![action isEqualToString:IAPHelperProductPurchasedNotification]) return;
id tracker = [[GAI sharedInstance] defaultTracker];
SKPayment *payment = transaction.payment;
NSString *sku = payment.productIdentifier;
SKProduct *product;
for(SKProduct *skProduct in skProducts) {
if([skProduct.productIdentifier isEqualToString:skProduct.productIdentifier]) {
product = skProduct;
}
}
NSLocale *priceLocale = product.priceLocale;
NSString *currencyCode = [priceLocale objectForKey:NSLocaleCurrencyCode];
NSString *transactionId = transaction.transactionIdentifier;
NSNumber *productPrice = product.price;
NSNumber *revenue = @(productPrice.floatValue * payment.quantity);
GAIDictionaryBuilder *transBuilder = [GAIDictionaryBuilder createTransactionWithId:transactionId
affiliation:@"App Store"
revenue:revenue
tax:0
shipping:0
currencyCode:currencyCode];
[tracker send:[transBuilder build]];
GAIDictionaryBuilder *itemBuilder = [GAIDictionaryBuilder createItemWithTransactionId:transactionId
name:product.localizedTitle
sku:sku
category:@"In-App Purchase"
price:productPrice
quantity:@(payment.quantity)
currencyCode:currencyCode];
[tracker send:[itemBuilder build]];
}
谢谢实际上,它与谷歌分析更相关
- (void)trackPurchaseWithTransaction:(SKPaymentTransaction *)transaction andAction:(NSString *)action
{
//Only track purchase, not restore
if(![action isEqualToString:IAPHelperProductPurchasedNotification]) return;
id tracker = [[GAI sharedInstance] defaultTracker];
SKPayment *payment = transaction.payment;
NSString *sku = payment.productIdentifier;
SKProduct *product;
for(SKProduct *skProduct in skProducts) {
if([skProduct.productIdentifier isEqualToString:skProduct.productIdentifier]) {
product = skProduct;
}
}
NSLocale *priceLocale = product.priceLocale;
NSString *currencyCode = [priceLocale objectForKey:NSLocaleCurrencyCode];
NSString *transactionId = transaction.transactionIdentifier;
NSNumber *productPrice = product.price;
NSNumber *revenue = @(productPrice.floatValue * payment.quantity);
GAIDictionaryBuilder *transBuilder = [GAIDictionaryBuilder createTransactionWithId:transactionId
affiliation:@"App Store"
revenue:revenue
tax:0
shipping:0
currencyCode:currencyCode];
[tracker send:[transBuilder build]];
GAIDictionaryBuilder *itemBuilder = [GAIDictionaryBuilder createItemWithTransactionId:transactionId
name:product.localizedTitle
sku:sku
category:@"In-App Purchase"
price:productPrice
quantity:@(payment.quantity)
currencyCode:currencyCode];
[tracker send:[itemBuilder build]];
}