अडैप्टिव बैनर की मदद से, विज्ञापन की चौड़ाई तय की जा सकती है. इससे हर डिवाइस के लिए विज्ञापन का सबसे सही साइज़ तय करने में मदद मिलती है. ऐंकर किए गए अडैप्टिव बैनर के मुकाबले, इनलाइन अडैप्टिव बैनर बड़े और लंबे होते हैं. इनकी कोई तय लंबाई नहीं होती. इनलाइन अडैप्टिव बैनर की लंबाई कम या ज़्यादा की जा सकती है. ये बैनर पूरी स्क्रीन पर या आपकी तय की गई ज़्यादा से ज़्यादा ऊंचाई तक दिख सकते हैं.
इस गाइड में, इनलाइन अडैप्टिव बैनर बनाने और बैनर का साइज़ सेट करने के बारे में बताया गया है.
इस इमेज में, स्क्रोल किए जा सकने वाले कॉन्टेंट में अडैप्टिव इनलाइन बैनर दिखाए गए हैं:
शुरू करने से पहले
जारी रखने से पहले, पक्का करें कि आपने बैनर विज्ञापन सेट अप किए हों.
इनलाइन अडैप्टिव बैनर का पूरा उदाहरण देखने के लिए, यहां दिया गया सैंपल ऐप्लिकेशन डाउनलोड करें:
इनलाइन अडैप्टिव बैनर लागू करना
इनलाइन अडैप्टिव बैनर लागू करने के लिए, विज्ञापन का साइज़ सेट करें, विज्ञापन दिखाने का अनुरोध बनाएं, और विज्ञापन लोड करें.
इनलाइन अडैप्टिव बैनर का साइज़ तय करने के लिए, विज्ञापन की चौड़ाई तय करें. सामान्य तौर पर, इन तरीकों का इस्तेमाल किया जाता है:
- फ़ुल-स्क्रीन की चौड़ाई का इस्तेमाल किया जा रहा है.
- विज्ञापन दिखाने वाले पैरंट लेआउट की चौड़ाई का इस्तेमाल करके.
- डिवाइस के सुरक्षित क्षेत्रों के हिसाब से चौड़ाई को अडजस्ट करना.
विज्ञापन के साइज़ का ऑब्जेक्ट बनाते समय, कैलकुलेट की गई इस चौड़ाई का इस्तेमाल करें.
यहां दिए गए उदाहरण में, विज्ञापन का साइज़ सेट किया गया है, विज्ञापन दिखाने का अनुरोध किया गया है, और विज्ञापन लोड किया गया है:
Kotlin
private fun loadAd() {
// Create an inline adaptive ad size. 320 is a placeholder value.
// Replace 320 with your banner container width.
val adSize = AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(this, 320)
// Step 1 - Create a BannerAdRequest object with ad unit ID and size.
val adRequest = BannerAdRequest.Builder("AD_UNIT_ID", adSize).build()
// Step 2 - Load the ad.
BannerAd.load(
adRequest,
object : AdLoadCallback<BannerAd> {
override fun onAdLoaded(ad: BannerAd) {
// Assign the loaded ad to the BannerAd object.
bannerAd = ad
// Step 3 - Call BannerAd.getView() to get the View and add it
// to view hierarchy on the UI thread.
activity?.runOnUiThread {
binding.bannerViewContainer.addView(ad.getView(requireActivity()))
}
}
override fun onAdFailedToLoad(loadAdError: LoadAdError) {
bannerAd = null
}
}
)
}
Java
private void loadAd() {
// Create an inline adaptive ad size. 320 is a placeholder value.
// Replace 320 with your banner container width.
AdSize adSize = AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(this, 320);
// Step 1 - Create a BannerAdRequest object with ad unit ID and size.
BannerAdRequest adRequest = new BannerAdRequest.Builder("AD_UNIT_ID",
adSize).build();
// Step 2 - Load the ad.
BannerAd.load(
adRequest,
new AdLoadCallback<BannerAd>() {
@Override
public void onAdLoaded(@NonNull BannerAd ad) {
// Assign the loaded ad to the BannerAd object.
bannerAd = ad;
// Step 3 - Call BannerAd.getView() to get the View and add it
// to view hierarchy on the UI thread.
if (getActivity() != null) {
getActivity()
.runOnUiThread(() ->
binding.bannerViewContainer.addView(ad.getView(getActivity())));
}
}
@Override
public void onAdFailedToLoad(@NonNull LoadAdError adError) {
bannerAd = null;
}
});
}
इनलाइन अडैप्टिव बैनर का लेआउट सेट करना
किसी लेआउट के लिए, इनलाइन अडैप्टिव बैनर विज्ञापन को प्रीलोड करने के लिए, इन तरीकों का इस्तेमाल करें:
AdSize.getPortraitInlineAdaptiveBannerAdSize(Context context, int width)AdSize.getLandscapeInlineAdaptiveBannerAdSize(Context context, int width)
अगर आपका ऐप्लिकेशन पोर्ट्रेट और लैंडस्केप व्यू, दोनों के साथ काम करता है और आपको मौजूदा लेआउट में अडैप्टिव बैनर विज्ञापन को प्रीलोड करना है, तो AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(Context context, int width) तरीके का इस्तेमाल करें.
इस तरीके से, मौजूदा लेआउट में विज्ञापन लोड किया जाता है.
इनलाइन अडैप्टिव बैनर की ऊंचाई सीमित करना
डिफ़ॉल्ट रूप से, maxHeight वैल्यू के बिना बनाए गए इनलाइन अडैप्टिव बैनर की ज़्यादा से ज़्यादा ऊंचाई, डिवाइस की ऊंचाई के बराबर होती है. इनलाइन अडैप्टिव बैनर की ऊंचाई को सीमित करने के लिए, AdSize.getInlineAdaptiveBannerAdSize(int width, int maxHeight) तरीके का इस्तेमाल करें.