2012-12-08 40 views
13

के साथ इन-ऐप खरीद ट्रैकिंग IOS v2 के लिए Google Analytics SDK के साथ इन-ऐप खरीदारी ट्रैक करना चाहती है, जैसा कि उनके Ecommerce Tracking मार्गदर्शिका में दर्शाया गया है।Google Analytics आईओएस एसडीके

मैं वर्तमान में एक 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]; 
} 

पर नज़र रखने एप्लिकेशन के अंतर्गत खरीदी का सही तरीके से ऊपर है?

  1. SKProduct एक स्थानीय कीमत देता है और अगर मैं यह ट्रैक राजस्व एकत्रीकरण गलत हो जाएगा के रूप में है: मैं बहुत कम से कम दो समस्याओं का पता लगा। क्या कीमत को सामान्य करने का कोई तरीका है?
  2. लौटा राजस्व ऐप्पल के खाते में कटौती नहीं करता है, जो हमेशा 30% नहीं होता है। क्या ऐप के भीतर शुद्ध राजस्व प्राप्त करना संभव है?

उत्तर

11

SKProduct एक स्थानीय मूल्य ले आएगा राजस्व गुणा कर रहा हूँ और राजस्व के रूप में-है अगर मैं यह ट्रैक एकत्रीकरण गलत हो जाएगा। क्या कीमत को सामान्य करने का कोई तरीका है?

Google Analytics SKD for iOS v3 मुद्राओं के लिए समर्थन जोड़ा गया। किसी लेन-देन ट्रैकिंग इस तरह दिखता है:

- (void)storePaymentTransactionFinished:(NSNotification *)notification 
{ 
    SKPaymentTransaction *paymentTransaction = notification.transaction; 
    if (paymentTransaction.transactionState == SKPaymentTransactionStateRestored) return; 

    SKPayment *payment = paymentTransaction.payment; 
    NSString *sku = payment.productIdentifier; 
    SKProduct *product = [[RMStore defaultStore] productForIdentifier:sku]; 
    NSLocale *priceLocale = product.priceLocale; 
    NSString *currencyCode = [priceLocale objectForKey:NSLocaleCurrencyCode]; 
    NSString *transactionId = paymentTransaction.transactionIdentifier; 
    NSNumber *productPrice = product.price; 
    { 
     NSNumber *revenue = @(productPrice.floatValue * payment.quantity); 
     GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createTransactionWithId:transactionId 
                      affiliation:@"App Store" 
                       revenue:revenue 
                        tax:0 
                      shipping:0 
                     currencyCode:currencyCode]; 
     NSDictionary *parameters = [builder build]; 
     [_tracker send:parameters]; 
    } 
    { 
     GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createItemWithTransactionId:transactionId 
                        name:product.localizedTitle 
                         sku:sku 
                       category:@"In-App Purchase" 
                        price:productPrice 
                       quantity:@(payment.quantity) 
                      currencyCode:currencyCode]; 
     NSDictionary *parameters = [builder build]; 
     [_tracker send:parameters]; 
    } 
} 

ऊपर कोड सुविधा के लिए RMStore उपयोग करता है।

लौटा राजस्व ऐप्पल के खाते में कटौती नहीं करता है, जो हमेशा 30% नहीं है। क्या ऐप के भीतर शुद्ध राजस्व प्राप्त करना संभव है?

सं

2

अच्छा सवाल, शर्म की बात है कि आपको इसका कोई जवाब नहीं मिला है क्योंकि मैं अभी भी एक ही मुद्दे के खिलाफ आया हूं।

इसलिए इस विषय पर चर्चा को प्रोत्साहित करने के लिए मैं इस "कामकाज" का सुझाव देना चाहता हूं।

NSString *affiliation = [product.priceLocale objectForKey:NSLocaleCurrencyCode]; 
GAITransaction *gaiTransaction = [GAITransaction transactionWithId:transactionIdentifier withAffiliation:affiliation]; 

यह विचार है कि आप ऐप में विभिन्न मुद्राओं के बारे में कुछ भी नहीं कर सकते हैं। इसके बजाय आपको समस्या को Analytics में स्थानांतरित करने और प्रति राष्ट्रीय ऐप स्टोर की कमाई करने के लिए फ़िल्टरिंग का उपयोग करने की आवश्यकता है।

तो यदि यह यूएस लेनदेन है तो संबद्ध "यूएसडी" होगा।

के रूप में लेने के खाते में एप्पल के कटौती है, जो हमेशा 30%

इस खबर है मेरे लिए नहीं है। मैं इंप्रेशन का था कि एप्पल द्वारा 30% पत्थर में स्थापित किया गया था। तो मैं बस से 0,7

+0

स्वच्छ विचार, @Seoras। – hpique

+0

यह हमेशा बिल्कुल 30% नहीं है। यह ऐप स्टोर क्षेत्र और मुद्रा पर निर्भर करता है। तो मैं रिपोर्ट के लिए राजस्व छोड़ दूंगा और बस अपने दिमाग में ~ 30% रखूंगा ... – oleynikd

+0

सच है। 2 साल बाद, अब मेरे बेल्ट के नीचे कुछ अनुभव है, मैं जापान को 70% कटौती न मिलने का एक अच्छा उदाहरण के रूप में इंगित कर सकता हूं। जापान आपकी कमाई का 20% रखता है। जब तक आप ऐप्पल के माध्यम से सबमिट नहीं करते हैं, एक कर छूट फ़ॉर्म जो प्राचीन मिस्र के हाइरोग्लिफ्स में भी हो सकता है, वह इतनी खराब हो जाती है। – Seoras