AdMob মধ্যস্থতা হল এমন একটি ফিচার যা আপনাকে AdMob নেটওয়ার্ক ও থার্ড-পার্টি বিজ্ঞাপন সোর্স সহ একাধিক সোর্স থেকে আপনার অ্যাপে বিজ্ঞাপন পরিবেশন করতে দেয়। AdMob মধ্যস্থতা আপনার ফিল রেট সর্বাধিক করতে এবং আপনার মনিটাইজেশন বাড়াতে সাহায্য করে। এটি একাধিক নেটওয়ার্কে বিজ্ঞাপনের অনুরোধ পাঠায় যাতে আপনি বিজ্ঞাপন দেখানোর জন্য সবচেয়ে ভালো উপলভ্য নেটওয়ার্ক খুঁজে পান। কেস স্টাডি।
পূর্বশর্ত
কোনও বিজ্ঞাপন ফর্ম্যাটের জন্য মধ্যস্থতা ইন্টিগ্রেট করার আগে, আপনাকে সেই বিজ্ঞাপন ফর্ম্যাটটি আপনার অ্যাপে ইন্টিগ্রেট করতে হবে:
- ব্যানার বিজ্ঞাপন
- ইন্টারস্টিশিয়াল বিজ্ঞাপন
- নেটিভ বিজ্ঞাপন
- পুরস্কার প্রদানকারী বিজ্ঞাপন
- পুরস্কার প্রদানকারী ইন্টারস্টিশিয়াল বিজ্ঞাপন
আপনি কি মধ্যস্থতা সম্পর্কে নতুন? AdMob মেডিয়েশনের ওভারভিউ পড়ুন।
GMA Next-Gen SDK চালু করুন
দ্রুত শুরুর নির্দেশিকা থেকে আপনি কীভাবে GMA Next-Gen SDK শুরু করবেন তা জানতে পারবেন। সেই ইনিশিয়ালাইজেশন কলের সময়, মধ্যস্থতা অ্যাডাপ্টরও ইনিশিয়ালাইজ করা হয়। প্রথম বিজ্ঞাপনের অনুরোধে প্রতিটি বিজ্ঞাপন নেটওয়ার্কের সম্পূর্ণ অংশগ্রহণ যাচাই করতে, বিজ্ঞাপন লোড করার আগে ইনিশিয়ালাইজেশন সম্পূর্ণ হওয়ার জন্য অপেক্ষা করা গুরুত্বপূর্ণ।
বিজ্ঞাপনের অনুরোধ করার আগে, কীভাবে প্রতিটি অ্যাডাপ্টরের ইনিশিয়ালাইজেশন স্ট্যাটাস চেক করতে পারবেন তা নিম্নলিখিত নমুনা কোড থেকে জানতে পারবেন।
Kotlin
import com.google.android.libraries.ads.mobile.sdk.MobileAds
import com.google.android.libraries.ads.mobile.sdk.initialization.InitializationConfig
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val backgroundScope = CoroutineScope(Dispatchers.IO)
backgroundScope.launch {
// Initialize GMA Next-Gen SDK on a background thread.
MobileAds.initialize(this@MainActivity, InitializationConfig.Builder("SAMPLE_APP_ID").build()) {
initializationStatus ->
for ((adapterName, adapterStatus) in initializationStatus.adapterStatusMap) {
Log.d(
"MyApp",
String.format(
"Adapter name: %s, Status code: %s, Status string: %s, Latency: %d",
adapterName,
adapterStatus.initializationState,
adapterStatus.description,
adapterStatus.latency,
),
)
}
// Adapter initialization is complete.
}
// Other methods on MobileAds can now be called.
}
}
}
Java
import com.google.android.libraries.ads.mobile.sdk.MobileAds;
import com.google.android.libraries.ads.mobile.sdk.initialization.AdapterStatus;
import com.google.android.libraries.ads.mobile.sdk.initialization.InitializationConfig;
public class MainActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Thread(
() -> {
// Initialize GMA Next-Gen SDK on a background thread.
MobileAds.initialize(
this,
new InitializationConfig.Builder("SAMPLE_APP_ID")
.build(),
initializationStatus -> {
Map<String, AdapterStatus> adapterStatusMap =
initializationStatus.getAdapterStatusMap();
for (String adapterClass : adapterStatusMap.keySet()) {
AdapterStatus adapterStatus = adapterStatusMap.get(adapterClass);
Log.d(
"MyApp",
String.format(
"Adapter name: %s, Status code: %s, Status description: %s,"
+ " Latency: %d",
adapterClass,
adapterStatus.getInitializationState(),
adapterStatus.getDescription(),
adapterStatus.getLatency()));
}
// Adapter initialization is complete.
});
// Other methods on MobileAds can now be called.
})
.start();
}
}
মধ্যস্থতা ইন্টিগ্রেশনে com.google.android.gms মডিউল বাদ দিন
মধ্যস্থতা অ্যাডাপ্টর এখনও Google Mobile Ads SDK (Legacy)-এর উপর নির্ভরশীল। তবে ,GMA Next-Gen SDK মধ্যস্থতা অ্যাডাপ্টরের প্রয়োজনীয় সব ক্লাস অন্তর্ভুক্ত করে। ডুপ্লিকেট চিহ্ন সম্পর্কিত কম্পাইল এরর এড়াতে, আপনাকে মধ্যস্থতা অ্যাডাপ্টারের মাধ্যমে ডিপেন্ডেন্সি হিসেবে পুল করা থেকে Google Mobile Ads SDK (Legacy) বাদ দিতে হবে।
আপনার অ্যাপ-লেভেল build.gradle ফাইলে, সব ডিপেন্ডেন্সি থেকে গ্লোবালি play-services-ads এবং
play-services-ads-lite, দুটি মডিউলই বাদ দিন:
Kotlin
configurations.configureEach { exclude(group = "com.google.android.gms", module = "play-services-ads") exclude(group = "com.google.android.gms", module = "play-services-ads-lite") }
Groovy
configurations.configureEach { exclude group: "com.google.android.gms", module: "play-services-ads" exclude group: "com.google.android.gms", module: "play-services-ads-lite" }
কোন বিজ্ঞাপন নেটওয়ার্ক অ্যাডাপ্টার ক্লাস বিজ্ঞাপন লোড করেছে তা চেক করুন
এখানে কিছু স্যাম্পেল কোড দেওয়া হল যা ব্যানার বিজ্ঞাপনের জন্য বিজ্ঞাপন নেটওয়ার্কের ক্লাসের নাম লগ করে:
Kotlin
BannerAd.load(
BannerAdRequest.Builder("AD_UNIT_ID", AdSize.BANNER).build(),
object : AdLoadCallback<BannerAd> {
override fun onAdLoaded(ad: BannerAd) {
Log.d(
"MyApp", "Adapter class name: " +
ad.getResponseInfo().mediationAdapterClassName
)
}
}
)
Java
BannerAd.load(
new BannerAdRequest.Builder("AD_UNIT_ID", AdSize.BANNER).build(),
new AdLoadCallback<BannerAd>() {
@Override
public void onAdLoaded(@NonNull BannerAd ad) {
Log.d("MyApp",
"Adapter class name: " + ad.getResponseInfo().getMediationAdapterClassName());
}
}
);
AdMob মেডিয়েশনের সাথে ব্যানার বিজ্ঞাপন ব্যবহার করা
AdMob মেডিয়েশনে ব্যবহৃত ব্যানার বিজ্ঞাপন ইউনিটের জন্য সব থার্ড-পার্টি বিজ্ঞাপন সোর্স UI-তে রিফ্রেশ বন্ধ করতে ভুলবেন না। এটি ডবল রিফ্রেশ হওয়া আটকায়, কারণ AdMob-ও আপনার ব্যানার বিজ্ঞাপন ইউনিটের রিফ্রেশ রেটের উপর ভিত্তি করে রিফ্রেশ ট্রিগার করে।
মার্কিন যুক্তরাষ্ট্রের বিভিন্ন রাজ্যের গোপনীয়তা আইন ও GDPR
আপনাকে মার্কিন যুক্তরাষ্ট্রের সংশ্লিষ্ট রাজ্যের গোপনীয়তা আইন বা জেনারেল ডেটা প্রোটেকশন রেগুলেশন (GDPR) মেনে চলতে হলে, AdMob-এর গোপনীয়তা ও মেসেজিং টুলের মার্কিন যুক্তরাষ্ট্রের সংশ্লিষ্ট রাজ্য বা GDPR বিজ্ঞাপন পার্টনার তালিকায় আপনার মধ্যস্থতাকারী পার্টনারদের যোগ করতে, মার্কিন যুক্তরাষ্ট্রের সংশ্লিষ্ট রাজ্যের রেগুলেশন সেটিংস বা GDPR সেটিংস-এ দেওয়া ধাপগুলি অনুসরণ করুন। তা না করলে, পার্টনাররা আপনার অ্যাপে বিজ্ঞাপন পরিবেশন করতে পারবেন না।
সীমাবদ্ধ ডেটা প্রসেসিং (RDP) চালু করা এবং Google User Messaging Platform (UMP) SDK-এর মাধ্যমে জিডিপিআর (GDPR) সম্মতি পাওয়ার ব্যাপারে আরও জানুন।