बैनर विज्ञापन, आयताकार विज्ञापन होते हैं. ये ऐप्लिकेशन के लेआउट का कुछ हिस्सा घेरते हैं. वे जब उपयोगकर्ता ऐप्लिकेशन के साथ इंटरैक्ट कर रहे हों, तब स्क्रीन पर बने रहते हैं. उनका जुड़ाव स्क्रीन के ऊपरी या निचले हिस्से या उपयोगकर्ता के स्क्रोल करते समय कॉन्टेंट के साथ इनलाइन दिखते हैं. बैनर विज्ञापन एक निश्चित समय अवधि के बाद अपने आप रीफ़्रेश हो सकते हैं. बैनर विज्ञापनों की खास जानकारी देखें हमारा वीडियो देखें.
इस गाइड में ऐंकर विज्ञापन दिखाने के लिए, इस्तेमाल शुरू करने का तरीका बताया गया है अडैप्टिव बैनर वाले विज्ञापन, इसका इस्तेमाल करके, हर डिवाइस के लिए विज्ञापन के साइज़ को ऑप्टिमाइज़ करके, विज्ञापन की परफ़ॉर्मेंस को बेहतर बनाया जाता है आपके विज्ञापन की चौड़ाई.
ऐंकर किए गए अडैप्टिव बैनर वाले विज्ञापन, सामान्य विज्ञापन के बजाय, तय आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) वाले विज्ञापन होते हैं तय साइज़ वाले विज्ञापन. आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) 320x50 इंडस्ट्री स्टैंडर्ड के जैसा होता है. एक बार आप पूरी चौड़ाई उपलब्ध कराते हैं, तो यह आपको सबसे अच्छी क्वालिटी वाला एक विज्ञापन दिखाएगा ऊंचाई. इससे आने वाले अनुरोधों के लिए सही ऊंचाई में कोई बदलाव नहीं होता उसी डिवाइस पर विज्ञापन दिखाता है, और विज्ञापन दिखाते समय आस-पास के दृश्यों को इधर-उधर जाने की ज़रूरत नहीं होती रीफ़्रेश करता है.
ज़रूरी शर्तें
- शुरुआती निर्देश के बारे में पूरी जानकारी दें.
हमेशा टेस्ट विज्ञापनों से टेस्ट करें
अपने ऐप्लिकेशन बनाते और उनकी जांच करते समय पक्का करें कि आप विज्ञापनों के बजाय टेस्ट विज्ञापनों का इस्तेमाल करें लाइव, प्रोडक्शन के लिए विज्ञापन. ऐसा न करने पर, आपका खाता निलंबित किया जा सकता है.
टेस्ट विज्ञापनों को लोड करने का सबसे आसान तरीका यह है कि आप Android बैनर:
/6499/example/adaptive-banner
इसे खास तौर पर कॉन्फ़िगर किया गया है, ताकि हर अनुरोध के आधार पर टेस्ट विज्ञापन दिखाए जा सकें. साथ ही, आपको कोडिंग, टेस्ट, और डीबग करने के दौरान, अपने ऐप्लिकेशन में इसका इस्तेमाल करें. बस यह पक्का करें कि अपना ऐप्लिकेशन पब्लिश करने से पहले, इसे अपने विज्ञापन यूनिट आईडी से बदलें.
Mobile Ads SDK के टेस्ट विज्ञापनों के काम करने के तरीके के बारे में ज़्यादा जानने के लिए, जांच करें Google Ads.
लेआउट में AdManagerAdView जोड़ें
बैनर दिखाने के लिए सबसे पहले AdManagerAdView
जोड़ें
लेआउट में Activity
या Fragment
के लिए जिसमें आप दिखाना चाहते हैं
यह:
Java
private AdSize getAdSize() {
// Determine the screen width (less decorations) to use for the ad width.
Display display = getWindowManager().getDefaultDisplay();
DisplayMetrics outMetrics = new DisplayMetrics();
display.getMetrics(outMetrics);
float density = outMetrics.density;
float adWidthPixels = adContainerView.getWidth();
// If the ad hasn't been laid out, default to the full screen width.
if (adWidthPixels == 0) {
adWidthPixels = outMetrics.widthPixels;
}
int adWidth = (int) (adWidthPixels / density);
return AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(this, adWidth);
}
private void loadBanner() {
// Create a new ad view.
AdManagerAdView adView = new AdManagerAdView(this);
adView.setAdSizes(getAdSize());
adView.setAdUnitId("/6499/example/adaptive-banner");
// Replace ad container with new ad view.
adContainerView.removeAllViews();
adContainerView.addView(adView);
// Start loading the ad in the background.
AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder().build();
adView.loadAd(adRequest);
}
Kotlin
// Determine the screen width (less decorations) to use for the ad width.
// If the ad hasn't been laid out, default to the full screen width.
private val adSize: AdSize
get() {
val display = windowManager.defaultDisplay
val outMetrics = DisplayMetrics()
display.getMetrics(outMetrics)
val density = outMetrics.density
var adWidthPixels = binding.adViewContainer.width.toFloat()
if (adWidthPixels == 0f) {
adWidthPixels = outMetrics.widthPixels.toFloat()
}
val adWidth = (adWidthPixels / density).toInt()
return AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(this, adWidth)
}
private fun loadBanner() {
// Create a new ad view.
val adView = AdManagerAdView(this)
adView.adSizes = adSize
adView.adUnitId = "/6499/example/adaptive-banner"
// Create an ad request.
val adRequest = AdManagerAdRequest.Builder().build()
// Start loading the ad in the background.
adView.loadAd(adRequest)
}
विज्ञापन लोड करें
AdManagerAdView के सही जगह पर आने के बाद, अगला कदम है
कोई विज्ञापन लोड करते हैं. loadAd()
के साथ ऐसा किया जाता है
AdManagerAdView
क्लास में तरीका. इसमें AdManagerAdRequest
पैरामीटर, जिसमें रनटाइम की जानकारी होती है, जैसे कि लक्ष्यीकरण जानकारी
एक विज्ञापन अनुरोध है.
यहां एक उदाहरण दिया गया है, जिसमें विज्ञापन को लोड करने का तरीका दिखाया गया है.onCreate()
Activity
:
Java
private void loadBanner() {
// Create a new ad view.
adView = new AdManagerAdView(this);
adView.setAdUnitId(AD_UNIT);
adView.setAdSize(getAdSize());
// Replace ad container with new ad view.
adContainerView.removeAllViews();
adContainerView.addView(adView);
// Start loading the ad in the background.
AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder().build();
adView.loadAd(adRequest);
}
Kotlin
private fun loadBanner() {
// This is an ad unit ID for a test ad. Replace with your own banner ad unit ID.
adView.adUnitId = "/6499/example/banner"
adView.setAdSize(adSize)
// Create an ad request.
val adRequest = AdManagerAdRequest.Builder().build()
// Start loading the ad in the background.
adView.loadAd(adRequest)
}
अगर आपका विज्ञापन लोड नहीं होता है, तो आपको स्पष्ट रूप से जब तक कि आपने अपनी विज्ञापन यूनिट को रीफ़्रेश करने के लिए कॉन्फ़िगर किया है; Google Mobile Ads SDK Ad Manager में बताई गई किसी रीफ़्रेश दर का पालन करता है वेब इंटरफ़ेस हो सकता है. अगर आपने रीफ़्रेश करने की सुविधा चालू नहीं की है, तो आपको एक नया जारी करना होगा. अनुरोध.
हो गया! अब आपका ऐप्लिकेशन, बैनर विज्ञापन दिखाने के लिए तैयार है.
विज्ञापन इवेंट
विज्ञापन के लाइफ़साइकल में कई इवेंट सुने जा सकते हैं, जैसे कि लोड होना, विज्ञापन इंप्रेशन और क्लिक के साथ-साथ विज्ञापन खोलने और बंद करने के इवेंट होते हैं. इसका सुझाव दिया जाता है का इस्तेमाल करें.Java
AdManagerAdView.setAdListener(new AdListener() {
@Override
public void onAdClicked() {
// Code to be executed when the user clicks on an ad.
}
@Override
public void onAdClosed() {
// Code to be executed when the user is about to return
// to the app after tapping on an ad.
}
@Override
public void onAdFailedToLoad(LoadAdError adError) {
// Code to be executed when an ad request fails.
}
@Override
public void onAdImpression() {
// Code to be executed when an impression is recorded
// for an ad.
}
@Override
public void onAdLoaded() {
// Code to be executed when an ad finishes loading.
}
@Override
public void onAdOpened() {
// Code to be executed when an ad opens an overlay that
// covers the screen.
}
});
Kotlin
AdManagerAdView.adListener = object: AdListener() {
override fun onAdClicked() {
// Code to be executed when the user clicks on an ad.
}
override fun onAdClosed() {
// Code to be executed when the user is about to return
// to the app after tapping on an ad.
}
override fun onAdFailedToLoad(adError : LoadAdError) {
// Code to be executed when an ad request fails.
}
override fun onAdImpression() {
// Code to be executed when an impression is recorded
// for an ad.
}
override fun onAdLoaded() {
// Code to be executed when an ad finishes loading.
}
override fun onAdOpened() {
// Code to be executed when an ad opens an overlay that
// covers the screen.
}
}
बदली जा सकने वाली हर
AdListener
किसी विज्ञापन के लाइफ़साइकल में होने वाले इवेंट से मेल खाता हो.
ऐसे तरीके जिन्हें बदला जा सकता है | |
---|---|
onAdClicked() |
onAdClicked()
तरीका तब शुरू किया जाता है, जब किसी विज्ञापन के लिए क्लिक रिकॉर्ड किया जाता है.
|
onAdClosed() |
onAdClosed()
वाला तरीका तब शुरू किया जाता है, जब कोई उपयोगकर्ता किसी विज्ञापन को देखने के बाद ऐप्लिकेशन पर वापस आता है
डेस्टिनेशन यूआरएल में शामिल है. निलंबित की गई गतिविधियों को फिर से शुरू करने के लिए, आपका ऐप्लिकेशन इसका इस्तेमाल कर सकता है या
इंटरैक्शन के लिए खुद को तैयार करने के लिए कोई ज़रूरी काम करता है.
|
onAdFailedToLoad() |
onAdFailedToLoad()
तरीका सिर्फ़ वह तरीका है जिसमें पैरामीटर शामिल होता है. गड़बड़ी वाला पैरामीटर टाइप
LoadAdError बताता है कि क्या गड़बड़ी हुई थी. ज़्यादा जानकारी के लिए,
विज्ञापन लोड करने से जुड़ी गड़बड़ियों को डीबग करने के बारे में जानकारी
दस्तावेज़ में दिया गया है.
|
onAdImpression() |
onAdImpression()
तरीका तब शुरू किया जाता है, जब किसी विज्ञापन के लिए इंप्रेशन रिकॉर्ड किया जाता है.
|
onAdLoaded() |
onAdLoaded()
तरीका, किसी विज्ञापन के लोड होने के बाद लागू किया जाता है. अगर आपको देरी करनी है
AdManagerAdView जोड़ें
या फ़्रैगमेंट का डेटा सेव कर सकते हैं,
उदाहरण के लिए, आप यहां ऐसा कर सकते हैं.
|
onAdOpened() |
onAdOpened()
तरीका तब शुरू किया जाता है, जब कोई विज्ञापन स्क्रीन को कवर करने वाला ओवरले खोलता है.
|
वीडियो विज्ञापनों में हार्डवेयर की मदद से तेज़ी लाने की सुविधा
अपने बैनर विज्ञापन व्यू में वीडियो विज्ञापन दिखाने के लिए, हार्डवेयर त्वरण के लिए यह ज़रूरी है चालू होना चाहिए.
हार्डवेयर की मदद से तेज़ी लाने की सुविधा डिफ़ॉल्ट रूप से चालू होती है. हालांकि, कुछ ऐप्लिकेशन इसे बंद करने का विकल्प चुन सकते हैं
इसे. अगर यह शर्त आपके ऐप्लिकेशन पर लागू होती है, तो हमारा सुझाव है कि आप 'हार्डवेयर से तेज़ी लाएं' सुविधा चालू करें
Activity
क्लास, जिनमें विज्ञापनों का इस्तेमाल किया जाता है.
हार्डवेयर की मदद से तेज़ी लाने की सुविधा चालू करना
हार्डवेयर से तेज़ी लाने की सुविधा चालू करने पर, अगर आपका ऐप्लिकेशन ठीक से काम नहीं करता है
दुनिया भर में, इसे अलग-अलग गतिविधियों के लिए भी कंट्रोल किया जा सकता है. चालू करने के लिए या
हार्डवेयर की मदद से तेज़ी लाने की सुविधा बंद करें, तो आप android:hardwareAccelerated
का इस्तेमाल कर सकते हैं
एट्रिब्यूट
<application>
और
<activity>
आपके AndroidManifest.xml
के तत्वों में शामिल हैं. नीचे दिए गए उदाहरण में हार्डवेयर को चालू किया गया है
ऐप्लिकेशन की मदद से तेज़ी लाता है, लेकिन इसे किसी एक गतिविधि के लिए बंद कर देता है:
<application android:hardwareAccelerated="true">
<!-- For activities that use ads, hardwareAcceleration should be true. -->
<activity android:hardwareAccelerated="true" />
<!-- For activities that don't use ads, hardwareAcceleration can be false. -->
<activity android:hardwareAccelerated="false" />
</application>
हार्डवेयर से तेज़ी लाने के लिए, ज़्यादा जानकारी के लिए, गाइड हार्डवेयर की मदद से तेज़ी लाने को कंट्रोल करने के विकल्पों के बारे में जानकारी. ध्यान दें कि अगर अलग-अलग विज्ञापन व्यू को हार्डवेयर से तेज़ी लाने के लिए बंद है, इसलिए गतिविधि में हार्डवेयर से तेज़ी लाने की सुविधा चालू होनी चाहिए.
इंप्रेशन की मैन्युअल तरीके से गिनती
इंप्रेशन की मैन्युअल तरीके से गिनती करने की सुविधा, सिर्फ़ सीधे तौर पर बेचे जाने वाले विज्ञापन और हाउस कैंपेन के लिए इस्तेमाल की जा सकती है क्रिएटिव वाले कैंपेन सीधे Ad Manager में भेजे जाते हैं. इसे नहीं होना चाहिए डेटा का इस्तेमाल, बैकफ़िल या तीसरे पक्ष के नेटवर्क से जुड़े विज्ञापनों के लिए किया जाता है. अधिक विवरण के लिए, गिनती इंप्रेशन और क्लिक के बारे में ज़्यादा जानें.
अगर आपके पास कोई खास
इंप्रेशन रिकॉर्ड किए जाने की शर्तें तय करती हैं. ऐसा करने के लिए,
कोई विज्ञापन लोड करने से पहले मैन्युअल इंप्रेशन के लिए AdManagerAdRequest
:
Java
AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder()
.setManualImpressionsEnabled(true)
.build();
Kotlin
val adRequest = AdManagerAdRequest.Builder()
.setManualImpressionsEnabled(true)
.build()
जब आपको पता चलता है कि विज्ञापन सही तरीके से दिख रहा है और वह स्क्रीन पर दिख रहा है, तो आप मैन्युअल रूप से इंप्रेशन रिकॉर्ड कर सकते हैं:
Java
{ ad_view }.recordManualImpression();
Kotlin
AdManagerAdView.recordManualImpression()
ऐप्लिकेशन इवेंट
ऐप्लिकेशन इवेंट की मदद से, ऐसे विज्ञापन बनाए जा सकते हैं जिनसे उनके ऐप्लिकेशन कोड पर मैसेज भेजा जा सकता है. ऐप्लिकेशन तो इन मैसेज के आधार पर कार्रवाइयां की जा सकती हैं.
AppEventListener
का इस्तेमाल करके, Ad Manager के खास ऐप्लिकेशन इवेंट का पता लगाया जा सकता है.
ये इवेंट विज्ञापन के लाइफ़साइकल के दौरान किसी भी समय हो सकते हैं, यहां तक कि पहले
onAdLoaded()
पर कॉल किया गया है.
Java
public interface AppEventListener {
void onAppEvent(String name, String info);
}
Kotlin
interface AppEventListener {
fun onAppEvent(name: String, info: String)
}
ऐप्लिकेशन इवेंट होने पर void onAppEvent(String name, String info)
को कॉल किया जाता है
एक विज्ञापन में. इस इंटरफ़ेस को आपकी गतिविधि या किसी भी अन्य पेज पर लागू किया जा सकता है
ऑब्जेक्ट:
Java
import com.google.android.gms.ads.admanager.*;
public class BannerExample extends Activity implements AppEventListener {
}
Kotlin
import com.google.android.gms.ads.admanager.*
class BannerExample : Activity(), AppEventListener {
}
और फिर AdManagerAdView
को दी गई:
Java
AdManagerAdView.setAppEventListener(this);
Kotlin
AdManagerAdView.appEventListener = this
यहां एक उदाहरण दिया गया है, जिसमें आपके ऐप्लिकेशन के बैकग्राउंड का रंग बदलने का तरीका बताया गया है रंग के नाम वाले ऐप्लिकेशन इवेंट के आधार पर:
Java
@Override
public void onAppEvent(String name, String info) {
if ("color".equals(name)) {
if ("green".equals(info)) {
// Set background color to green.
} else if ("blue".equals(info)) {
// Set background color to blue.
} else {
// Set background color to black.
}
}
}
Kotlin
override fun onAppEvent(name: String?, info: String?) {
if (name == "color") {
when (info) {
"green" -> {
// Set background color to green.
}
"blue" -> {
// Set background color to blue.
}
else -> {
// Set background color to black.
}
}
}
}
और यहां संबंधित क्रिएटिव दिया गया है जो रंगीन ऐप्लिकेशन इवेंट संदेश भेजता है लिसनर:
<html>
<head>
<script src="//www.gstatic.com/afma/api/v1/google_mobile_app_ads.js"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
// Send a color=green event when ad loads.
admob.events.dispatchAppEvent("color", "green");
document.getElementById("ad").addEventListener("click", function() {
// Send a color=blue event when ad is clicked.
admob.events.dispatchAppEvent("color", "blue");
});
});
</script>
<style>
#ad {
width: 320px;
height: 50px;
top: 0px;
left: 0px;
font-size: 24pt;
font-weight: bold;
position: absolute;
background: black;
color: white;
text-align: center;
}
</style>
</head>
<body>
<div id="ad">Carpe diem!</div>
</body>
</html>
ऐप्लिकेशन इवेंट लागू करने के लिए, Ad Manager ऐप्लिकेशन इवेंट का उदाहरण देखें एपीआई डेमो ऐप्लिकेशन.
अन्य संसाधन
GitHub पर उदाहरण
अगले चरण
छोटे किए जा सकने वाले बैनर
छोटे हो सकने वाले बैनर विज्ञापन ऐसे बैनर विज्ञापन होते हैं जो शुरुआत में बड़े साइज़ के ओवरले पर क्लिक करें. इसका इस्तेमाल करें का इस्तेमाल करें. ज़्यादा जानकारी के लिए, छोटे हो जाने वाले बैनर विज्ञापन देखें.
इनलाइन अडैप्टिव बैनर
ऐंकर किए गए अडैप्टिव बैनर की तुलना में, इनलाइन अडैप्टिव बैनर बड़े और लंबे होते हैं बैनर. इनकी ऊंचाई अलग-अलग होती है और ये डिवाइस की स्क्रीन जितनी लंबी हो सकती हैं. इनके लिए, ऐंकर किए गए अडैप्टिव बैनर वाले विज्ञापनों के बजाय, इनलाइन अडैप्टिव बैनर का सुझाव दिया जाता है ऐसे ऐप्लिकेशन जो स्क्रोल किए जा सकने वाले कॉन्टेंट में बैनर विज्ञापन दिखाते हैं. इनलाइन अडैप्टिव देखें बैनर विज्ञापन देखें. विवरण.