মোবাইল অ্যাপ বাস্তবায়ন নির্দেশিকা

এই ডকুমেন্টটি মোবাইল ডেভেলপারদের জন্য এবং ব্যবহারকারীর ইন্টারঅ্যাকশন পরিমাপ করতে এবং অ্যাপ ব্যবহার সম্পর্কে প্রশ্নের উত্তর দিতে কীভাবে Google Analytics ব্যবহার করতে হয় তা বর্ণনা করে।

ভূমিকা

মোবাইল অ্যাপ্লিকেশানগুলির জন্য Google Analytics ব্যবহারকারীর মিথস্ক্রিয়া পরিমাপ করার জন্য একটি প্ল্যাটফর্ম প্রদান করে, যা আপনাকে আপনার অ্যাপের সাথে ব্যবহারকারীর ব্যস্ততাকে আরও ভালভাবে বুঝতে এবং অপ্টিমাইজ করতে দেয়।

Google Analytics-এর ডিফল্ট বাস্তবায়ন স্বয়ংক্রিয়ভাবে আপনার অ্যাপ সম্পর্কে নিম্নলিখিত তথ্য প্রদান করে:

  • ব্যবহারকারী এবং সেশনের সংখ্যা
  • সেশনের সময়কাল
  • অপারেটিং সিস্টেম
  • ডিভাইস মডেল
  • ভূগোল

এই নির্দেশিকাটি ব্যাখ্যা করবে যে আপনি কীভাবে আপনার ব্যবহারকারীদের এবং তাদের আচরণকে আরও ভালভাবে বোঝার জন্য অতিরিক্ত Google Analytics বৈশিষ্ট্যগুলি প্রয়োগ করতে পারেন৷

তুমি শুরু করার আগে

মোবাইল অ্যাপের জন্য Google Analytics সেট আপ করতে এই গাইডের মাধ্যমে কাজ করার আগে:

ওভারভিউ

ড্রাগন ক্যাচার

এই নির্দেশিকাটি আপনাকে অতিরিক্ত Google Analytics বৈশিষ্ট্য বাস্তবায়নের মাধ্যমে নিয়ে যেতে একটি নমুনা অ্যাপ ব্যবহার করে। অ্যাপটিকে ড্রাগন ক্যাচার বলা হয় এবং এতে নিম্নলিখিত গেমপ্লে বৈশিষ্ট্য রয়েছে:

  • একটি স্তর একটি প্লেয়ার, ড্রাগন, একটি বেড়া এলাকা, একটি কূপ এবং গাছ নিয়ে গঠিত
  • প্লেয়ারের উদ্দেশ্য হল ড্রাগনগুলিকে বেড়াযুক্ত এলাকায় সরিয়ে নিয়ে ধরা
  • প্লেয়ার লেভেলের বিভিন্ন এলাকা এবং কূপ বা জাদু গাছের মতো বস্তু দেখতে পারে
  • সমস্ত ড্রাগন ধরার পরে প্লেয়ার পরবর্তী স্তরে অগ্রসর হয়
  • প্লেয়ার প্রথম স্তরে খেলা শুরু করে যার নাম ব্যারেন ফিল্ডস।

গুগল অ্যানালিটিক্স ব্যবহার করে, ব্যবহারকারীর আচরণ সম্পর্কে কিছু প্রশ্ন যা ড্রাগন ক্যাচার সম্পর্কে উত্তর দেওয়া যেতে পারে:

ড্রাগন ক্যাচার গেমের জন্য Google Analytics বৈশিষ্ট্যগুলি প্রয়োগ করে কীভাবে এই প্রশ্নগুলির উত্তর দেওয়া যেতে পারে তা এই নথির বাকি অংশটি ব্যাখ্যা করে৷

আমার ব্যবহারকারীরা কি কর্ম সম্পাদন করছে? (ঘটনা)

যদি আপনার অ্যাপের মধ্যে এমন গুরুত্বপূর্ণ অ্যাকশন থাকে যা আপনি ট্র্যাক করতে চান তাহলে Google Analytics-এ এই অ্যাকশনটি বর্ণনা করতে ইভেন্ট ব্যবহার করা যেতে পারে। একটি ইভেন্ট চারটি প্যারামিটার নিয়ে গঠিত: category , action , label এবং value

উদাহরণস্বরূপ, ড্রাগন ক্যাচারে , একজন ব্যবহারকারী একটি ড্রাগনকে উদ্ধার করা বা স্তরের একটি নির্দিষ্ট এলাকা পরিদর্শন করা হল গুরুত্বপূর্ণ ক্রিয়া যা আমরা ইভেন্ট ব্যবহার করে পরিমাপ করতে চাই। নিচের কোড স্নিপেটটি Google Analytics-এ কীভাবে এটি পরিমাপ করা যায় তা ব্যাখ্যা করে।

অ্যান্ড্রয়েড এসডিকে

// 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 SDK

// 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]];

একতার জন্য 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-এ পাঠানো হয়:

অ্যান্ড্রয়েড এসডিকে

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 SDK

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]];
  }
}

একতার জন্য 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-এ পাঠানো হয়:

অ্যান্ড্রয়েড এসডিকে

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 SDK

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]];

একতার জন্য 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-এ লেনদেনের ডেটা পাঠানোর সময় আপনাকে আসল অর্থের বিনিময় পরিমাপ করার পরামর্শ দেওয়া হয়। যখন ব্যবহারকারী আইটেম কেনার জন্য ভার্চুয়াল মুদ্রা ব্যয় করে তখন ইভেন্ট ব্যবহার করে এটি পরিমাপ করুন। উদাহরণ স্বরূপ:

অ্যান্ড্রয়েড এসডিকে

/**
 * 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 SDK

/**
 * 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]];

একতার জন্য 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 পরিবর্তিত হয়েছে:

অ্যান্ড্রয়েড এসডিকে

// 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 SDK

// 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]];

একতার জন্য 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 অন্তর্ভুক্ত করতে পারে৷ ব্যবহারকারীর সময় কীভাবে কাজ করে সে সম্পর্কে জানতে সাইট স্পিড সম্পর্কে দেখুন।

উদাহরণস্বরূপ, ড্রাগন ক্যাচারে একজন ব্যবহারকারীকে তাদের প্রথম ড্রাগন উদ্ধার করতে কতক্ষণ সময় লাগে তা পরিমাপ করতে আপনি কিছু পাঠাতে পারেন:

অ্যান্ড্রয়েড এসডিকে

// 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 SDK

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

একতার জন্য GA প্লাগইন

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

কাস্টম সময়ের জন্য বিকাশকারী গাইড

কাস্টম সময়ের জন্য রিপোর্টিং

কাস্টম টাইমিং ডেটা এখানে উপলব্ধ:

  • অ্যানালিটিক্স একাডেমি - মোবাইল অ্যাপ অ্যানালিটিক্স ফান্ডামেন্টাল সহ বিনামূল্যের অনলাইন কোর্সের মাধ্যমে আপনার অ্যানালিটিক্স দক্ষতা উন্নত করুন।
  • সংগ্রহ API এবং SDK - আপনি Google Analytics-এ ডেটা পাঠাতে পারেন এমন সমস্ত উপায় সম্পর্কে জানুন৷