টিউটোরিয়াল: AdMob, Google Analytics এবং Firebases ব্যবহার করে হাইব্রিড নগদীকরণ অপ্টিমাইজ করুন

ধাপ ৩: নির্দিষ্ট বিজ্ঞাপন অভিজ্ঞতা দেখানোর জন্য Firebase Remote Config সেট আপ করুন।


ভূমিকা: AdMob , Google Analytics , এবং Firebase ব্যবহার করে হাইব্রিড মনিটাইজেশন অপ্টিমাইজ করুন
ধাপ ১: প্রদর্শনের জন্য AdMob ব্যবহার করে নতুন বিজ্ঞাপন ইউনিট তৈরি করুন
ধাপ ২: গুগল অ্যানালিটিক্স সেট আপ করুন

ধাপ ৩: নির্দিষ্ট বিজ্ঞাপন অভিজ্ঞতা দেখানোর জন্য Firebase Remote Config সেট আপ করুন।


গত ধাপের শেষে, আপনি গুগল অ্যানালিটিক্স অডিয়েন্স সম্পর্কে জেনেছেন। এই ধাপে, আপনি একটি Remote Config বুলিয়ান-নিয়ন্ত্রিত প্যারামিটার ( ad_control_switch নামে) তৈরি করবেন যা "Purchasers" অডিয়েন্সকে কাজে লাগাবে। এরপর, সেই প্যারামিটারের মানের উপর ভিত্তি করে আপনার অ্যাপ কী প্রদর্শন করবে, তার লজিকটি আপনি আপনার অ্যাপের কোডে যোগ করবেন।

Firebase কনসোলে Remote Config প্যারামিটার এবং শর্তাবলী সেট আপ করুন।

  1. Firebase কনসোলে আপনার Firebase প্রজেক্টটি খুলুন।

  2. বাম পাশের প্যানে, Engage সেকশনটি এক্সপ্যান্ড করুন এবং তারপরে Remote Config সিলেক্ট করুন।

  3. কনফিগারেশন তৈরি করুন- এ ক্লিক করুন (অথবা আপনি যদি আগে Remote Config ব্যবহার করে থাকেন তবে প্যারামিটার যোগ করুন-এ ক্লিক করুন )।

  4. প্যারামিটার তৈরি করুন প্যানেলে, নিম্নলিখিত ধাপগুলি সম্পূর্ণ করুন:

    1. প্যারামিটার নেম ফিল্ডে ad_control_switch লিখুন।

    2. Data type ড্রপডাউন মেনু থেকে বুলিয়ান নির্বাচন করুন।

    3. Create new-তে ক্লিক করুন, এবং তারপর Create new condition নির্বাচন করুন।

  5. 'একটি নতুন শর্ত নির্ধারণ করুন ' ডায়ালগ বক্সে, নিম্নলিখিত ধাপগুলি সম্পূর্ণ করুন:

    1. Name ফিল্ডে Purchasers Group (অথবা শর্তটির জন্য অন্য কোনো সহজে শনাক্তযোগ্য নাম) লিখুন।

    2. ‘Applies if... ’ ড্রপডাউন মেনু থেকে ‘User audience(s)’ নির্বাচন করুন।

    3. 'শ্রোতা নির্বাচন করুন' ড্রপডাউন মেনু থেকে 'ক্রেতা' নির্বাচন করুন।

    4. শর্ত সংরক্ষণ করুন- এ ক্লিক করুন।

  6. Create parameter প্যানেলে ফিরে এসে, নিম্নলিখিত ধাপগুলো সম্পন্ন করুন:

    1. ক্রেতা গোষ্ঠীর মানের জন্য, মিথ্যা নির্বাচন করুন।

    2. ডিফল্ট মানের জন্য, 'true' নির্বাচন করুন।

  7. সেভ-এ ক্লিক করুন এবং তারপরে পরিবর্তনগুলি প্রকাশ করুন

এই কনফিগারেশনটি যাচাই করবে যে ব্যবহারকারী "ক্রেতা" শ্রেণীর অন্তর্ভুক্ত কিনা (অর্থাৎ, তিনি একজন অর্থ প্রদানকারী ব্যবহারকারী কিনা):

  • যদি ব্যবহারকারী "Purchasers" অডিয়েন্সের অন্তর্ভুক্ত হন, তাহলে Remote Config ad_control_switch প্যারামিটারটির জন্য false ভ্যালুটি রিটার্ন করবে।

  • যদি ব্যবহারকারী "Purchasers" অডিয়েন্সের অন্তর্ভুক্ত না হন, তাহলে Remote Config ad_control_switch প্যারামিটারটির জন্য true ভ্যালুটি রিটার্ন করবে।

পরবর্তী ধাপগুলোতে, আপনি আপনার অ্যাপে এই প্যারামিটার মানগুলো পরিচালনা করার জন্য Remote Config প্রয়োগ করবেন।

আপনার অ্যাপে Remote Config এসডিকে যোগ করুন

আপনার অ্যাপ্লিকেশন কোডে Remote Config ব্যবহার করার আগে, আপনার অ্যাপের কোডবেসে Remote Config এসডিকে যোগ করুন। মনে রাখবেন, এই টিউটোরিয়ালের পূর্ববর্তী ধাপগুলো থেকে আপনার অ্যাপে আগে থেকেই Google Mobile Ads ( AdMob ) এসডিকে এবং গুগল অ্যানালিটিক্স ফর ফায়ারবেস এসডিকে থাকা উচিত।

সুইফট

আপনার পডফাইলে Remote Config পডটি যোগ ও ইনস্টল করুন:

pod 'Firebase/RemoteConfig'

অ্যান্ড্রয়েড

আপনার build.gradle ফাইলে Remote Config লাইব্রেরি ডিপেন্ডেন্সিটি যোগ করুন:

implementation 'com.google.firebase:firebase-config:23.1.0'

ফ্লাটার

আপনার ফ্লাটার প্রজেক্টের রুট থেকে Remote Config প্লাগইনটি ইনস্টল করতে নিম্নলিখিত কমান্ডটি চালান:

flutter pub add firebase_remote_config

ঐক্য

সর্বশেষ Firebase Unity SDK ডাউনলোড ও ইনস্টল করুন, এবং তারপর আপনার প্রোজেক্টে Remote Config প্যাকেজটি যুক্ত করুন:
FirebaseRemoteConfig.unitypackage

Remote Config ইনস্ট্যান্সটি কনফিগার করুন

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

এই উদাহরণে, Remote Config প্রতি ঘন্টায় একবার নতুন প্যারামিটার মান পরীক্ষা করার জন্য কনফিগার করা হয়েছে।

সুইফট

remoteConfig = RemoteConfig.remoteConfig()
let settings = RemoteConfigSettings()
settings.minimumFetchInterval = 3600
remoteConfig.configSettings = settings

Kotlin

remoteConfig = Firebase.remoteConfig
val configSettings = remoteConfigSettings {
    minimumFetchIntervalInSeconds = 3600
}
remoteConfig.setConfigSettingsAsync(configSettings)

Java

mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance();
FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder()
        .setMinimumFetchIntervalInSeconds(3600)
        .build();
mFirebaseRemoteConfig.setConfigSettingsAsync(configSettings);

ফ্লাটার

remoteConfig = FirebaseRemoteConfig.instance;
  final configSettings = FirebaseRemoteConfigSettings(
    minimumFetchInterval: Duration(hours: 1),
  );
  await remoteConfig.setConfigSettings(configSettings);

  // Use the `onConfigUpdated` callback to listen for changes to the config settings.
  remoteConfig.onConfigUpdated.listen((_) {
    print('Config settings confirmed');
  });

ঐক্য

var remoteConfig = FirebaseRemoteConfig.DefaultInstance;
var configSettings = new ConfigSettings {
  MinimumFetchInternalInMilliseconds =
        (ulong)(new TimeSpan(1, 0, 0).TotalMilliseconds)
};
remoteConfig.SetConfigSettingsAsync(configSettings)
        .ContinueWithOnMainThread(task => {
          Debug.Log("Config settings confirmed");
}

Remote Config আনুন এবং সক্রিয় করুন

Remote Config প্যারামিটারটি ফেচ ও সক্রিয় করুন, যাতে এটি নতুন প্যারামিটার ভ্যালুগুলো ব্যবহার করা শুরু করতে পারে।

আপনার অ্যাপের লোডিং পর্যায়ে যত তাড়াতাড়ি সম্ভব এই কলটি করা উচিত, কারণ এই কলটি অ্যাসিঙ্ক্রোনাস এবং Remote Config ভ্যালুটি আগে থেকে ফেচ করা প্রয়োজন, যাতে আপনার অ্যাপ জানতে পারে যে বিজ্ঞাপন দেখাবে কি না।

সুইফট

remoteConfig.fetch() { (status, error) -> Void in
  if status == .success {
    print("Config fetched!")
    self.remoteConfig.activate() { (changed, error) in
      // ...
    }
  } else {
    print("Config not fetched")
    print("Error: \(error?.localizedDescription ?? "No error available.")")
  }
  self.loadAdUnit()
}

Kotlin

remoteConfig.fetchAndActivate()
        .addOnCompleteListener(this) { task ->
            if (task.isSuccessful) {
                val updated = task.result
                Log.d(TAG, "Config params updated: $updated")
            } else {
                Log.d(TAG, "Config params failed to update")
            }
            loadAdUnit()
        }

Java

mFirebaseRemoteConfig.fetchAndActivate()
        .addOnCompleteListener(this, new OnCompleteListener<Boolean>() {
            @Override
            public void onComplete(@NonNull Task<Boolean> task) {
                if (task.isSuccessful()) {
                    boolean updated = task.getResult();
                    Log.d(TAG, "Config params updated: " + updated);
                } else {
                    Log.d(TAG, "Config params failed to update");
                }
                loadAdUnit();
            }
        });

ফ্লাটার

remoteConfig = FirebaseRemoteConfig.instance;

// Fetch and activate the latest Remote Config values.
final updated = await remoteConfig.fetchAndActivate();

// Check if the config params were updated successfully.
if (updated) {
  print('Config params updated');
} else {
  print('Config params failed to update');
}

// Load the ad unit.
_loadAdUnit();

ঐক্য

remoteConfig.FetchAndActivateAsync().ContinueWithOnMainThread(task => {
  if (task.IsFaulted) {
    Debug.LogWarning("Config params failed to update");
  } else {
    Debug.Log("Config params updated: " + task.Result);
  }
  LoadAdUnit();
});

আপনার অ্যাপটি এখন এই ধাপের শুরুতে তৈরি করা Remote Config প্যারামিটারটি পরিচালনা করার জন্য কনফিগার করা হয়েছে।

Remote Config প্যারামিটার মান ব্যবহার করুন

অ্যাপ ইনস্ট্যান্সটি নিম্নলিখিত কাজগুলোর মধ্যে কোনটি করবে, তা নির্ধারণ করতে loadAdUnit() ফাংশনে আগে থেকে আনা Remote Config মানটি ব্যবহার করুন:

  • ad_control_switch প্যারামিটারের মান true হলে, মধ্যবর্তী বিজ্ঞাপনটি দেখানো হবে (কারণ ব্যবহারকারী একজন অর্থপ্রদানকারী নন)।

  • ad_control_switch প্যারামিটারের মান false হলে বিজ্ঞাপনটি দেখানো হবে না (কারণ ব্যবহারকারী একজন অর্থ প্রদানকারী ব্যবহারকারী)।

সুইফট

private func loadAdUnit() {
  let showAds = remoteConfig["ad_control_switch"].boolValue

  if showAds {
    // Load interstitial ad (implemented ad unit)
    // per AdMob instructions (the first step of this tutorial).
  } else {
    // Don't show ads.
  }
}

Kotlin

private fun loadAdUnit() {
  var showAds = remoteConfig.getBoolean(ad_control_switch)

  if (showAds) {
      // Load interstitial ad (implemented ad unit)
      // per AdMob instructions (the first step of this tutorial).
    } else {
      // Don't show ads.
    }
}

Java

private void loadAdUnit() {
    boolean showAds =
      mFirebaseRemoteConfig.getBoolean(ad_control_switch);

    if (showAds) {
      // Load interstitial ad (implemented ad unit)
      // per AdMob instructions (the first step of this tutorial).
    } else {
      // Don't show ads.
    }
}

ফ্লাটার

void _loadAdUnit() {
  bool showAds = remoteConfig.getBool(ad_control_switch);

  if (showAds) {
    // Load interstitial ad (implemented ad unit)
    // per AdMob instructions (the first step of this tutorial).
  } else {
    // Don't show ads.
  }
}

ঐক্য

void LoadAdUnit() {
  bool showAds =
      remoteConfig.GetValue("ad_control_switch").BooleanValue;

  if (showAds) {
    // Load interstitial ad (implemented ad unit)
    // per AdMob instructions (the first step of this tutorial).
  } else {
    // Don't show ads.
  }
}

আপনার অ্যাপটি প্রকাশ করুন

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

আপনি যদি এই টিউটোরিয়ালের ধাপগুলো অনুসরণ করে থাকেন, তাহলে আপনার অ্যাপটি অবিলম্বে ব্যবহারকারীদের জন্য একটি কাস্টমাইজড ইন-অ্যাপ বিজ্ঞাপন অভিজ্ঞতা প্রদান করা শুরু করবে। আপনি আপনার AdMob অ্যাকাউন্ট এবং Google Analytics ড্যাশবোর্ড ( Firebase কনসোল অথবা Google Analytics UI-তে) উভয় জায়গাতেই আপনার বিজ্ঞাপনের আয় নিরীক্ষণ করতে পারবেন।


এবং এটুকুই! আপনি AdMob , Google Analytics, এবং Firebase ব্যবহার করে হাইব্রিড মনিটাইজেশন অপ্টিমাইজ করার টিউটোরিয়ালটি সম্পন্ন করেছেন।




২ : গুগল অ্যানালিটিক্স সেট আপ করুন