AdMob'Firebase 102 Unity: কোনো অ্যাপ আপডেট ছাড়াই অ্যাপের আচরণকে সূক্ষ্ম-টিউন করুন

1. ভূমিকা

আসুন ধরে নিই যে আপনি প্লে স্টোরে আপনার অ্যাপটি প্রকাশ করার পরে আপনার অ্যাপে কিছু প্যারামিটারের মান সামঞ্জস্য করতে হবে। সাধারণত, আপনার অ্যাপের একটি নতুন সংস্করণ পুনঃপ্রকাশ করা উচিত এবং ব্যবহারকারীদের তাদের ফোনেও অ্যাপটি আপডেট করা উচিত।

সাধারণভাবে, অ্যাপ আপডেট কাজ করবে যদি আপনি আপনার অ্যাপে দীর্ঘস্থায়ী পরিবর্তন করতে চান। যাইহোক, যদি আপনি ঘন ঘন আপনার অ্যাপে কিছু প্যারামিটারের মান সামঞ্জস্য করতে যাচ্ছেন? অথবা, যদি আপনি অনুকূল অ্যাপ কনফিগারেশন খুঁজে পেতে কিছু পরীক্ষা চালাতে চান?

এই ক্ষেত্রে, অ্যাপ আপডেট ভাল কাজ করবে না। কারণ আপডেটটি সম্পূর্ণরূপে ব্যবহারকারীদের কাছে প্রচার না হওয়া পর্যন্ত এটির জন্য কিছু সময় প্রয়োজন। এছাড়াও, বেশ কয়েকটি অ্যাপ সংস্করণ জুড়ে পরীক্ষা চালানো বেশ চ্যালেঞ্জিং।

এছাড়াও, অ্যাপটির ব্যবহারকারীর যাত্রা উদ্দেশ্য অনুযায়ী কাজ করছে কিনা তা আপনি কীভাবে নির্ধারণ করতে পারেন? আপনি প্লে কনসোলে ব্যবহারকারীর মন্তব্যের উপর নির্ভর করতে পারেন। যাইহোক, এটি একটি স্পষ্ট সিদ্ধান্ত নেওয়ার জন্য যথেষ্ট সুনির্দিষ্ট নাও হতে পারে।

আপনি কি শিখবেন

  • Firebase-এর জন্য Google Analytics-এ কীভাবে একটি ফানেল তৈরি করবেন
  • ফায়ারবেস রিমোট কনফিগারেশন কিভাবে ব্যবহার করবেন
  • ফায়ারবেস এ/বি টেস্টিং কীভাবে চালাবেন

আপনি কি প্রয়োজন হবে

  • ইউনিটি 2018.4.4f1 বা উচ্চতর
  • Xcode 10 বা উচ্চতর (iOS-এর লক্ষ্য তৈরি করতে)
  • একটি Google অ্যাকাউন্ট
  • আপনার ডিভাইসের সাথে সংযোগ করার জন্য একটি USB কেবল সহ Android 5.0+ এর একটি পরীক্ষামূলক ডিভাইস, অথবা Play Store/Google API সমর্থন করে এমন একটি সিস্টেম চিত্র সহ AVD(Android ভার্চুয়াল ডিভাইস) চালিত একটি Android এমুলেটর
  • একটি iOS ডিভাইস বা একটি সিমুলেটর যা iOS 8.0 বা উচ্চতর চলমান

AdMob-এর সাথে আপনার অভিজ্ঞতার স্তরকে আপনি কীভাবে রেট করবেন?

নবজাতক মধ্যবর্তী দক্ষ

ফায়ারবেসের সাথে আপনার অভিজ্ঞতার স্তরকে আপনি কীভাবে মূল্যায়ন করবেন?

নবজাতক মধ্যবর্তী দক্ষ

2. সেটআপ উন্নয়ন পরিবেশ

কোডটি ডাউনলোড করুন

এই কোডল্যাবের জন্য সমস্ত কোড ডাউনলোড করতে নিম্নলিখিত বোতামে ক্লিক করুন:

ডাউনলোড করা জিপ ফাইলটি আনপ্যাক করুন। এটি admob-firebase-codelabs-unity-master নামে একটি রুট ফোল্ডার আনপ্যাক করবে।

...অথবা কমান্ড লাইন থেকে GitHub সংগ্রহস্থল ক্লোন করুন।

$ git clone https://github.com/googlecodelabs/admob-firebase-codelabs-unity

সংগ্রহস্থলে নিম্নরূপ চারটি ফোল্ডার রয়েছে:

  • android_studio_folder.png 101-বেস — শুরু করার কোড যা আপনি এই কোডল্যাবে তৈরি করবেন।
  • android_studio_folder.png 101-complete_and_102-base — এই কোডল্যাবের জন্য সম্পূর্ণ কোড এবং 102 কোডল্যাবের জন্য স্টার্টার।
  • android_studio_folder.png 102-সম্পূর্ণ — 102 কোডল্যাবের জন্য সম্পূর্ণ কোড।

প্রয়োজনীয় ফাইল প্রস্তুত করুন

অসাধারন অঙ্কন ক্যুইজটি বেশ কয়েকটি ওপেন-সোর্স কোড ব্যবহার করে, যা প্রকল্পটি সংকলন এবং চালানোর জন্য প্রয়োজন।

টার্মিনাল খুলুন, এবং রিপোজিটরি রুট ডিরেক্টরিতে যান। তারপর, প্রজেক্টে প্রয়োজনীয় ফাইল কপি করতে টার্মিনাল থেকে ./gradlew :prepareThirdPartyFiles ( gradlew.bat :prepareThirdPartyFiles ) চালান।

স্টার্টার অ্যাপ আমদানি করুন

ইউনিটি চালু করুন, স্বাগত স্ক্রিনে "খুলুন" নির্বাচন করুন। তারপর আপনার ডাউনলোড করা কোড থেকে 101-complete_and_102-বেস ডিরেক্টরি নির্বাচন করুন।

আপনার এখন ইউনিটিতে প্রকল্পটি খোলা উচিত।

Google মোবাইল বিজ্ঞাপন ইউনিটি প্লাগইন যোগ করুন

ইউনিটি অ্যাপে AdMob বিজ্ঞাপন পরিবেশন করতে, আপনাকে প্রোজেক্টে Google মোবাইল বিজ্ঞাপন ইউনিটি প্লাগইন যোগ করতে হবে।

  1. Google Mobile Ads Unity Plugin 3.18.1 প্যাকেজ ডাউনলোড করুন। (মনে রাখবেন যে এই কোডল্যাব প্লাগইনের অন্য সংস্করণের সাথে সামঞ্জস্যপূর্ণ নাও হতে পারে)
  2. অসাধারণ অঙ্কন কুইজ ইউনিটি প্রকল্পে। প্রকল্পে, সম্পদ > আমদানি প্যাকেজ > কাস্টম প্যাকেজে নেভিগেট করুন।
  3. আপনি যে প্রকল্পটি ডাউনলোড করেছেন তাতে GoogleMobileAds.unitypackage আমদানি করুন।

আপনাকে AdMob অ্যাপ আইডিও সেট করতে হবে। ইউনিটি এডিটরে, মেনু থেকে সম্পদ > Google মোবাইল বিজ্ঞাপন > সেটিংস নির্বাচন করুন।

44fc84fe88235c1f.png

Google AdMob বিভাগের অধীনে সক্রিয় চেকবক্সে ক্লিক করে AdMob সক্ষম করুন৷ তারপর AdMob অ্যাপ আইডিটি নিম্নরূপ লিখুন:

  • অ্যান্ড্রয়েড: ca-app-pub-3940256099942544~3048611032
  • iOS: ca-app-pub-3940256099942544~2753522596

a6ad7402d4daf330.png

ইউনিটি প্রজেক্টে ফায়ারবেস কনফিগারেশন ফাইল যোগ করুন

  1. অসাধারণ অঙ্কন কুইজ প্রকল্পের ওভারভিউ স্ক্রীন থেকে, সেটিংস আইকনে ক্লিক করুন। 9bacb5ada7cbaaf6.png
  2. সাধারণ ট্যাবের অধীনে, google-service.json (Android-এর জন্য) এবং GoogleService-Info.plist (iOS-এর জন্য) ফাইল ডাউনলোড করতে প্রতিটি Android এবং iOS অ্যাপ নির্বাচন করুন।
  3. উভয় কনফিগারেশন ফাইলে সরান android_studio_folder.png ইউনিটি প্রকল্পে সম্পদ ফোল্ডার।

704aa8e97df63c4e.png

Firebase Analytics SDK যোগ করুন

  1. Firebase Unity SDK 5.5.0 ডাউনলোড করুন এবং এটিকে সুবিধাজনক জায়গায় আনজিপ করুন। (আপনি যদি ইতিমধ্যে SDK ডাউনলোড করে থাকেন তবে এই ধাপটি এড়িয়ে যান)
  2. অসাধারণ অঙ্কন কুইজ ইউনিটি প্রকল্পটি খুলুন, সম্পদ > আমদানি প্যাকেজ > কাস্টম প্যাকেজে নেভিগেট করুন।
  3. আনজিপ করা SDK থেকে, Firebase Analytics SDK ( dotnet4/FirebaseAnalytics.unitypackage ) আমদানি করুন।
  4. ইম্পোর্ট ইউনিটি প্যাকেজ উইন্ডোতে, আমদানি ক্লিক করুন।

3. কনসোল থেকে Firebase প্রকল্প খুলুন

পরবর্তী ধাপে যাওয়ার আগে, AdMob+Firebase 101 Codelab- এর 'সেটআপ Firebase প্রজেক্ট' ধাপে আপনি যে Firebase কনসোলটি তৈরি করেছেন সেটি থেকে প্রজেক্টটি খুলুন।

e0a028059c9e00cb.png

4. অ্যাপ ইভেন্টগুলির একটি ফানেল তৈরি করুন৷

অ্যাপের ভিতরে ব্যবহারকারীর কার্যকলাপ ট্র্যাক করতে আপনি যোগ করেছেন এমন কয়েকটি অ্যাপ ইভেন্ট থাকতে পারে। প্রতিটি অ্যাপ ইভেন্টের রিপোর্ট পড়ে, আপনি ইভেন্টের সাথে সম্পর্কিত বিশদ বিবরণ পেতে পারেন যেমন মোট সংখ্যা, প্রতি ব্যবহারকারীর গড় গণনা, জনসংখ্যা ইত্যাদি।

যাইহোক, যদি আপনি একটি নির্দিষ্ট ইভেন্টে ফোকাস করার পরিবর্তে ইভেন্টের একটি সিরিজের সমাপ্তির হার দেখতে চান? Firebase-এর জন্য Google Analytics-এ, আপনি অ্যাপ ইভেন্টের সিরিজের সমাপ্তির হারকে কল্পনা ও অপ্টিমাইজ করতে ফানেল ব্যবহার করতে পারেন।

একটি ফানেল তৈরি করুন

একটি ফানেল তৈরি করতে:

  1. Firebase কনসোলে যান এবং আপনার আগে তৈরি করা অসাধারণ অঙ্কন কুইজ প্রকল্পটি নির্বাচন করুন।
  2. ফানেলে ক্লিক করুন।
  3. নতুন ফানেলে ক্লিক করুন।
  4. ফানেলের জন্য একটি নাম এবং বিবরণ লিখুন।
  5. ফানেলের ধাপ হিসেবে আপনি ব্যবহার করতে চান এমন প্রথম দুটি ইভেন্ট নির্বাচন করুন।
  6. প্রতিটি অতিরিক্ত পদক্ষেপের জন্য আরেকটি ইভেন্ট যোগ করুন ক্লিক করুন এবং একটি ইভেন্ট নির্বাচন করুন।
  7. CREATE এ ক্লিক করুন।

উপরের ধাপগুলি অনুসরণ করে, নিম্নলিখিত ফানেলগুলি তৈরি করুন:

#1 ফানেলের নাম: স্তরের সাফল্যের হার ইভেন্ট: level_start , level_success d3bc78ef61a261d7.png

#2 ফানেলের নাম: পুরস্কৃত বিজ্ঞাপন সমাপ্তির হার ইভেন্ট: ad_reward_prompt , ad_reward_impression , ad_reward 45c9542dfa663014.png

#3 ফানেলের নাম: গেম সমাপ্তির হার ইভেন্ট: game_start , game_complete dab25e8501746d5f.png

ফানেল বিশ্লেষণ দেখুন

একবার আপনি কিছু ফানেল তৈরি করলে, আপনি Firebase কনসোলের ফানেল মেনুতে এটি অ্যাক্সেস করতে পারবেন। তালিকায় ফানেলের নামে ক্লিক করে, আপনি প্রতিটি ফানেলের বিশদ বিশ্লেষণ দেখতে পারেন।

620c0e84587c8ad4.png

উদাহরণ হিসেবে, লেভেল সাকসেস রেট ক্লিক করুন। এটি নিম্নরূপ ফানেলের বিবরণ দেখাবে:

c889f9b6ece15847.png

উপরের স্ক্রিনশট থেকে, আপনি দেখতে পাচ্ছেন যে % ব্যবহারকারী যারা একটি স্তর শুরু করার পরে একটি স্তর সাফ করেছেন ( level_success ইভেন্টটি ট্রিগার করেছেন) ( level_start ইভেন্টটি ট্রিগার করেছেন)। এখানে, আপনি দেখতে পাচ্ছেন যে 46.2% ব্যবহারকারী স্তরটি সাফ করেছেন।

একবার আপনি ইভেন্ট গণনা ক্লিক করলে, এটি নিম্নলিখিত ইভেন্টের সংখ্যার উপর ভিত্তি করে মেট্রিক্স দেখাবে:

d044fb7b07e6e0d9.png

উপরের স্ক্রিনশটের মেট্রিক্সের উপর ভিত্তি করে, এই সময়কালে 116টি প্রচেষ্টা (লেভেল_স্টার্ট ইভেন্টটি ট্রিগার করেছে) এবং 57টি ক্লিয়ার (লেভেল_সফল ইভেন্টটি ট্রিগার করেছে) হয়েছে।

যেহেতু ইভেন্টগুলির উপর ভিত্তি করে সমাপ্তির হার (49.1%) ব্যবহারকারীর উপর ভিত্তি করে (46.2%) হারের চেয়ে সামান্য বেশি, আপনি বলতে পারেন যে কিছু লোক আছে যারা অন্যদের থেকে ভাল পারফর্ম করে।

5. অ্যাপে রিমোট কনফিগারেশন ইন্টিগ্রেট করুন

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

Firebase-এ রিমোট কনফিগারেশন ব্যবহার করে, আপনি কোনো অ্যাপ আপডেট ছাড়াই সেই মানগুলি সামঞ্জস্য করতে পারেন, যার মানে আপনি আপনার ব্যবহারকারীদের আপডেট ডাউনলোড করতে বাধ্য করে বিরক্ত না করেই অ্যাপের আচরণ পরিবর্তন করতে পারেন।

এই কোডল্যাবে, আপনি রিমোট কনফিগারেশন ব্যবহার করে অ্যাপ আপডেট ছাড়াই কীভাবে পুরস্কারের পরিমাণ (একটি পুরস্কৃত ভিডিও বিজ্ঞাপন দেখার পরে প্রকাশ করতে হবে এমন চিঠির সংখ্যা) সামঞ্জস্যযোগ্য করতে শিখবেন।

Firebase রিমোট কনফিগারেশন SDK যোগ করুন

  1. Firebase Unity SDK 5.5.0 ডাউনলোড করুন এবং এটিকে সুবিধাজনক জায়গায় আনজিপ করুন।
  2. অসাধারণ অঙ্কন কুইজ ইউনিটি প্রকল্পটি খুলুন, সম্পদ > আমদানি প্যাকেজ > কাস্টম প্যাকেজে নেভিগেট করুন।
  3. আনজিপ করা SDK থেকে, Remote Config SDK ( dotnet4/FirebaseRemoteConfig.unitypackage ) আমদানি করুন৷
  4. ইম্পোর্ট ইউনিটি প্যাকেজ উইন্ডোতে, আমদানি ক্লিক করুন।

Firebase.RemoteConfig আমদানি করুন

সম্পূর্ণ যোগ্য নাম ব্যবহার না করেই Firebase.RemoteConfig থেকে টাইপ ব্যবহার করার জন্য Main.cs পরিবর্তন করুন।

দৃশ্য/Main.cs

...

using AwesomeDrawingQuiz.Game;

// TODO: Import Firebase.RemoteConfig (102)
using Firebase.RemoteConfig;

namespace AwesomeDrawingQuiz.Scene {
    ...
}

রিমোট কনফিগার মান শুরু করুন এবং আনুন

Remote Config ইনস্ট্যান্স শুরু করার জন্য Main.csInitAndFetchRemoteConfig() পদ্ধতি পরিবর্তন করুন। মনে রাখবেন GameSettings.KEY_REWARD_AMOUNT রিমোট কনফিগে প্যারামিটারের নাম ধারণ করে। (আপনি শীঘ্রই এই কোডল্যাবে এই ক্ষেত্রটি ঘোষণা করবেন)

দৃশ্য/Main.cs

private Task InitAndFetchRemoteConfig() {
    // TODO: Initialize and Fetch values from the Remote Config (102)
    Dictionary<string, object> defaults = new Dictionary<string, object>();
    defaults.Add(GameSettings.KEY_REWARD_AMOUNT, 1);
    FirebaseRemoteConfig.SetDefaults(defaults);

    if (Debug.isDebugBuild) {
        ConfigSettings config = new ConfigSettings();
        config.IsDeveloperMode = true;
        FirebaseRemoteConfig.Settings = config;
        return FirebaseRemoteConfig.FetchAsync(System.TimeSpan.Zero);
    } else {
        return FirebaseRemoteConfig.FetchAsync();
    }
}

আপনি দেখতে পাবেন যে FirebaseRemoteConfig দৃষ্টান্তটি ডেভেলপমেন্ট প্রক্রিয়ায় সাহায্য করার জন্য ডিবাগ মোডে সার্ভার থেকে সর্বশেষ মানগুলি আনার জন্য কনফিগার করা হয়েছে। ( IsDeveloperMode = true এবং FetchAsync(System.TimeSpan.Zero) )

আনা রিমোট কনফিগার মান সক্রিয় করুন

আপনি যখন সফলভাবে রিমোট কনফিগার মানগুলি আনেন, তখন আপনাকে সেই মানগুলিকে অ্যাপে উপলব্ধ করতে সক্রিয় করতে হবে। ActivateRemoteConfigValues() পদ্ধতিটি নিম্নরূপ পরিবর্তন করুন।

দৃশ্য/Main.cs

private void ActivateRemoteConfigValues() {
    // TODO: Activate fetched Remote Config values (102)
    FirebaseRemoteConfig.ActivateFetched();
}

Start() পদ্ধতি পরিবর্তন করুন

অ্যাপটি চালু করার সময় রিমোট কনফিগার মানটি আনতে এবং সক্রিয় করতে, Main.cs ফাইলে Start() পদ্ধতিটি নিম্নরূপ পরিবর্তন করুন।

দৃশ্য/Main.cs

void Start () {
    ...
    Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task => {
        ...
    }).ContinueWith(task => { 
        // TODO: Call InitAndFetchRemoteConfig() (102)
        InitAndFetchRemoteConfig();
    }).ContinueWith(task => {
        // TODO: Call ActivateRemoteConfigValues() (102)
        ActivateRemoteConfigValues();

        // Enable 'Start a game' button
        UnityMainThreadDispatcher.Instance()
            .Enqueue(() => buttonStartGame.interactable = true);
    });
    #else
    QuizAnalytics.SetScreenName(QuizAnalytics.SCREEN_MAIN);

    // TODO: Call InitAndFetchRemoteConfig() (102)
    InitAndFetchRemoteConfig().ContinueWith(task => {
        // TODO: Call ActivateRemoteConfigValues() (102)
        ActivateRemoteConfigValues();
    });
    #endif
}

রিমোট কনফিগারেশন থেকে পুরস্কারের পরিমাণ আনুন

রিমোট কনফিগারেশন থেকে পুরস্কারের পরিমাণ আনতে GameSettings ক্লাস পরিবর্তন করুন।

Game/GameSettings.cs

// TODO: Import Firebase.RemoteConfig (102)
using Firebase.RemoteConfig;

namespace AwesomeDrawingQuiz.Game {
    public class GameSettings {

        ...
        
        // TODO: Apply reward amount from the Remote Config (102)
        public const string KEY_REWARD_AMOUNT = "reward_amount";

        public static GameSettings Instance {
            get {
                return instance;
            }
        }

        ...

        public int RewardAmount {
            get {
                // TODO: Apply reward amount from the Remote Config (102)
                return (int) FirebaseRemoteConfig.GetValue(KEY_REWARD_AMOUNT).LongValue;
            }
            private set { }
        }
    }
}

কনসোল থেকে একটি রিমোট কনফিগ প্যারামিটার তৈরি করুন

এর পরে, আপনি পুরষ্কারের পরিমাণের জন্য একটি নতুন রিমোট কনফিগার প্যারামিটার তৈরি করবেন যাতে আপনি ফ্লাইতে এর মান সামঞ্জস্য করতে পারেন।

একটি নতুন প্যারামিটার তৈরি করতে, Firebase কনসোলে যান, তারপর আপনার আগে তৈরি করা অসাধারণ অঙ্কন কুইজ প্রকল্পটি নির্বাচন করুন৷ রিমোট কনফিগারে ক্লিক করুন -> আপনার প্রথম প্যারামিটার বোতাম যোগ করুন

7f52617141c53726.png

প্যারামিটারটিকে reward_amount হিসাবে নাম দিন এবং এর ডিফল্ট মান 1 এ সেট করুন। তারপর অ্যাড প্যারামিটার বোতামে ক্লিক করুন।

cbc771fd1685b29c.png

পরিবর্তনগুলি ব্যবহারকারীদের কাছে লাইভ করতে পরিবর্তনগুলি প্রকাশ করুন বোতামে ক্লিক করুন৷

d6a6aa4a60e06ee9.png

6. রিমোট কনফিগারেশন দিয়ে অ্যাপের আচরণ পরিবর্তন করুন

অসাধারণ অঙ্কন কুইজে পুরস্কারের পরিমাণ এখন অ্যাপ কোড আপডেট না করেই Firebase কনসোলে কনফিগার করা যেতে পারে।

এই বিভাগে, আপনি পুরস্কারের পরিমাণ 1 থেকে 2 এ পরিবর্তন করতে যাচ্ছেন যাতে অ্যাপটিকে একটি পুরস্কৃত বিজ্ঞাপন দেখার পরে একটি ইঙ্গিত হিসাবে আরও দুটি অক্ষর প্রকাশ করতে পারে।

reward_amount প্যারামিটারের ডিফল্ট মান আপডেট করুন

Firebase কনসোলে যান, তারপর আপনার আগে তৈরি করা অসাধারণ অঙ্কন কুইজ প্রকল্পটি নির্বাচন করুন। Remote Config-এ ক্লিক করুন এবং তালিকা থেকে reward_amount ক্লিক করুন। এরপরে, ডিফল্ট মান 2 এ পরিবর্তন করুন তারপর আপডেট বোতামে ক্লিক করুন।

9a9bd8a26a39bfe3.png

পরিবর্তনগুলি ব্যবহারকারীদের কাছে লাইভ করতে পরিবর্তনগুলি প্রকাশ করুন বোতামে ক্লিক করুন৷

d6a6aa4a60e06ee9.png

অ্যাপের আচরণ পরিবর্তন যাচাই করুন

অ্যাপের আচরণের পরিবর্তন নিশ্চিত করতে, প্রকল্পটি আবার চালান। একবার আপনি একটি পুরস্কৃত বিজ্ঞাপন দেখা শেষ করলে, আপনি লক্ষ্য করবেন যে অ্যাপটি এখন পুরস্কার হিসাবে দুটি অক্ষর প্রকাশ করে, যেমনটি আমরা রিমোট কনফিগার কনসোলে কনফিগার করেছি।

একটি পুরস্কৃত বিজ্ঞাপন দেখার আগে

পুরস্কার হিসাবে দুটি অতিরিক্ত চিঠি প্রকাশ

7. পুরস্কারের পরিমাণ অপ্টিমাইজ করতে পরীক্ষা তৈরি করুন

এখন আপনি একটি অ্যাপ আপডেট প্রকাশ না করেই পুরস্কারের পরিমাণ পরিবর্তন করতে পারবেন। যাইহোক, আপনি যে পরিমাণ পরিবর্তন করেছেন তা অ্যাপের জন্য ভাল তা কীভাবে নির্ধারণ করবেন?

Firebase A/B টেস্টিং এর মাধ্যমে, আপনি কোনো অ্যাপ আপডেট না করে বা প্রতিটি পরীক্ষার পারফরম্যান্স চালানোর জন্য এবং ট্র্যাক করার জন্য একটি পৃথক টুল তৈরি করার প্রয়োজন ছাড়াই অ্যাপের সামগ্রিক ব্যবহারকারীর অভিজ্ঞতা অপ্টিমাইজ করতে পরীক্ষা চালাতে পারেন।

পরীক্ষা ডিজাইন করুন

একটি নতুন পরীক্ষা তৈরি করার আগে, আপনার পরীক্ষার একটি পরিষ্কার উদ্দেশ্য বা লক্ষ্য নির্ধারণ করা উচিত। আপনি একটি নতুন পরীক্ষা তৈরি করার আগে নিম্নলিখিত চেকলিস্টের মাধ্যমে যেতে ভুলবেন না।

  • কি: আপনি কি অপ্টিমাইজ করতে চান? (যেমন, খেলার অসুবিধা, বিজ্ঞাপনের সময়/দৃশ্যমানতা, ইত্যাদি)
  • কেন: পরীক্ষা চালানোর জন্য আপনার ব্যবসার লক্ষ্য কী? (উদাহরণস্বরূপ, বিজ্ঞাপনের আয় বাড়াতে, ধারণ বাড়ানোর জন্য, ইত্যাদি)
  • কে: কে পরীক্ষায় থাকতে হবে? (যেমন, সমস্ত ব্যবহারকারী, নির্দিষ্ট ব্যবহারকারী দর্শক, ইত্যাদি)

এই কোডল্যাবে, আপনি অসাধারণ অঙ্কন কুইজের দৈনিক ব্যবহারকারীর ব্যস্ততা বাড়াতে পুরস্কারের পরিমাণ মান অপ্টিমাইজ করার জন্য একটি পরীক্ষা তৈরি করতে যাচ্ছেন।

পরীক্ষা তৈরি করুন

Firebase কনসোল থেকে অসাধারণ অঙ্কন কুইজ প্রকল্পটি খুলুন। A/B টেস্টিং মেনু নির্বাচন করুন, তারপর পরীক্ষা তৈরি করুন বোতামে ক্লিক করুন।

একটি দূরবর্তী কনফিগার পরীক্ষা তৈরি করতে রিমোট কনফিগ নির্বাচন করুন।

f38a85328ab54e7e.png

নিম্নলিখিত স্ক্রিনশটে দেখানো হিসাবে 'পুরস্কারের পরিমাণ' হিসাবে পরীক্ষাটির নাম দিন।

15d552adb61c0b08.png

টার্গেটিং অপশন কনফিগার করুন। এই কোডল্যাবে, আপনি অসাধারণ অঙ্কন কুইজের 100% ব্যবহারকারীদের লক্ষ্য করতে যাচ্ছেন।

61b316741a63050f.png

যেহেতু পরীক্ষার মূল উদ্দেশ্য হল একটি সর্বোত্তম মান খুঁজে বের করা যা দৈনিক ব্যবহারকারীর ব্যস্ততাকে সর্বাধিক করে, তাই ট্র্যাক করার জন্য প্রাথমিক মেট্রিক হিসাবে দৈনিক ব্যবহারকারীর ব্যস্ততা নির্বাচন করুন।

694641b57d90ff65.png

সবশেষে, সেটআপ কন্ট্রোল এবং ভেরিয়েন্ট গ্রুপ যাতে আপনি বুঝতে পারেন কোন গ্রুপ ভালো পারফর্ম করে। কন্ট্রোল গ্রুপ থেকে reward_amount নির্বাচন করুন এবং এর মান অপরিবর্তিত রাখুন। ভেরিয়েন্ট গ্রুপের জন্য, এটিকে 'কম পুরস্কার' হিসেবে নাম দিন, তারপর reward_amount এর মান 1 এ পরিবর্তন করুন।

10ed7f5b06858519.png

এই কনফিগারেশনের মাধ্যমে, 'কম পুরষ্কার' গ্রুপের লোকেরা পুরস্কার হিসাবে একটি চিঠি পাবে, যখন কন্ট্রোল গ্রুপের লোকেরা পুরস্কার হিসাবে দুটি চিঠি পাবে। ফলস্বরূপ, আপনি দেখতে যাচ্ছেন কিভাবে পুরস্কারের পরিমাণ ব্যবহারকারীদের উপর প্রভাব ফেলে।

একবার আপনি পর্যালোচনা বোতামে ক্লিক করলে, আপনি নিম্নরূপ পরীক্ষার একটি ওভারভিউ দেখতে পাবেন।

ae6477ce79f6265d.png

পরীক্ষা চালান

পরীক্ষা চালানোর জন্য স্টার্ট এক্সপেরিমেন্ট বোতামে ক্লিক করুন। মনে রাখবেন যে একবার এটি শুরু হলে আপনি পরীক্ষা কনফিগারেশন পরিবর্তন করতে পারবেন না।

7131bf9b4fa74fa5.png

8. পরীক্ষা পরিচালনা করুন

পরীক্ষার অগ্রগতি দেখুন

আপনি ফায়ারবেস কনসোলে A/B টেস্টিং মেনু থেকে পরীক্ষার অগ্রগতি পরীক্ষা করতে পারেন, যা নিচের স্ক্রিনশটের মতো দেখাবে। নোট করুন যে আপনি কার্ডে শেষ 30 মিনিটে পরীক্ষায় অংশগ্রহণকারী ব্যবহারকারীর সংখ্যাও দেখতে পারেন।

8a7009bdd8871d95.png

একবার আপনি তালিকা থেকে পরীক্ষায় ক্লিক করলে, আপনি পরীক্ষার বিশদ দেখতে পাবেন। যতক্ষণ না পরীক্ষাটি একজন নেতাকে ঘোষণা করতে পারে (অর্থাৎ, সেরা পারফরম্যান্সের বৈকল্পিক), আপনি দেখতে পাবেন 'একজন নেতা ঘোষণা করা খুব তাড়াতাড়ি' বার্তা।

a4e7ca3e3f4711cd.png

একবার পরীক্ষাটি কিছুক্ষণের জন্য চললে, এটি এখন পর্যন্ত পরীক্ষা চলাকালীন সংগৃহীত ডেটা ইমপ্রুভমেন্ট ওভারভিউ বিভাগের অধীনে প্রদর্শন করা শুরু করবে। কোনটি ভাল পারফর্ম করে তা দেখতে আপনি প্রতিটি ভেরিয়েন্টের কর্মক্ষমতা তুলনা করতে পারেন। নিম্নলিখিত স্ক্রিনশটটি উন্নতি ওভারভিউ বিভাগের একটি উদাহরণ দেখায়।

e2d00fc27c053fd3.png

উন্নতি ওভারভিউ বিভাগের নীচের সারণী থেকে, আপনি পরীক্ষার লক্ষ্য মেট্রিক্সের বিশদ বিবরণের পাশাপাশি পরীক্ষায় ট্র্যাক করা অতিরিক্ত মেট্রিকগুলি পরীক্ষা করতে পারেন। নিম্নলিখিত স্ক্রিনশটটি মেট্রিক্সের বিবরণ বিভাগের একটি উদাহরণ দেখায়।

c3859d642f85cc52.png

সমস্ত ব্যবহারকারীদের কাছে নেতাকে রোল আউট করুন

পরীক্ষাটি দীর্ঘ সময় ধরে চলার পরে আপনার একজন নেতা বা বিজয়ী ভেরিয়েন্ট আছে, আপনি 100% ব্যবহারকারীর কাছে পরীক্ষাটি রোল আউট করতে পারেন। একবার A/B টেস্টিং একটি পরিষ্কার লিডার খুঁজে পেলে, এটি আপনাকে সমস্ত ব্যবহারকারীর কাছে অগ্রণী ভেরিয়েন্ট রোল আউট করতে উত্সাহিত করবে।

86cb6a6c07516634.png

যাইহোক, এমনকি যদি পরীক্ষাটি একটি স্পষ্ট নেতা ঘোষণা না করে, তবুও আপনি সমস্ত ব্যবহারকারীর জন্য একটি বৈকল্পিক রোল আউট করতে বেছে নিতে পারেন।

পরীক্ষার বিবরণ স্ক্রিনে, প্রসঙ্গ মেনুতে ক্লিক করুন ( 73afe611adf58774.png ), এবং তারপর রোল আউট ভেরিয়েন্টে ক্লিক করুন।

374e1c72be1d0656.png

সমস্ত ব্যবহারকারীর কাছে রোল আউট করার জন্য একটি বৈকল্পিক চয়ন করুন, তারপর রিমোট কনফিগে পরিবর্তন করার আগে পরিবর্তনগুলি পর্যালোচনা করতে রিমোট কনফিগারে রিভিউ বোতামে ক্লিক করুন৷

e176f6e6a72c754.png

খসড়াটিতে কোন সমস্যা নেই তা নিশ্চিত করার পরে, পরিবর্তনগুলি সমস্ত ব্যবহারকারীর কাছে লাইভ করতে পরিবর্তনগুলি প্রকাশ করুন বোতামে ক্লিক করুন৷

d65d545620ce93f6.png

9. সব সম্পন্ন!

আপনি AdMob+Firebase 102 ইউনিটি কোডল্যাব সম্পূর্ণ করেছেন। আপনি এই কোডল্যাবের জন্য সম্পূর্ণ কোড খুঁজে পেতে পারেন android_studio_folder.png 102-সম্পূর্ণ ফোল্ডার।