बैनर विज्ञापन किसी ऐप्लिकेशन के लेआउट में जगह लेते हैं, या तो डिवाइस की स्क्रीन के सबसे ऊपर या नीचे. जब उपयोगकर्ता ऐप्लिकेशन के साथ इंटरैक्ट करते हैं, तो वे स्क्रीन पर बने रहते हैं और एक खास अवधि के बाद उन्हें अपने आप रीफ़्रेश कर सकते हैं. अगर आपको मोबाइल विज्ञापन के बारे में ज़्यादा जानकारी नहीं है, तो शुरू करने के लिए यह एक बेहतरीन विकल्प है. केस स्टडी.
इस गाइड मेंAdMob से Android ऐप्लिकेशन में बैनर विज्ञापनों को इंटिग्रेट करने का तरीका बताया गया है. कोड स्निपेट और निर्देशों के अलावा, इसमें बैनर को सही साइज़ देने और दूसरे संसाधनों के लिंक के बारे में जानकारी भी दी गई है.
ज़रूरी शर्तें
- शुरू करने की गाइड पूरी करें.
लेआउट में AdView जोड़ें
बैनर दिखाने के लिए, सबसे पहले आपको Activity
या Fragment
के लेआउट में AdView
डालना होगा. सबसे आसान तरीका है, संबंधित एक्सएमएल लेआउट फ़ाइल में एक साइटमैप जोड़ना. यहां एक गतिविधि का AdView
दिखाया गया है:
# main_activity.xml ... <com.google.android.gms.ads.AdView xmlns:ads="http://schemas.android.com/apk/res-auto" android:id="@+id/adView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_alignParentBottom="true" ads:adSize="BANNER" ads:adUnitId="ca-app-pub-3940256099942544/6300978111"> </com.google.android.gms.ads.AdView> ...
नीचे दिए गए ज़रूरी एट्रिब्यूट पर ध्यान दें:
ads:adSize
- इसे अपनी पसंद के विज्ञापन पर सेट करें. अगर आपको कॉन्सटेंट के ज़रिए तय किए गए स्टैंडर्ड साइज़ का इस्तेमाल नहीं करना है, तो आप कस्टम साइज़ सेट करें. ज़्यादा जानकारी के लिए, नीचे बैनर का साइज़ सेक्शन देखें.ads:adUnitId
- इसे आपके ऐप्लिकेशन में, विज्ञापन दिखाने के लिए, विज्ञापन यूनिट के मुताबिक यूनीक आइडेंटिफ़ायर पर सेट करें. अगर आप अलग-अलग गतिविधियों में बैनर विज्ञापन दिखाते हैं, तो हर विज्ञापन के लिए विज्ञापन यूनिट ज़रूरी होगी.
आप चाहें, तो प्रोग्राम बनाकर AdView
प्रोग्राम बना सकते हैं:
Java
AdView adView = new AdView(this); adView.setAdSize(AdSize.BANNER); adView.setAdUnitId("ca-app-pub-3940256099942544/6300978111"); // TODO: Add adView to your view hierarchy.
Kotlin
val adView = AdView(this) adView.adSize = AdSize.BANNER adView.adUnitId = "ca-app-pub-3940256099942544/6300978111" // TODO: Add adView to your view hierarchy.
हमेशा टेस्ट विज्ञापनों से टेस्ट करें
ऐप्लिकेशन बनाते और टेस्ट करते समय, पक्का करें कि आप लाइव विज्ञापनों और प्रोडक्शन विज्ञापनों के बजाय टेस्ट विज्ञापनों का इस्तेमाल करते हों. ऐसा न करने पर, आपका खाता निलंबित किया जा सकता है.
टेस्ट विज्ञापनों को लोड करने का सबसे आसान तरीका यह है कि Android बैनर के लिए बने हमारे खास टेस्ट विज्ञापन यूनिट आईडी का इस्तेमाल करें:
ca-app-pub-3940256099942544/6300978111
इसे हर अनुरोध के लिए टेस्ट विज्ञापन दिखाने के लिए खास तौर पर कॉन्फ़िगर किया गया है. साथ ही, आप कोडिंग, टेस्टिंग, और डीबग करते समय अपने ऐप्लिकेशन में इसका इस्तेमाल कर सकते हैं. अपना ऐप्लिकेशन पब्लिश करने से पहले, पक्का करें कि आप उसे अपनी विज्ञापन यूनिट के आईडी से बदल दें.
मोबाइल विज्ञापन SDK के टेस्ट विज्ञापन कैसे काम करते हैं, इस बारे में ज़्यादा जानकारी के लिए, टेस्ट विज्ञापन देखें.
विज्ञापन लोड करना
विज्ञापन सही जगह पर AdView दिखने के बाद, विज्ञापन को लोड करें. ऐसा करने के लिए, AdView
क्लास में
loadAd()
तरीका का इस्तेमाल करें. इसमें
AdRequest
पैरामीटर शामिल होता है, जिसमें किसी एक विज्ञापन अनुरोध के बारे में रनटाइम जानकारी (जैसे कि टारगेटिंग की जानकारी) शामिल
होती है.
यहां एक Activity
की onCreate()
प्रक्रिया में विज्ञापन लोड करने का तरीका बताया गया है:
मुख्य गतिविधि (खास जानकारी)
Java
package ... import ... import com.google.android.gms.ads.AdRequest; import com.google.android.gms.ads.AdView; public class MainActivity extends AppCompatActivity { private AdView mAdView; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); MobileAds.initialize(this, new OnInitializationCompleteListener() { @Override public void onInitializationComplete(InitializationStatus initializationStatus) { } }); mAdView = findViewById(R.id.adView); AdRequest adRequest = new AdRequest.Builder().build(); mAdView.loadAd(adRequest); } }
Kotlin
package ... import ... import com.google.android.gms.ads.AdRequest import com.google.android.gms.ads.AdView class MainActivity : AppCompatActivity() { lateinit var mAdView : AdView override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) MobileAds.initialize(this) {} mAdView = findViewById(R.id.adView) val adRequest = AdRequest.Builder().build() mAdView.loadAd(adRequest) } }
हो गया! आपका ऐप्लिकेशन अब बैनर विज्ञापन दिखाने के लिए तैयार है.
विज्ञापन इवेंट
अपने विज्ञापन के व्यवहार को और कस्टमाइज़ करने के लिए, आप विज्ञापन के लाइफ़साइकल में कई इवेंट शामिल कर सकते हैं: लोड करना, खोलना, बंद करना, वगैरह. AdListener
क्लास से इन इवेंट को सुना जा सकता है.
AdView
के साथ
AdListener
का इस्तेमाल करने के लिए, setAdListener()
तरीके पर कॉल करें:
Java
mAdView.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
mAdView.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()
तरीका तब शुरू किया जाता है, जब कोई उपयोगकर्ता किसी विज्ञापन का डेस्टिनेशन यूआरएल (विज्ञापन के लैंडिंग पेज का यूआरएल) देखने के बाद ऐप्लिकेशन पर वापस आता है.
निलंबित कार्रवाइयों को फिर से शुरू करने के लिए, आपका ऐप्लिकेशन इसका इस्तेमाल कर सकता है. इसके अलावा, कोई और काम करने के लिए भी इसका इस्तेमाल किया जा सकता है, ताकि इंटरैक्शन के लिए उसे तैयार किया जा सके.
Android API डेमो ऐप्लिकेशन में, विज्ञापन सुनने वाले के तरीकों को लागू करने के लिए,
AdMob
AdListener का उदाहरण
देखें.
|
onAdFailedToLoad()
|
onAdFailedToLoad()
सिर्फ़ एक तरीका है जिसमें पैरामीटर शामिल होता है. LoadAdError प्रकार के गड़बड़ी पैरामीटर से पता चलता है कि क्या गड़बड़ी हुई. ज़्यादा जानकारी के लिए,
विज्ञापन लोड करने से जुड़ी गड़बड़ियों का दस्तावेज़ देखना.
|
onAdImpression()
|
किसी विज्ञापन के लिए इंप्रेशन रिकॉर्ड होने पर onAdImpression() तरीका शुरू किया जाता है.
|
onAdLoaded()
|
onAdLoaded()
एक्ज़ीक्यूशन तब लागू होता है, जब कोई विज्ञापन लोड हो जाता है. अगर आपको अपनी गतिविधि या फ़्रैगमेंट में AdView तब तक नहीं जोड़ना है, जब तक आप यह पक्का न कर लें कि कोई विज्ञापन लोड होगा. उदाहरण के लिए, यहां ऐसा करें.
|
onAdOpened()
|
onAdOpened()
तरीका तब शुरू किया जाता है, जब कोई विज्ञापन स्क्रीन को कवर करता है.
|
बैनर आकार
नीचे दी गई टेबल में स्टैंडर्ड बैनर साइज़ दिए गए हैं.
dp में साइज़ (WxH) | जानकारी | उपलब्धता | AdSize कॉन्सटेंट |
---|---|---|---|
320x50 | बैनर | फ़ोन और टेबलेट | BANNER |
320x100 | बड़ा बैनर | फ़ोन और टेबलेट | LARGE_BANNER |
300x250 | IAB मध्यम आयत | फ़ोन और टेबलेट | MEDIUM_RECTANGLE |
468x60 | IAB का फ़ुल-साइज़ बैनर | टैबलेट | FULL_BANNER |
728x90 | IAB लीडरबोर्ड | टैबलेट | LEADERBOARD |
दी गई चौड़ाई x अडैप्टिव ऊंचाई | अडैप्टिव बैनर | फ़ोन और टेबलेट | लागू नहीं |
स्क्रीन की चौड़ाई x 32|50|90 | स्मार्ट बैनर | फ़ोन और टेबलेट | SMART_BANNER |
अडैप्टिव बैनर की जगह, अडैप्टिव बैनर के बारे में ज़्यादा जानें. |
पसंद के मुताबिक बैनर का साइज़ तय करने के लिए, अपनी पसंद के मुताबिक AdSize
सेट करें, जैसा कि यहां दिखाया गया है:
Java
AdSize adSize = new AdSize(300, 50);
Kotlin
val adSize = AdSize(300, 50)
वीडियो विज्ञापनों के लिए हार्डवेयर से तेज़ी लाना
अपने वीडियो विज्ञापन को अपने बैनर विज्ञापनों के व्यू में अच्छी तरह दिखाने के लिए, हार्डवेयर ऐक्सेलरेशन को चालू करना ज़रूरी है.
हार्डवेयर से तेज़ी लाने की सुविधा डिफ़ॉल्ट रूप से चालू होती है, लेकिन कुछ ऐप्लिकेशन इसे बंद करने का विकल्प चुन सकते हैं. अगर यह आपके ऐप्लिकेशन पर लागू होता है, तो हमारा सुझाव है कि विज्ञापनों का इस्तेमाल करने वाली गतिविधि की क्लास के लिए, हार्डवेयर को तेज़ी से चालू करें.
हार्डवेयर से तेज़ी लाने की सुविधा चालू करना
अगर आपका ऐप्लिकेशन दुनिया भर में हार्डवेयर से तेज़ी लाने की सुविधा के साथ ठीक से काम नहीं करता है, तो आप इसे हर गतिविधि के लिए अलग-अलग भी कंट्रोल कर सकते हैं. हार्डवेयर ऐक्सेलरेशन को
चालू या बंद करने के लिए, आप अपने
AndroidManifest.xml
में
<application>
और
<activity>
एलिमेंट के लिए
android:hardwareAccelerated
एट्रिब्यूट का इस्तेमाल कर सकते हैं. नीचे दिया गया उदाहरण पूरे ऐप्लिकेशन के लिए हार्डवेयर ऐक्सेलरेशन
को चालू करता है, लेकिन एक गतिविधि के लिए इसे बंद कर देता है:
<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>
हार्डवेयर त्वरण को नियंत्रित करने के विकल्पों के बारे में ज़्यादा जानकारी के लिए HW त्वरण गाइड देखें. ध्यान दें कि अगर गतिविधि बंद है, तो अलग-अलग विज्ञापन व्यू को हार्डवेयर ऐक्सेलरेशन के लिए चालू नहीं किया जा सकता. इसलिए, गतिविधि में हार्डवेयर से तेज़ी लाने की सुविधा चालू होनी चाहिए.
अन्य संसाधन
GitHub पर उदाहरण
'RecyclerView सैंपल' ऐप्लिकेशन: Java