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

১. ভূমিকা

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

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

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

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

এই কোডল্যাবটি করার সময় যদি আপনি কোনো সমস্যার (কোড বাগ, ব্যাকরণগত ভুল, অস্পষ্ট শব্দচয়ন ইত্যাদি) সম্মুখীন হন, তাহলে অনুগ্রহ করে কোডল্যাবের নিচের বাম কোণে থাকা 'Report a mistake ' লিঙ্কের মাধ্যমে সমস্যাটি জানান।

আপনি যা শিখবেন

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

আপনার যা যা লাগবে

  • অ্যান্ড্রয়েড স্টুডিও সংস্করণ ৪.১+
  • একটি গুগল অ্যাকাউন্ট
  • আপনার ডিভাইসটি সংযোগ করার জন্য একটি ইউএসবি কেবলসহ অ্যান্ড্রয়েড ৫.০+ চালিত একটি টেস্ট ডিভাইস, অথবা প্লে স্টোর/গুগল এপিআই সমর্থনকারী সিস্টেম ইমেজসহ এভিডি (অ্যান্ড্রয়েড ভার্চুয়াল ডিভাইস) চালিত একটি অ্যান্ড্রয়েড এমুলেটর।

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

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

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

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

২. উন্নয়ন পরিবেশ সেটআপ করুন

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

এই কোডল্যাবের সম্পূর্ণ কোড ডাউনলোড করতে নিচের বাটনটিতে ক্লিক করুন:

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

...অথবা কমান্ড লাইন থেকে গিটহাব রিপোজিটরিটি ক্লোন করুন।

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

রিপোজিটরিটিতে নিম্নলিখিত চারটি ফোল্ডার রয়েছে:

  • android_studio_folder.png 101-base — এই কোডল্যাবে আপনি যে প্রারম্ভিক কোডটি তৈরি করবেন।
  • android_studio_folder.png 101-complete_and_102-base — এই কোডল্যাবের সম্পূর্ণ কোড এবং ১০২ নম্বর কোডল্যাবের সূচনা।
  • android_studio_folder.png ১০২-সম্পূর্ণ — ১০২ কোডল্যাবের জন্য কোড সম্পন্ন হয়েছে।

স্টার্টার অ্যাপটি ইম্পোর্ট করুন

অ্যান্ড্রয়েড স্টুডিও চালু করুন, স্বাগত স্ক্রিনে "প্রজেক্ট ইম্পোর্ট করুন" (Import project) বিকল্পটি বেছে নিন। এরপর আপনার ডাউনলোড করা কোড থেকে 101-complete_and_102-base ডিরেক্টরিটি নির্বাচন করুন।

এখন আপনার অ্যান্ড্রয়েড স্টুডিওতে প্রজেক্টটি খোলা থাকা উচিত।

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

  1. Awesome Drawing Quiz প্রোজেক্টের ওভারভিউ স্ক্রিন থেকে সেটিংস আইকনে ক্লিক করুন। 9bacb5ada7cbaaf6.png
  2. জেনারেল ট্যাবের অধীনে, google-service.json ফাইলটি ডাউনলোড করার জন্য অ্যান্ড্রয়েড অ্যাপটি নির্বাচন করুন।
  3. কনফিগারেশন ফাইলটি সরান android_studio_folder.png আপনার প্রোজেক্টের অ্যাপ ডিরেক্টরিতে। 797cde1881a38fdf.png

৩. কনসোল থেকে ফায়ারবেস প্রজেক্টটি খুলুন।

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

e0a028059c9e00cb.png

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

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

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

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

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

  1. Firebase কনসোলে যান এবং আপনার আগে তৈরি করা Awesome Drawing Quiz প্রজেক্টটি নির্বাচন করুন।
  2. ফানেলগুলোতে ক্লিক করুন।
  3. নতুন ফানেল-এ ক্লিক করুন।
  4. ফানেলটির জন্য একটি নাম ও বিবরণ লিখুন।
  5. ফানেলের ধাপ হিসেবে ব্যবহার করতে চান এমন প্রথম দুটি ইভেন্ট নির্বাচন করুন।
  6. প্রতিটি অতিরিক্ত ধাপের জন্য ‘ADD ANOTHER EVENT’-এ ক্লিক করুন এবং একটি ইভেন্ট নির্বাচন করুন।
  7. তৈরি করুন- এ ক্লিক করুন।

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

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

#২ ফানেলের নাম: রিওয়ার্ডেড অ্যাড কমপ্লিশন রেট ইভেন্টসমূহ: ad_reward_prompt , ad_reward_impression , ad_reward 45c9542dfa663014.png

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

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

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

620c0e84587c8ad4.png

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

c889f9b6ece15847.png

উপরের স্ক্রিনশট থেকে, আপনি দেখতে পাচ্ছেন যে কত শতাংশ ব্যবহারকারী একটি লেভেল শুরু করার ( level_success ইভেন্ট ট্রিগার করার) পর লেভেলটি সম্পন্ন করেছেন ( level_start ইভেন্ট ট্রিগার করেছেন)। এখানে আপনি দেখতে পাচ্ছেন যে ৪৬.২% ব্যবহারকারী লেভেলটি সম্পন্ন করেছেন।

আপনি 'ইভেন্ট কাউন্ট'-এ ক্লিক করলে, ইভেন্টের সংখ্যার উপর ভিত্তি করে মেট্রিকগুলো নিম্নরূপভাবে দেখানো হবে:

d044fb7b07e6e0d9.png

উপরের স্ক্রিনশটের মেট্রিক্স অনুসারে, উক্ত সময়কালে ১১৬টি প্রচেষ্টা (যা level_start ইভেন্টটি ট্রিগার করেছে) এবং ৫৭টি ক্লিয়ার (যা level_success ইভেন্টটি ট্রিগার করেছে) হয়েছিল।

যেহেতু ইভেন্টের উপর ভিত্তি করে সম্পন্ন করার হার (৪৯.১%) ব্যবহারকারীর উপর ভিত্তি করে হারের (৪৬.২%) চেয়ে সামান্য বেশি, তাই বলা যায় যে এমন কিছু লোক আছেন যারা অন্যদের চেয়ে ভালো কাজ করেন।

৫. রিমোট কনফিগকে অ্যাপের সাথে একীভূত করুন।

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

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

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

অ্যাপ ডিপেন্ডেন্সিতে রিমোট কনফিগ যোগ করুন

প্রথমে অ্যাপ ডিপেন্ডেন্সিতে Firebase Remote Config যোগ করে শুরু করা যাক।

অ্যাপ/বিল্ড.গ্রেডল

apply plugin: 'com.android.application'

android {
    ...
}

dependencies {
    ...

    // TODO: Add Firebase Remote Config dependency (102)
    implementation 'com.google.firebase:firebase-config-ktx'

    ...
}

...

আপনার প্রজেক্টটি গ্রেডল ফাইলের সাথে সিঙ্ক করুন।

আপনার অ্যাপে সমস্ত ডিপেন্ডেন্সি উপলব্ধ আছে কিনা তা নিশ্চিত করতে, আপনার প্রজেক্টটি গ্রেডল ফাইলের সাথে সিঙ্ক করুন। আপনার প্রজেক্টটি গ্রেডল ফাইলের সাথে সিঙ্ক করতে ফাইল > সিঙ্ক প্রজেক্ট উইথ গ্রেডল ফাইলস মেনুটি নির্বাচন করুন।

Remote Config প্যারামিটারের একটি ডিফল্ট মান সেট করুন

রিমোট কনফিগ থেকে মানগুলি আনতে একটি নেটওয়ার্ক সংযোগ প্রয়োজন। নেটওয়ার্ক উপলব্ধ না থাকার ক্ষেত্রে, আপনার প্রতিটি রিমোট কনফিগ প্যারামিটারের জন্য একটি ডিফল্ট মান নির্ধারণ করা উচিত।

res/xml ফোল্ডারের অধীনে remote_config_defaults.xml ফাইলটি তৈরি করুন। তারপর, পুরস্কারের পরিমাণের ( reward_amount) একটি ডিফল্ট মান নিম্নরূপভাবে সেট করুন।

res/xml/remote_config_defaults.xml

<?xml version="1.0" encoding="utf-8"?>
<defaultsMap>
    <entry>
        <key>reward_amount</key>
        <value>1</value>
    </entry>
</defaultsMap>

উল্লেখ্য যে, reward_amount হলো রিমোট কনফিগ-এর প্যারামিটারের নাম।

রিমোট কনফিগ থেকে পুরস্কারের পরিমাণটি সংগ্রহ করুন।

AwesomeDrawingQuiz.kt ফাইলটি পরিবর্তন করে GameSettings ক্লাসটিকে RemoteConfig ইনস্ট্যান্সের একটি রেফারেন্স ধারণ করার উপযোগী করুন।

উল্লেখ্য যে, উন্নয়ন প্রক্রিয়ায় সাহায্য করার জন্য RemoteConfig ইনস্ট্যান্সটি ডিবাগ মোডে সার্ভার থেকে সর্বশেষ মানগুলি আনার জন্য কনফিগার করা হয়েছে। ( fetch(0L) কল করে সর্বনিম্ন ফেচ ব্যবধান শূন্য সেকেন্ডে সেট করুন)

AwesomeDrawingQuiz.kt

class AwesomeDrawingQuiz : Application() {

    ...

    // COMPLETE: Provide FirebaseRemoteConfig instance (102)
    private fun provideGameSettings() = GameSettings(provideRemoteConfig())

    // COMPLETE: Add a function that provides a FirebaseRemoteConfig instance (102)
    private fun provideRemoteConfig(): FirebaseRemoteConfig {
        val rc = Firebase.remoteConfig.apply {
            setDefaultsAsync(R.xml.remote_config_defaults)
        }
        val fetchTask = if (BuildConfig.DEBUG) rc.fetch(0L) else rc.fetch()
        fetchTask.addOnCompleteListener {
            if (it.isSuccessful) {
                Log.d("AwesomeDrawingQuiz", "Remote config value fetched")
                rc.activate()
            }
        }
        return rc
    }
}

এরপর, Remote Config থেকে পুরস্কারের পরিমাণ নেওয়ার জন্য GameSettings ক্লাসটি পরিবর্তন করুন।

গেমসেটিংস.কেটি

// TODO: Add FirebaseRemoteConfig as a class member
class GameSettings(private val rc: FirebaseRemoteConfig) {

  ...

  // TODO: Apply reward amount from the Remote Config (102)
  val rewardAmount: Int
    get() = rc.getLong(KEY_REWARD_AMOUNT).toInt()

  companion object {
    ...

    // TODO: Add a key for 'reward_amount' Remote Config parameter (102)
    private const val KEY_REWARD_AMOUNT = "reward_amount"
  }
}

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

এরপরে, আপনি পুরস্কারের পরিমাণের জন্য একটি নতুন রিমোট কনফিগ প্যারামিটার তৈরি করবেন, যাতে আপনি প্রয়োজন অনুযায়ী এর মান পরিবর্তন করতে পারেন।

একটি নতুন প্যারামিটার তৈরি করতে, Firebase কনসোলে যান, তারপর আপনার পূর্বে তৈরি করা Awesome Drawing Quiz প্রজেক্টটি নির্বাচন করুন। Remote Config -> ADD YOUR FIRST PARAMETER বোতামে ক্লিক করুন।

7f52617141c53726.png

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

cbc771fd1685b29c.png

ব্যবহারকারীদের কাছে পরিবর্তনটি কার্যকর করতে 'পরিবর্তন প্রকাশ করুন' বোতামে ক্লিক করুন।

d6a6aa4a60e06ee9.png

৬. রিমোট কনফিগের মাধ্যমে অ্যাপের আচরণ পরিবর্তন করুন

এখন থেকে অ্যাপ কোড আপডেট না করেই ফায়ারবেস কনসোল থেকে Awesome Drawing Quiz- এর পুরস্কারের পরিমাণ নির্ধারণ করা যাবে।

এই অংশে, আপনি পুরস্কারের পরিমাণ ১ থেকে ২-এ পরিবর্তন করবেন, যাতে একটি রিওয়ার্ডেড অ্যাড দেখার পর অ্যাপটি ইঙ্গিত হিসেবে আরও দুটি চরিত্র প্রকাশ করে।

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

Firebase কনসোলে যান, তারপর আপনার আগে তৈরি করা Awesome Drawing Quiz প্রজেক্টটি নির্বাচন করুন। Remote Config-এ ক্লিক করুন এবং তালিকা থেকে reward_amount ক্লিক করুন। এরপর, ডিফল্ট মানটি 2-এ পরিবর্তন করে Update বোতামে ক্লিক করুন।

9a9bd8a26a39bfe3.png

ব্যবহারকারীদের কাছে পরিবর্তনটি কার্যকর করতে 'পরিবর্তনগুলি প্রকাশ করুন' বোতামে ক্লিক করুন।

d6a6aa4a60e06ee9.png

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

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

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

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

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

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

Firebase A/B Testing-এর মাধ্যমে, আপনি অ্যাপটি আপডেট না করেই অথবা প্রতিটি পরীক্ষার পারফরম্যান্স চালানো ও ট্র্যাক করার জন্য আলাদা টুল তৈরি না করেই, অ্যাপটির সামগ্রিক ইউজার এক্সপেরিয়েন্স অপ্টিমাইজ করার জন্য পরীক্ষাগুলো চালাতে পারেন।

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

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

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

এই কোডল্যাবে, আপনি 'Awesome Drawing Quiz'- এর দৈনিক ব্যবহারকারীর সম্পৃক্ততা সর্বাধিক করার জন্য পুরস্কারের পরিমাণ অপ্টিমাইজ করতে একটি এক্সপেরিমেন্ট তৈরি করবেন।

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

Firebase কনসোল থেকে Awesome Drawing Quiz প্রজেক্টটি খুলুন। A/B Testing মেনুটি নির্বাচন করুন, তারপর Create experiment বোতামে ক্লিক করুন।

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

f38a85328ab54e7e.png

নিচের স্ক্রিনশটে দেখানো অনুযায়ী এক্সপেরিমেন্টটির নাম 'পুরস্কারের পরিমাণ' দিন।

15d552adb61c0b08.png

টার্গেটিং অপশনগুলো কনফিগার করুন। এই কোডল্যাবে, আপনি 'Awesome Drawing Quiz'- এর ১০০% ব্যবহারকারীকে টার্গেট করবেন।

61b316741a63050f.png

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

694641b57d90ff65.png

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

10ed7f5b06858519.png

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

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

ae6477ce79f6265d.png

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

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

7131bf9b4fa74fa5.png

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

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

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

8a7009bdd8871d95.png

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

a4e7ca3e3f4711cd.png

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

e2d00fc27c053fd3.png

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

c3859d642f85cc52.png

সকল ব্যবহারকারীর কাছে লিডারটি চালু করুন।

পরীক্ষাটি দীর্ঘ সময় ধরে চলার পর যখন আপনি একটি সেরা বা বিজয়ী ভ্যারিয়েন্ট খুঁজে পাবেন, তখন আপনি পরীক্ষাটি ১০০% ব্যবহারকারীর কাছে চালু করতে পারেন। একবার A/B টেস্টিং একটি সুস্পষ্ট সেরা ভ্যারিয়েন্ট খুঁজে পেলে, এটি আপনাকে সেই সেরা ভ্যারিয়েন্টটি সকল ব্যবহারকারীর কাছে চালু করতে উৎসাহিত করবে।

86cb6a6c07516634.png

তবে, পরীক্ষাটি কোনো সুস্পষ্ট বিজয়ীকে ঘোষণা না করলেও, আপনি সকল ব্যবহারকারীর জন্য একটি ভ্যারিয়েন্ট চালু করার সিদ্ধান্ত নিতে পারেন।

পরীক্ষার বিবরণ স্ক্রিনে, কনটেক্সট মেনুতে ক্লিক করুন ( 73afe611adf58774.png ), এবং তারপর 'Roll out variant'-এ ক্লিক করুন।

374e1c72be1d0656.png

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

e176f6e6a72c754.png

খসড়াটিতে কোনো সমস্যা নেই তা নিশ্চিত করার পর, সকল ব্যবহারকারীর জন্য পরিবর্তনটি কার্যকর করতে ‘পরিবর্তন প্রকাশ করুন’ বোতামে ক্লিক করুন।

d65d545620ce93f6.png

৯. সব হয়ে গেছে!

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