बैनर विज्ञापन, आयताकार विज्ञापन होते हैं. ये ऐप्लिकेशन के लेआउट का कुछ हिस्सा घेरते हैं. जब उपयोगकर्ता आपके ऐप्लिकेशन के साथ इंटरैक्ट करते हैं, तब स्क्रीन पर सबसे ऊपर या सबसे नीचे बैनर विज्ञापन दिखते रहते हैं. इसी तरह स्क्रीन पर स्क्रोल करने के दौरान भी ये विज्ञापन इनलाइन होकर दिखते रहते हैं. बैनर विज्ञापन एक निश्चित समय अवधि के बाद अपने आप रीफ़्रेश हो सकते हैं. बैनर विज्ञापनों की खास जानकारी देखें हमारा वीडियो देखें.
इस गाइड में ऐंकर विज्ञापन दिखाने के लिए, इस्तेमाल शुरू करने का तरीका बताया गया है अडैप्टिव बैनर वाले विज्ञापन, इसका इस्तेमाल करके, हर डिवाइस के लिए विज्ञापन के साइज़ को ऑप्टिमाइज़ करके, विज्ञापन की परफ़ॉर्मेंस को बेहतर बनाया जाता है आपके विज्ञापन की चौड़ाई.
ऐंकर किए गए अडैप्टिव बैनर विज्ञापन, सामान्य तौर पर तय साइज़ के विज्ञापनों के बजाय, तय आसपेक्ट रेशियो वाले विज्ञापन होते हैं. आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) 320x50 इंडस्ट्री स्टैंडर्ड के जैसा होता है. एक बार आप पूरी चौड़ाई उपलब्ध कराते हैं, तो यह आपको सबसे अच्छी क्वालिटी वाला एक विज्ञापन दिखाएगा ऊंचाई. एक ही डिवाइस से किए गए अनुरोधों के लिए, सबसे सही ऊंचाई में कोई बदलाव नहीं होता. साथ ही, विज्ञापन रीफ़्रेश होने पर, आस-पास के व्यू को दूसरी जगह ले जाने की ज़रूरत नहीं होती.
ज़रूरी शर्तें
- शुरुआती निर्देशों की गाइड को पूरा करें.
हमेशा टेस्ट विज्ञापनों से टेस्ट करें
अपने ऐप्लिकेशन बनाते और उनकी जांच करते समय पक्का करें कि आप विज्ञापनों के बजाय टेस्ट विज्ञापनों का इस्तेमाल करें लाइव, प्रोडक्शन विज्ञापन. ऐसा न करने पर, आपका खाता निलंबित किया जा सकता है.
टेस्ट विज्ञापनों को लोड करने का सबसे आसान तरीका यह है कि आप Android बैनर:
/21775744923/example/adaptive-banner
इसे खास तौर पर कॉन्फ़िगर किया गया है, ताकि हर अनुरोध के आधार पर टेस्ट विज्ञापन दिखाए जा सकें. साथ ही, आपको कोडिंग, टेस्ट, और डीबग करने के दौरान, अपने ऐप्लिकेशन में इसका इस्तेमाल करें. बस यह पक्का करें कि अपना ऐप्लिकेशन पब्लिश करने से पहले, इसे अपने विज्ञापन यूनिट आईडी से बदलें.
Mobile Ads SDK के टेस्ट विज्ञापनों के काम करने के तरीके के बारे में ज़्यादा जानने के लिए, जांच करें Google Ads.
लेआउट में AdManagerAdView जोड़ें
बैनर दिखाने के लिए, सबसे पहले अपने ऐप्लिकेशन के लेआउट में AdManagerAdView
को डालें:
Java
// 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);
Kotlin
// Create a new ad view.
val adView = AdManagerAdView(this)
adView.adUnitId = AD_UNIT_ID
adView.setAdSize(adSize)
this.adView = adView
// Replace ad container with new ad view.
binding.adViewContainer.removeAllViews()
binding.adViewContainer.addView(adView)
विज्ञापन लोड करें
AdManagerAdView के सही जगह पर आने के बाद, अगला कदम है
कोई विज्ञापन लोड करते हैं. loadAd()
के साथ ऐसा किया जाता है
AdManagerAdView
क्लास में तरीका. यह एक AdManagerAdRequest
पैरामीटर लेता है, जिसमें किसी एक विज्ञापन अनुरोध के बारे में टारगेटिंग की जानकारी जैसी रनटाइम की जानकारी होती है.
यहां विज्ञापन लोड करने का तरीका दिखाने वाला एक उदाहरण दिया गया है:
Java
// Start loading the ad in the background.
AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder().build();
adView.loadAd(adRequest);
Kotlin
// Start loading the ad in the background.
val adRequest = AdManagerAdRequest.Builder().build()
adView.loadAd(adRequest)
अगर विज्ञापन लोड नहीं होता है, तो आपको साफ़ तौर पर जब तक कि आपने अपनी विज्ञापन यूनिट को रीफ़्रेश करने के लिए कॉन्फ़िगर किया है; Google Mobile Ads SDK Ad Manager में बताई गई किसी रीफ़्रेश दर का पालन करता है वेब इंटरफ़ेस हो सकता है. अगर आपने रीफ़्रेश करने की सुविधा चालू नहीं की है, तो आपको एक नया जारी करना होगा. अनुरोध.
हो गया! आपका ऐप्लिकेशन अब बैनर विज्ञापन दिखाने के लिए तैयार है.
विज्ञापन इवेंट
विज्ञापन के लाइफ़साइकल में कई इवेंट सुने जा सकते हैं, जैसे कि लोड होना, विज्ञापन इंप्रेशन और क्लिक के साथ-साथ विज्ञापन खोलने और बंद करने के इवेंट होते हैं. इसका सुझाव दिया जाता है का इस्तेमाल करें.Java
adView.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
adView.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 पर मौजूद उदाहरण
अगले चरण
छोटे किए जा सकने वाले बैनर
छोटे किए जा सकने वाले बैनर विज्ञापन, बैनर विज्ञापन होते हैं. शुरुआत में, इन्हें बड़े ओवरले के तौर पर दिखाया जाता है. साथ ही, इनमें विज्ञापन को छोटे साइज़ में करने के लिए बटन होता है. इसका इस्तेमाल करें का इस्तेमाल करें. ज़्यादा जानकारी के लिए, छोटे हो जाने वाले बैनर विज्ञापन देखें.
इनलाइन अडैप्टिव बैनर
ऐंकर किए गए अडैप्टिव बैनर की तुलना में, इनलाइन अडैप्टिव बैनर बड़े और लंबे होते हैं बैनर. इनकी ऊंचाई अलग-अलग होती है और ये डिवाइस की स्क्रीन जितनी लंबी हो सकती हैं. इनके लिए, ऐंकर किए गए अडैप्टिव बैनर वाले विज्ञापनों के बजाय, इनलाइन अडैप्टिव बैनर का सुझाव दिया जाता है ऐसे ऐप्लिकेशन जो स्क्रोल किए जा सकने वाले कॉन्टेंट में बैनर विज्ञापन दिखाते हैं. इनलाइन अडैप्टिव देखें ज़्यादा जानकारी के लिए बैनर विवरण.