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

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

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

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

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

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

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

शुरू करने से पहले

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

खास जानकारी

ड्रैगन कैचर

इस गाइड में एक सैंपल ऐप्लिकेशन का इस्तेमाल किया गया है. इसमें आपको Google Analytics की अन्य सुविधाएं लागू करने की जानकारी दी गई है. इस ऐप्लिकेशन का नाम DragonCater है और इसमें गेमप्ले की ये खास बातें हैं:

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

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 में इवेंट का इस्तेमाल करके, प्लेयर की "उपलब्धियां" रिकॉर्ड की जा सकती हैं. उदाहरण के लिए, 5 ड्रैगन को बचाने की उपलब्धि का आकलन करने के लिए, किसी प्लेयर ने जितने ड्रैगन छोड़े हैं उनकी संख्या रिकॉर्ड की जाती है. इसके बाद, जब खिलाड़ी सीमा पर पहुंच जाता है तब 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);
  }
}

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

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

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

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

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

उदाहरण के लिए, DragonCater में कुछ आइटम की खरीदारी मापने के लिए, लेन-देन डेटा 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 को इवेंट भेजे जाने पर, यह मेज़र करने के लिए लक्ष्य सेट अप किया जा सकता है कि इन-ऐप्लिकेशन खरीदारी कब होती है. नीचे दिए गए पैरामीटर का इस्तेमाल करके, लक्ष्य को किसी भी अतिरिक्त कोड के बिना वेब इंटरफ़ेस एडमिन में तय किया जा सकता है:

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

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

लक्ष्य से जुड़ा डेटा इन देशों में उपलब्ध है:

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

अगर आपको खास एट्रिब्यूट/एट्रिब्यूट/मेटाडेटा वाले उपयोगकर्ताओं को ट्रैक करना है, तो कस्टम डाइमेंशन का इस्तेमाल करके, इस तरह का डेटा 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 को डेटा भेजने के सभी तरीकों के बारे में जानें