eコマーストラッキングガイドに示されているように、iOSv2用のGoogleアナリティクスSDKを使用してアプリ内購入を追跡したいと思います。
SKPaymentTransactionStatePurchased
トランザクションの更新を受け取った後、現在次のことを行っています。
- (void) trackTransaction:(SKPaymentTransaction*)transaction
{
NSString *transactionIdentifier = transaction.transactionIdentifier;
GAITransaction *gaiTransaction = [GAITransaction transactionWithId:transactionIdentifier withAffiliation:@"App Store"];
SKPayment *payment = transaction.payment;
NSString *productIdentifier = payment.productIdentifier;
SKProduct *product = [self productForIdentifier:productIdentifier];
NSString *productTitle = product.localizedTitle;
int64_t priceInMicros = product.price.floatValue * 1000000; // FIXME: Doesn't consider different currencies
[gaiTransaction addItemWithCode:productIdentifier name:productTitle category:nil priceMicros:priceInMicros quantity:payment.quantity];
gaiTransaction.revenueMicros = priceInMicros * payment.quantity; // FIXME: doesn't consider Apple's cut
id<GAITracker> tracker = [GAI sharedInstance].defaultTracker;
[tracker trackTransaction:gaiTransaction];
}
上記はアプリ内購入を追跡する正しい方法ですか?少なくとも2つの問題を検出します。
SKProduct
ローカライズされた価格を返します。そのまま追跡すると、収益の集計が正しくなくなります。価格を正規化する方法はありますか?- 返される収益は、Appleの削減を考慮に入れていません。これは常に30%ではありません。アプリ内で純収入を得ることができますか?