Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

টিউটোরিয়াল: নতুন AdMob বিজ্ঞাপন ফরম্যাটগুলি গ্রহণ করার পরীক্ষা করুন

ধাপ 3: আপনার অ্যাপের কোডে রিমোট কনফিগ প্যারামিটার মানগুলি পরিচালনা করুন


পরিচিতি: টেস্ট নতুন AdMob এর বিজ্ঞাপন বিন্যাস গ্রহণ Firebase ব্যবহার
ধাপ 1: ব্যবহার করুন AdMob এর পরীক্ষার জন্য একটি নতুন বিজ্ঞাপন ইউনিট বৈকল্পিক তৈরি করতে
পদক্ষেপ 2: Firebase কনসোলে একটি A / B পরীক্ষায় সেট আপ করুন

ধাপ 3: আপনার অ্যাপের কোডে রিমোট কনফিগ প্যারামিটার মানগুলি পরিচালনা করুন

ধাপ 4: স্টার্ট A / B পরীক্ষায় এবং Firebase কনসোলে পরীক্ষার ফলাফল পর্যালোচনা
পদক্ষেপ 5: নতুন বিজ্ঞাপন বিন্যাস আনছি ব্যবহার করার সিদ্ধান্ত নেন


শেষ ধাপে শেষে, আপনি একটি দূরবর্তী কনফিগ প্যারামিটার (নির্মিত SHOW_NEW_AD_KEY )। এই পদক্ষেপে, আপনি আপনার অ্যাপ্লিকেশান প্যারামিটারের মান উপর ভিত্তি করে প্রদর্শন করা উচিত জন্য আপনার অ্যাপ্লিকেশনের কোডে যুক্তিবিজ্ঞান যুক্ত করতে হবে - true (নতুন বিজ্ঞাপন দেখান) বনাম false (নতুন বিজ্ঞাপন দেখাবেন না)।

প্রয়োজনীয় এসডিকে যোগ করুন

আপনার অ্যাপ্লিকেশন কোডে রিমোট কনফিগ ব্যবহার করার আগে, আপনার প্রোজেক্ট বিল্ড ফাইলগুলিতে রিমোট কনফিগার SDK এবং Google Analytics- এর জন্য Firebase SDK উভয়ই যোগ করুন।

সুইফট

আপনার পডফাইলে নিম্নলিখিত পডগুলি যোগ করুন এবং ইনস্টল করুন:

pod 'Google-Mobile-Ads-SDK'
pod 'Firebase/Analytics'
pod 'Firebase/RemoteConfig'

উদ্দেশ্য গ

আপনার পডফাইলে নিম্নলিখিত পডগুলি যোগ করুন এবং ইনস্টল করুন:

pod 'Google-Mobile-Ads-SDK'
pod 'Firebase/Analytics'
pod 'Firebase/RemoteConfig'

জাভা

আপনার নিম্নলিখিত গ্রন্থাগার নির্ভরতা যোগ build.gradle ফাইল:

implementation 'com.google.android.gms:play-services-ads:20.4.0'
implementation 'com.google.firebase:firebase-analytics:19.0.2'
implementation 'com.google.firebase:firebase-config:21.0.1'

কোটলিন+কেটিএক্স

আপনার নিম্নলিখিত গ্রন্থাগার নির্ভরতা যোগ build.gradle ফাইল:

implementation 'com.google.android.gms:play-services-ads:20.4.0'
implementation 'com.google.firebase:firebase-analytics-ktx:19.0.2'
implementation 'com.google.firebase:firebase-config-ktx:21.0.1'

Unক্য

ফায়ারবেস ইউনিটি এসডিকে ডাউনলোড এবং ইনস্টল করুন, তারপরে আপনার প্রকল্পে নিম্নলিখিত ইউনিটি প্যাকেজ যুক্ত করুন:

  • FirebaseAnalytics.unitypackage
  • FirebaseRemoteConfig.unitypackage

রিমোট কনফিগার দৃষ্টান্ত কনফিগার করুন

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

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

সুইফট

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

উদ্দেশ্য গ

self.remoteConfig = [FIRRemoteConfig remoteConfig];
FIRRemoteConfigSettings *remoteConfigSettings = [[FIRRemoteConfigSettings alloc] init];
remoteConfigSettings.minimumFetchInterval = 3600;
self.remoteConfig.configSettings = remoteConfigSettings;

জাভা

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

কোটলিন+কেটিএক্স

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

Unক্য

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");
}

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

রিমোট কনফিগার প্যারামিটারগুলি আনুন এবং সক্রিয় করুন যাতে এটি নতুন প্যারামিটার মান ব্যবহার শুরু করতে পারে।

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

সুইফট

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()
}

উদ্দেশ্য গ

[self.remoteConfig fetchWithCompletionHandler:^(FIRRemoteConfigFetchStatus status, NSError *error) {
    if (status == FIRRemoteConfigFetchStatusSuccess) {
        NSLog(@"Config fetched!");
      [self.remoteConfig activateWithCompletion:^(BOOL changed, NSError * _Nullable error) {
        // ...
      }];
    } else {
        NSLog(@"Config not fetched");
        NSLog(@"Error %@", error.localizedDescription);
    }
    [self loadAdUnit];
}];

জাভা

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.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()
        }

Unক্য

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

এই টিউটোরিয়ালে আগে সেট করা A/B পরীক্ষার সময় আপনার তৈরি করা রিমোট কনফিগ প্যারামিটারটি পরিচালনা করার জন্য আপনার অ্যাপ এখন প্রস্তুত।

রিমোট কনফিগ প্যারামিটার মান ব্যবহার করুন

প্রাক-সংগৃহীত রিমোট কনফিগ মান ব্যবহার করুন loadAdUnit() কিনা তা নির্ধারণ করতে অ্যাপের উদাহরণ দেখানো উচিত (এর প্যারামিটার মান ফাংশন true ) অথবা দেখাতে (এর প্যারামিটার মান false ) নতুন পুরস্কৃত স্থানে বিজ্ঞাপন ইউনিট।

সুইফট

private func loadAdUnit() {
  let showNewAdFormat = remoteConfig["users"].boolValue
  if showNewAdFormat {
      // Load Rewarded Interstitial Ad.
      // This should load your new implemented ad unit
      // as per AdMob instructions (the first step of this tutorial).
  } else {
    // Show the existing ad unit.
  }
}

উদ্দেশ্য গ

- (void)loadAdUnit {
    BOOL showAds = self.remoteConfig[@"SHOW_NEW_AD_KEY"].boolValue;
    if (showAds) {
      // Load Rewarded Interstitial Ad.
      // This should load your new implemented ad unit
      // per AdMob instructions (the first step of this tutorial).
    } else {
      // Show the existing ad unit.
    }
}

জাভা

private void loadAdUnit() {
    boolean showNewAdFormat =
      mFirebaseRemoteConfig.getBoolean(SHOW_NEW_AD_KEY);

    if (showNewAdFormat) {
      // Load Rewarded Interstitial Ad.
      // This should load your new implemented ad unit
      // per AdMob instructions (the first step of this tutorial).
    } else {
      // Show the existing ad unit.
    }
}

কোটলিন+কেটিএক্স

private fun loadAdUnit() {
  var showNewAdFormat = remoteConfig.getBoolean(SHOW_NEW_AD_KEY)

  if (showNewAdFormat) {
      // Load Rewarded Interstitial Ad.
      // This should load your new implemented ad unit
      // per AdMob instructions (the first step of this tutorial).
    } else {
      // Show the existing ad unit.
    }
}

Unক্য

void LoadAdUnit() {
  bool showNewAdFormat =
      remoteConfig.GetValue("SHOW_NEW_AD_KEY").BooleanValue;

  if (showNewAdFormat) {
    // Load Rewarded Interstitial Ad (new implemented ad unit)
    // per AdMob instructions (the first step of this tutorial).
  } else {
    // Show the existing ad unit.
  }
}

প্যারামিটার মান জন্য অন্যান্য চেক যোগ করুন

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

যেকোনো প্যারামিটার ভ্যালু পরিবর্তন পেতে প্রথমে ফেচ এবং অ্যাক্টিভেট কল করা উচিত - উদাহরণস্বরূপ, যদি আপনি একটি নতুন পরীক্ষা শেষ বা তৈরি করার সিদ্ধান্ত নেন।

সেখান থেকে, আপনি সর্বদা নিম্নলিখিত কলগুলি ব্যবহার করে প্যারামিটারের মান পরীক্ষা করতে পারেন:

সুইফট

remoteConfig["showNewAdKey"].boolValue

উদ্দেশ্য গ

self.remoteConfig[@"SHOW_NEW_AD_KEY"].boolValue;

জাভা

mFirebaseRemoteConfig.getBoolean(SHOW_NEW_AD_KEY)

কোটলিন+কেটিএক্স

remoteConfig.getBoolean(SHOW_NEW_AD_KEY)

Unক্য

remoteConfig.GetValue("SHOW_NEW_AD_KEY").BooleanValue

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




পদক্ষেপ 2: Firebase কনসোলে একটি A / B পরীক্ষায় সেট আপ স্টার্ট A / B পরীক্ষায় ও পর্যালোচনা পরীক্ষার ফলাফল: ধাপ 4