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

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


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

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


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

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

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

  2. বাম দিকের ফলকে, এনগেজ বিভাগটি প্রসারিত করুন এবং তারপরে রিমোট কনফিগ নির্বাচন করুন।

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

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

    1. প্যারামিটার নামের ক্ষেত্রে, ad_control_switch লিখুন।

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

    3. নতুন তৈরি করুন ক্লিক করুন এবং তারপরে নতুন শর্ত তৈরি করুন নির্বাচন করুন।

  5. একটি নতুন শর্ত সংজ্ঞায়িত করুন ডায়ালগে, নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:

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

    2. প্রযোজ্য যদি... ড্রপডাউন মেনু থেকে, ব্যবহারকারী দর্শক(গুলি) নির্বাচন করুন।

    3. শ্রোতা নির্বাচন করুন (গুলি) ড্রপডাউন মেনু থেকে, ক্রেতা নির্বাচন করুন।

    4. Save condition এ ক্লিক করুন।

  6. প্যারামিটার তৈরি করুন প্যানেলে ফিরে, নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:

    1. ক্রেতাদের গ্রুপের মূল্যের জন্য, মিথ্যা নির্বাচন করুন।

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

  7. সংরক্ষণ করুন ক্লিক করুন, এবং তারপর পরিবর্তনগুলি প্রকাশ করুন

এই কনফিগারেশনটি পরীক্ষা করবে যে ব্যবহারকারী "ক্রেতাদের" শ্রোতাদের মধ্যে আছে কিনা (অর্থাৎ, তারা একজন অর্থপ্রদানকারী ব্যবহারকারী):

  • ব্যবহারকারী যদি "ক্রেতাদের" শ্রোতাদের মধ্যে থাকে, তাহলে Remote Config ad_control_switch প্যারামিটারের জন্য false মান প্রদান করবে।

  • ব্যবহারকারী যদি "ক্রেতাদের" দর্শকদের মধ্যে না থাকে, তাহলে Remote Config ad_control_switch প্যারামিটারের জন্য true মান প্রদান করবে।

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

আপনার অ্যাপে Remote Config SDK যোগ করুন

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

সুইফট

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

pod 'Firebase/RemoteConfig'

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

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

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

ফ্লাটার

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

flutter pub add firebase_remote_config

ঐক্য

সর্বশেষ Firebase ইউনিটি 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+KTX

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+KTX

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+KTX

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 ব্যবহার করে হাইব্রিড নগদীকরণ অপ্টিমাইজ করার জন্য টিউটোরিয়ালটি সম্পূর্ণ করেছেন৷




ধাপ 2 : Google Analytics সেট আপ করুন