मोबाइल ऐप्लिकेशन लागू करने की गाइड

यह दस्तावेज़ मोबाइल डेवलपर के लिए है और इसमें उपयोगकर्ता के इंटरैक्शन को मापने और ऐप्लिकेशन के इस्तेमाल से जुड़े सवालों के जवाब देने के लिए, Google Analytics का इस्तेमाल करने का तरीका बताया गया है.

शुरुआती जानकारी

मोबाइल ऐप्लिकेशन के लिए Google Analytics, उपयोगकर्ता इंटरैक्शन मापने का प्लैटफ़ॉर्म उपलब्ध कराता है. इससे, आपको अपने ऐप्लिकेशन में उपयोगकर्ता के जुड़ाव को बेहतर तरीके से समझने और उसे ऑप्टिमाइज़ करने में मदद मिलती है.

Google Analytics को डिफ़ॉल्ट रूप से लागू करने पर, आपके ऐप्लिकेशन के बारे में यह जानकारी अपने-आप मिलती है:

  • उपयोगकर्ताओं और सेशन की संख्या
  • सेशन कितनी देर चला
  • ऑपरेटिंग सिस्टम
  • डिवाइस के मॉडल
  • देश या इलाका

इस गाइड में बताया गया है कि अपने उपयोगकर्ताओं और उनके व्यवहार को बेहतर ढंग से समझने के लिए, अतिरिक्त Google Analytics सुविधाओं को कैसे लागू किया जा सकता है.

वेब कंटेनर इंस्टॉल करने से पहले

मोबाइल ऐप्लिकेशन के लिए Google Analytics सेट अप करने का यह गाइड पढ़ें:

खास जानकारी

ड्रैगन कैचर

इस गाइड में, Google Analytics की अतिरिक्त सुविधाओं को लागू करने के बारे में जानकारी देने के लिए, सैंपल के तौर पर एक ऐप्लिकेशन का इस्तेमाल किया गया है. इस ऐप्लिकेशन को Dragon Catcher कहा जाता है और इसमें गेमप्ले की ये विशेषताएं होती हैं:

  • एक लेवल में एक खिलाड़ी, ड्रैगन, एक बाड़ वाली जगह, एक कुआं, और पेड़ होते हैं
  • खिलाड़ी का मकसद, ड्रैगन को बाड़ों के बीच में ले जाकर उन्हें पकड़ना होता है
  • खिलाड़ी लेवल की अलग-अलग जगहों और चीज़ों, जैसे कि कुएं या जादुई पेड़ को देख सकता है
  • सभी ड्रैगन पकड़ने के बाद, खिलाड़ी अगले लेवल पर पहुंच जाता है
  • इसमें खिलाड़ी पहले लेवल पर गेम शुरू करता है, जिसका नाम बैरन फ़ील्ड्स है.

Google Analytics का इस्तेमाल करके, उपयोगकर्ता के व्यवहार से जुड़े कुछ सवाल, जिनके जवाब ड्रैगन कैचर के बारे में मिल सकते हैं:

इस दस्तावेज़ के बाकी हिस्से में दिखाया गया है कि कैसे ड्रैगन कैचर गेम के लिए Google Analytics की सुविधाओं को लागू करके इन सवालों के जवाब मिल सकते हैं.

मेरे उपयोगकर्ता कौनसी कार्रवाइयां कर रहे हैं? (इवेंट)

अगर आपको अपने ऐप्लिकेशन में कुछ अहम कार्रवाइयों को ट्रैक करना है, तो Google Analytics में उस कार्रवाई के बारे में बताने के लिए इवेंट का इस्तेमाल किया जा सकता है. किसी इवेंट में चार पैरामीटर होते हैं: category, action, label, और value.

उदाहरण के लिए, ड्रैगन कैचर में, किसी उपयोगकर्ता को ड्रैगन को बचाने या लेवल में किसी खास जगह पर जाने से जुड़ी वे अहम कार्रवाइयां हैं जिन्हें हम इवेंट का इस्तेमाल करके मापना चाहते हैं. नीचे दिया गया कोड स्निपेट Google Analytics में इसे मेज़र करने का तरीका बताता है.

Android SDK

// To determine how many dragons are being rescued, send an event when the
// player rescues a dragon.
tracker.send(new HitBuilders.EventBuilder()
    .setCategory("Barren Fields")
    .setAction("Rescue")
    .setLabel("Dragon")
    .setValue(1)
    .build());

// To determine if players are visiting the magic tree, send an event when the
// player is in the vicinity of the magic tree.
tracker.send(new HitBuilders.EventBuilder()
    .setCategory("Barren Fields")
    .setAction("Visited")
    .setLabel("Magic Tree")
    .setValue(1)
    .build());

// To determine if players are visiting the well, send an event when the player
// is in the vicinity of the well.
tracker.send(new HitBuilders.EventBuilder()
    .setCategory("Barren Fields")
    .setAction("Visited")
    .setLabel("Well")
    .setValue(1)
    .build());

iOS एसडीके टूल

// To determine how many dragons are being rescued, send an event when the
// player rescues a dragon.
[tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"Barren Fields"
                                                      action:@"Rescue"
                                                       label:@"Dragon"
                                                       value:@1] build]];

// To determine if players are visiting the magic tree, send an event when the
// player is in the vicinity of the magic tree.
[tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"Barren Fields"
                                                      action:@"Visited"
                                                       label:@"Magic Tree"
                                                       value:@1] build]];

// To determine if players are visiting the well, send an event when the player
// is in the vicinity of the well.
[tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"Barren Fields"
                                                      action:@"Visited"
                                                       label:@"Well"
                                                       value:@1] build]];

Unity के लिए GA प्लग इन

// To determine how many dragons are being rescued, send an event when the
// player rescues a dragon.
googleAnalytics.LogEvent("Barren Fields", "Rescue", "Dragon", 1);

// To determine if players are visiting the magic tree, send an event when the
// player is in the vicinity of the magic tree.
googleAnalytics.LogEvent("Barren Fields", "Visited", "Magic Tree", 1);

// To determine if players are visiting the well, send an event when the player
// is in the vicinity of the well.
googleAnalytics.LogEvent("Barren Fields", "Visited", "Well", 1);

खिलाड़ी की "उपलब्धियों" को मेज़र करना

प्लेयर की "उपलब्धियों" को Google Analytics में मौजूद इवेंट का इस्तेमाल करके मेज़र किया जा सकता है. उदाहरण के लिए, पांच ड्रैगन को बचाने की उपलब्धि को मापने के लिए, किसी खिलाड़ी ने बचाए गए ड्रैगन की संख्या रिकॉर्ड की जाती है. फिर, जब खिलाड़ी तय की गई सीमा तक पहुंच जाता है, तो Google Analytics को इवेंट भेजा जाता है:

Android SDK

if (numDragonsRescued > 5) {
  if (!user.hasAchievement(RESCUED_ACHIEVEMENT) {
    tracker.send(new HitBuilders.EventBuilder()
        .setCategory("Achievement")
        .setAction("Unlocked")
        .setLabel("5 Dragons Rescued")
        .setValue(1)
        .build());
  } else {
    tracker.send(new HitBuilders.EventBuilder()
        .setCategory("Achievement")
        .setAction("Earned")
        .setLabel("5 Dragons Rescued")
        .setValue(1)
        .build());
  }
}

iOS एसडीके टूल

if (numDragonsRescued > 5) {
  if (![user hasAchievement:RESCUED_ACHIEVEMENT]) {
    [tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"Achievement"
                                                          action:@"Unlocked"
                                                           label:@"5 Dragons Rescued"
                                                           value:@1] build]];
  } else {
    [tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"Achievement"
                                                          action:@"Earned"
                                                           label:@"5 Dragons Rescued"
                                                           value:@1] build]];
  }
}

Unity के लिए GA प्लग इन

if (numDragonsRescued > 5) {
  if (!user.HasAchievement(RESCUED_ACHIEVEMENT)) {
    googleAnalytics.LogEvent("Achievement", "Unlocked", "5 Dragons Rescued", 1);
  } else {
    googleAnalytics.LogEvent("Achievement", "Earned", "5 Dragons Rescued", 1);
  }
}

इवेंट के लिए डेवलपर गाइड

इवेंट की रिपोर्टिंग

इवेंट का डेटा इन देशों में उपलब्ध है:

उपयोगकर्ता मेरे ऐप्लिकेशन पर कितना पैसा खर्च कर रहे हैं? (बेहतर ई-कॉमर्स)

अगर आपको उपयोगकर्ताओं की इन-ऐप्लिकेशन खरीदारी को मेज़र करना है, तो ई-कॉमर्स ट्रैकिंग का इस्तेमाल खरीदारी को ट्रैक करने के साथ-साथ, उससे जुड़े प्रॉडक्ट की परफ़ॉर्मेंस और उपयोगकर्ता के व्यवहार को समझने के लिए किया जा सकता है. ई-कॉमर्स ट्रैकिंग का इस्तेमाल, किसी खास आइटम या वर्चुअल करंसी की खरीदारी को मेज़र करने के लिए किया जा सकता है.

उदाहरण के लिए, ड्रैगन कैचर में, कुछ आइटम की खरीदारी को मापने के लिए, Google Analytics को इवेंट के साथ लेन-देन डेटा भेजा जाता है:

Android SDK

Product product = new Product()
    .setName("Dragon Food")
    .setPrice(40.00);

ProductAction productAction = new ProductAction(ProductAction.ACTION_PURCHASE)
    .setTransactionId("T12345");

// Add the transaction data to the event.
HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder()
    .setCategory("In-Game Store")
    .setAction("Purchase")
    .addProduct(product)
    .setProductAction(productAction);

// Send the transaction data with the event.
tracker.send(builder.build());

iOS एसडीके टूल

GAIEcommerceProduct *product = [[GAIEcommerceProduct alloc] init];
[product setName:@"Dragon Food"];
[product setPrice:@40.00];

GAIEcommerceProductAction *productAction = [[GAIEcommerceProductAction alloc] init];
[productAction setAction:kGAIPAPurchase];
[productAction setTransactionId:@"T12345"];

GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"In-Game Store"
                                                                       action:@"Purchase"
                                                                        label:nil
                                                                        value:nil];
// Add the transaction data to the event.
[builder setProductAction:productAction];
[builder addProduct:product];

// Send the transaction data with the event.
[tracker send:[builder build]];

Unity के लिए GA प्लग इन

// Note: Using Android SDK v3 and standard Ecommerce tracking.

googleAnalytics.LogItem("T12345", "Dragon Food", "Food_SKU", "Items", 40.00, 1);
googleAnalytics.LogTransaction("T12345", "In-Game Store", 40.00, 0.00, 0.00);

अगर कोई उपयोगकर्ता वर्चुअल मुद्रा खरीदता है, तो हमारा सुझाव है कि Google Analytics को ट्रांज़ैक्शन डेटा भेजते समय, असली पैसों के लेन-देन को मेज़र करें. जब उपयोगकर्ता आइटम खरीदने के लिए वर्चुअल मुद्रा खर्च करता है, तो इवेंट का इस्तेमाल करके इसका आकलन करें. उदाहरण के लिए:

Android SDK

/**
 * When the user purchases the virtual currency (Gems) measure the transaction
 * using enhanced ecommerce.
 */
Product product = new Product()
    .setName("2500 Gems")
    .setPrice(5.99);

ProductAction productAction = new ProductAction(ProductAction.ACTION_PURCHASE)
    .setTransactionId("T67890");

// Add the transaction to the screenview.
HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder()
    .addProduct(product)
    .setProductAction(productAction);

// Send the transaction with the screenview.
tracker.setScreenName("In-Game Store");
tracker.send(builder.build());


/**
 * When the user purchases an item using the virtual currency (Gems) send an
 * event to measure this in Google Analytics.
 */
HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder()
    .setCategory("In-Game Store")
    .setAction("Purchase")
    .setLabel("Sword")
    .setValue(35);
tracker.send(builder.build());

iOS एसडीके टूल

/**
 * When the user purchases the virtual currency (Gems) measure the transaction
 * using enhanced ecommerce.
 */
GAIEcommerceProduct *product = [[GAIEcommerceProduct alloc] init];
[product setName:@"2500 Gems"];
[product setPrice:@5.99];

GAIEcommerceProductAction *productAction = [[GAIEcommerceProductAction alloc] init];
[productAction setAction:kGAIPAPurchase];
[productAction setTransactionId:@"T67890"];

GAIDictionaryBuilder *viewBuilder = [GAIDictionaryBuilder createScreenView];

// Add the transaction data to the screenview.
[viewBuilder setProductAction:productAction];
[viewBuilder addProduct:product];

// Send the transaction with the screenview.
[tracker set:kGAIScreenName value:@"In-Game Store"];
[tracker send:[viewBuilder build]];


/**
 * When the user purchases an item using the virtual currency (Gems) send an
 * event to measure this in Google Analytics.
 */
GAIDictionaryBuilder *eventBuilder = [GAIDictionaryBuilder createEventWithCategory:@"In-Game Store"
                                                                       action:@"Purchase"
                                                                        label:@"Sword"
                                                                        value:@35];
[tracker send:[eventBuilder build]];

Unity के लिए GA प्लग इन

// Note: Using Android SDK v3 and standard Ecommerce tracking.

/**
 * When the user purchases the virtual currency (Gems) measure the transaction
 * using enhanced ecommerce.
 */

googleAnalytics.LogItem("T12345", "2500 Gems", "GEM2500_SKU", "Items", 5.99, 1);
googleAnalytics.LogTransaction("T12345", "In-Game Store", 5.99, 0.00, 0.00);

/**
 * When the user purchases an item using the virtual currency (Gems) send an
 * event to measure this in Google Analytics.
 */
googleAnalytics.LogEvent("In-Game Store", "Purchase", "Sword", 35);

बेहतर ई-कॉमर्स के लिए डेवलपर गाइड

बेहतर ई-कॉमर्स के लिए रिपोर्टिंग

ई-कॉमर्स डेटा इन भाषाओं में उपलब्ध है:

क्या उपयोगकर्ता मेरे ऐप्लिकेशन के मकसद को पूरा कर रहे हैं? (लक्ष्य)

यदि आपके पास अपने ऐप्लिकेशन के लिए कोई विशिष्ट लक्ष्य हैं जिन्हें आप उपयोगकर्ताओं से पूरा करवाना चाहते हैं तो आप Google Analytics में लक्ष्य का उपयोग करके इन उद्देश्यों को परिभाषित और माप सकते हैं. उदाहरण के लिए, एक लक्ष्य उपयोगकर्ताओं के लिए गेम के एक खास लेवल तक पहुंचना या कोई आइटम खरीदना हो सकता है. लक्ष्य कैसे काम करते हैं, इस बारे में ज़्यादा जानने के लिए लक्ष्यों के बारे में जानकारी (सहायता केंद्र) देखें.

ड्रैगन कैचर गेम में, एक लक्ष्य सेट अप किया जा सकता है, ताकि यह मेज़र किया जा सके कि हर खरीदारी के लिए Google Analytics को कोई इवेंट भेजे जाने पर इन-ऐप्लिकेशन खरीदारी कब होती है. लक्ष्य को किसी भी अतिरिक्त कोड के बिना, वेब इंटरफ़ेस एडमिन में नीचे दिए गए पैरामीटर का इस्तेमाल करके, तय किया जा सकता है:

  • लक्ष्य का टाइप (इसके बराबर): इवेंट
  • कैटगरी (बराबर): इन-गेम स्टोर
  • कार्रवाई (इसके बराबर): खरीदारी
  • कन्वर्ज़न के लिए, लक्ष्य की वैल्यू के तौर पर इवेंट वैल्यू का इस्तेमाल करें: हां

लक्ष्य की रिपोर्टिंग

लक्ष्य का डेटा इसमें उपलब्ध है:

किसी खास विशेषता वाले उपयोगकर्ता कैसे व्यवहार करते हैं? (कस्टम डाइमेंशन और मेट्रिक)

अगर आपको खास एट्रिब्यूट/एट्रिब्यूट/मेटाडेटा वाले उपयोगकर्ताओं को ट्रैक करना है, तो Google Analytics को और विश्लेषण में इस तरह के डेटा को भेजने के लिए कस्टम डाइमेंशन का इस्तेमाल किया जा सकता है. कस्टम डाइमेंशन के काम करने के तरीके के बारे में ज़्यादा जानने के लिए, कस्टम डाइमेंशन और मेट्रिक की सुविधा का रेफ़रंस लेख पढ़ें.

उदाहरण के लिए, ड्रैगन कैचर में, पहले लेवल, दूसरे लेवल वगैरह के उपयोगकर्ताओं का प्रतिशत पता लगाने के लिए, कस्टम डाइमेंशन को उपयोगकर्ता के मौजूदा लेवल के हिसाब से सेट करके Google Analytics को भेजा जा सकता है. चरण इस प्रकार हैं:

  1. User स्कोप वाला कस्टम डाइमेंशन बनाएं. User स्कोप का इस्तेमाल किया गया है, क्योंकि यह वैल्यू उस उपयोगकर्ता के सभी सेशन में मौजूद रहनी चाहिए. कस्टम डाइमेंशन सेट अप करना या उनमें बदलाव करना (सहायता केंद्र) लेख पढ़ें.
  2. उपयोगकर्ता का लेवल बदलने पर, कस्टम डाइमेंशन की वैल्यू को अपडेट करें.

नीचे दिए गए स्निपेट में दिखाया गया है कि Google Analytics में उपयोगकर्ता की स्थिति कैसे अपडेट करें, जहां उपयोगकर्ता स्तरीय कस्टम आयाम इंडेक्स 1 है और उपयोगकर्ता का स्तर बदलकर Barren Fields हो गया है:

Android SDK

// Set the user level custom dimension when sending a hit to Google Analytics
// such as a screenview or event.
tracker.setScreenName("BarrenFields");
tracker.send(new HitBuilders.ScreenViewBuilder()
    .setCustomDimension(1, "Barren Fields")
    .build()
);

iOS एसडीके टूल

// Set the user level custom dimension when sending a hit to Google Analytics
// such as a screenview or event.
[tracker set:kGAIScreenName value:@"BarrenFields"];
[tracker send:[[[GAIDictionaryBuilder createScreenView]
         set:@"Barren Fields"
      forKey:[GAIFields customDimensionForIndex:1]] build]];

Unity के लिए GA प्लग इन

// Set the user level custom dimension when sending a hit to Google Analytics
// such as a screenview or event.
googleAnalytics.LogScreen(new AppViewHitBuilder()
    .SetScreenName("BarrenFields").SetCustomDimension(1, "Barren Fields"));

कस्टम डाइमेंशन और मेट्रिक के लिए डेवलपर गाइड

कस्टम डाइमेंशन और मेट्रिक के लिए रिपोर्टिंग

कस्टम डाइमेंशन को सेगमेंट के तौर पर शामिल किया जा सकता है. साथ ही, इन्हें इन कामों के लिए लागू किया जा सकता है:

कस्टम डाइमेंशन को सेगमेंट के तौर पर लागू करने से, उन उपयोगकर्ताओं का विश्लेषण किया जा सकता है जो गेम के किसी खास लेवल पर हैं.

किसी उपयोगकर्ता को कोई टास्क पूरा करने में कितना समय लगता है? (कस्टम समय)

अगर आपको यह मेज़र करना है कि ऐप्लिकेशन में किसी चीज़ को पूरा होने में कितना समय लगता है, तो Google Analytics में समय के हिसाब से मेज़रमेंट के लिए, उपयोगकर्ता समय का इस्तेमाल किया जा सकता है. उपयोगकर्ता का समय, इवेंट जैसे होते हैं, लेकिन समय के हिसाब से होते हैं. इनमें category, value, name (variable), और label शामिल हो सकते हैं. उपयोगकर्ता समय कैसे काम करता है, इस बारे में जानने के लिए साइट स्पीड के बारे में जानकारी देखें.

उदाहरण के लिए, ड्रैगन कैचर में यह मापने के लिए कि उपयोगकर्ता को अपने पहले ड्रैगन को बचाने में कितना समय लगता है, आप इस तरह के कुछ भेज सकते हैं:

Android SDK

// Build and send a timing hit.
tracker.send(new HitBuilders.TimingBuilder()
    .setCategory("Barren Fields")
    .setValue(45000)  // 45 seconds.
    .setVariable("First Rescue")
    .setLabel("Dragon")
    .build());

iOS एसडीके टूल

[tracker send:[[GAIDictionaryBuilder createTimingWithCategory:@"Barren Fields"
                                                     interval:@45000   // 45 seconds.
                                                         name:@"First Rescue"
                                                        label:@"Dragon"] build]];

Unity के लिए GA प्लग इन

// Build and send a timing hit.
googleAnalytics.LogTiming("Barren Fields",45000,"First Rescue","Dragon");

पसंद के मुताबिक समय के लिए डेवलपर गाइड

पसंद के मुताबिक समय के लिए रिपोर्टिंग

पसंद के मुताबिक समय का डेटा यहां उपलब्ध है:

  • Analytics अकैडमी - मोबाइल ऐप्लिकेशन के आंकड़ों की बुनियादी बातों के साथ-साथ मुफ़्त ऑनलाइन कोर्स की मदद से, Analytics में अपने कौशल को बेहतर बनाएं.
  • कलेक्शन एपीआई और SDK टूल - Google Analytics को डेटा भेजने के सभी तरीकों के बारे में जानें