नेटिव विज्ञापनों में कई बेहतर सुविधाएं होती हैं. इनकी मदद से, विज्ञापनों को ज़्यादा पसंद के मुताबिक बनाया जा सकता है और विज्ञापन देखने का बेहतरीन अनुभव दिया जा सकता है. इस गाइड में, नेटिव विज्ञापनों की ऐडवांस सुविधाओं को इस्तेमाल करने का तरीका बताया गया है.
ज़रूरी शर्तें
- नेटिव विज्ञापन फ़ॉर्मैट इंटिग्रेट करें.
ऐसेट कंट्रोल
मीडिया के आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) के लिए पसंदीदा कंट्रोल
मीडिया आसपेक्ट रेशियो कंट्रोल की मदद से, विज्ञापन क्रिएटिव के आसपेक्ट रेशियो के लिए प्राथमिकता तय की जा सकती है.
NativeAdOptions.MediaAspectRatio
वैल्यू के साथ NativeAdOptions.Builder.setMediaAspectRatio()
को कॉल करें.
सेट न होने पर, दिखाए गए विज्ञापन का आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) कुछ भी हो सकता है.
सेट होने के बाद, उपयोगकर्ता अनुभव को बेहतर बनाने के लिए, पसंदीदा आसपेक्ट रेशियो तय किया जा सकता है.
यहां दिए गए उदाहरण में, एसडीके टूल को किसी खास आसपेक्ट रेशियो वाली इमेज या वीडियो को प्राथमिकता देने का निर्देश दिया गया है.
NativeAdOptions nativeAdOptions = new NativeAdOptions.Builder()
.setMediaAspectRatio(NativeAdOptions.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
.build();
AdLoader loader = new AdLoader.Builder(this, '/21775744923/example/native')
.withNativeAdOptions(nativeAdOptions)
.build();
इमेज डाउनलोड करने की सुविधा
इमेज डाउनलोड कंट्रोल की मदद से, यह तय किया जा सकता है कि एसडीके से इमेज ऐसेट या सिर्फ़ यूआरआई दिखाए जाएं.
boolean
वैल्यू के साथ NativeAdOptions.Builder.setReturnUrlsForImageAssets()
को कॉल करें.
इमेज डाउनलोड करने की सेटिंग डिफ़ॉल्ट रूप से बंद होती हैं.
बंद होने पर, Google Mobile Ads SDK टूल आपके लिए इमेज और यूआरआई, दोनों को पॉप्युलेट करता है.
चालू होने पर, SDK टूल सिर्फ़ यूआरआई को पॉप्युलेट करता है. इससे, अपनी पसंद के मुताबिक असली इमेज डाउनलोड की जा सकती हैं.
इस उदाहरण में, एसडीके को सिर्फ़ यूआरआई दिखाने का निर्देश दिया गया है.
NativeAdOptions nativeAdOptions = new NativeAdOptions.Builder()
.setReturnUrlsForImageAssets(true)
.build();
AdLoader loader = new AdLoader.Builder(this, '/21775744923/example/native')
.withNativeAdOptions(nativeAdOptions)
.forNativeAd(nativeAd -> {
List<Uri> imageUris = new ArrayList<>();
for (Image image : nativeAd.getImages()) {
imageUris.add(image.getUri());
}
})
.build();
इमेज पेलोड कंट्रोल
कुछ विज्ञापनों में एक के बजाय कई इमेज होती हैं. इस सुविधा का इस्तेमाल करके, यह बताएं कि आपका ऐप्लिकेशन सभी इमेज दिखाने के लिए तैयार है या सिर्फ़ एक इमेज दिखाने के लिए.
boolean
वैल्यू के साथ NativeAdOptions.Builder.setRequestMultipleImages()
को कॉल करें.
इमेज पेलोड कंट्रोल डिफ़ॉल्ट रूप से बंद होते हैं.
बंद होने पर, आपका ऐप्लिकेशन SDK टूल को निर्देश देता है कि वह किसी भी ऐसी ऐसेट के लिए सिर्फ़ पहली इमेज दिखाए जिसमें सीरीज़ शामिल हो.
चालू होने पर, आपका ऐप्लिकेशन यह दिखाता है कि वह एक से ज़्यादा ऐसेट वाली सभी इमेज दिखाने के लिए तैयार है.
यहां दिए गए उदाहरण में, एसडीके को एक से ज़्यादा इमेज ऐसेट दिखाने का निर्देश दिया गया है.
NativeAdOptions nativeAdOptions = new NativeAdOptions.Builder()
.setRequestMultipleImages(true)
.build();
AdLoader loader = new AdLoader.Builder(this, '/21775744923/example/native')
.withNativeAdOptions(nativeAdOptions)
.build();
AdChoices प्लेसमेंट
AdChoices की पोज़िशन कंट्रोल करने की सुविधा
AdChoices की पोज़िशन कंट्रोल की मदद से, यह चुना जा सकता है कि AdChoices आइकॉन को किस कोने में रेंडर करना है.
NativeAdOption.AdChoicesPlacement
वैल्यू के साथ NativeAdOptions.Builder.setAdChoicesPlacement()
को कॉल करें.
अगर इस विकल्प को सेट नहीं किया गया है, तो AdChoices आइकॉन की पोज़िशन सबसे ऊपर दाईं ओर सेट होती है.
अगर यह सेट है, तो AdChoices को अनुरोध के मुताबिक कस्टम पोज़िशन पर रखा जाता है.
इस उदाहरण में, AdChoices की कस्टम इमेज की पोज़िशन सेट करने का तरीका बताया गया है.
NativeAdOptions nativeAdOptions = new NativeAdOptions.Builder()
.setAdChoicesPlacement(NativeAdOptions.ADCHOICES_BOTTOM_RIGHT)
.build();
AdLoader loader = new AdLoader.Builder(this, '/21775744923/example/native')
.withNativeAdOptions(nativeAdOptions)
.build();
AdChoices का कस्टम व्यू
AdChoices के कस्टम व्यू की सुविधा की मदद से, AdChoices आइकॉन को अपनी पसंद के मुताबिक जगह पर रखा जा सकता है. यह AdChoices की पोज़िशन कंट्रोल से अलग है. इसमें सिर्फ़ चार में से किसी एक कोने की जानकारी दी जा सकती है.
AdChoicesView
वैल्यू के साथ NativeAdView.setAdChoicesView()
को कॉल करें.
यहां दिए गए उदाहरण में, AdChoicesView
में रेंडर किए गए AdChoices आइकॉन के साथ, कस्टम AdChoices व्यू सेट करने का तरीका बताया गया है.
public void onNativeAdLoaded(NativeAd ad) {
NativeAdView nativeAdView = new NativeAdView(getApplicationContext());
AdChoicesView adChoicesView = new AdChoicesView(this);
nativeAdView.setAdChoicesView(adChoicesView);
}
वीडियो के कंट्रोल
म्यूट करने की सुविधा चालू करना
वीडियो शुरू होने पर म्यूट होने की सुविधा की मदद से, वीडियो के शुरू होने पर ऑडियो को म्यूट या अनम्यूट किया जा सकता है.
boolean
वैल्यू के साथ VideoOptions.Builder.setStartMuted()
को कॉल करें.
वीडियो शुरू होने पर उसे म्यूट रखने की सुविधा डिफ़ॉल्ट रूप से चालू होती है.
बंद होने पर, आपका ऐप्लिकेशन अनुरोध करता है कि वीडियो, ऑडियो के साथ शुरू होना चाहिए.
इस सुविधा के चालू होने पर, आपका ऐप्लिकेशन अनुरोध करता है कि वीडियो शुरू होने पर उसका ऑडियो म्यूट हो.
इस उदाहरण में, वीडियो को बिना म्यूट किए शुरू करने का तरीका बताया गया है.
VideoOptions videoOptions = new VideoOptions.Builder()
.setStartMuted(false)
.build();
NativeAdOptions adOptions = new NativeAdOptions.Builder()
.setVideoOptions(videoOptions)
.build();
AdLoader loader = new AdLoader.Builder(this, '/21775744923/example/native')
.withNativeAdOptions(adOptions).build();
प्लेबैक के लिए कस्टम कंट्रोल
इसकी मदद से, वीडियो को चलाने, रोकने या म्यूट करने के लिए, वीडियो इनपुट के कस्टम कंट्रोल का अनुरोध किया जा सकता है.
boolean
वैल्यू के साथ VideoOptions.Builder.setCustomControlsRequested()
को कॉल करें.
प्लेबैक के लिए कस्टम कंट्रोल की सुविधा डिफ़ॉल्ट रूप से बंद होती है.
बंद होने पर, आपके वीडियो में SDK टूल से रेंडर किए गए इनपुट कंट्रोल दिखेंगे.
- अगर विज्ञापन में वीडियो कॉन्टेंट है और कस्टम कंट्रोल चालू हैं, तो आपको विज्ञापन के साथ अपने कस्टम कंट्रोल दिखाने चाहिए. ऐसा इसलिए, क्योंकि विज्ञापन में अपने-आप कोई कंट्रोल नहीं दिखेगा. इसके बाद, कंट्रोलर
VideoController
पर काम के मेथड को कॉल कर सकते हैं.
यहां दिए गए उदाहरण में, पसंद के मुताबिक प्लेबैक कंट्रोल वाले वीडियो का अनुरोध करने का तरीका बताया गया है.
VideoOptions videoOptions = new VideoOptions.Builder()
.setCustomControlsRequested(true)
.build();
NativeAdOptions adOptions = new NativeAdOptions.Builder()
.setVideoOptions(videoOptions)
.build();
AdLoader loader = new AdLoader.Builder(this, '/21775744923/example/native')
.withNativeAdOptions(adOptions).build();
देखें कि कस्टम कंट्रोल चालू हैं या नहीं
अनुरोध करने के समय यह पता नहीं चलता कि दिखाए गए विज्ञापन में, वीडियो के कस्टम कंट्रोल की सुविधा चालू होगी या नहीं. इसलिए, आपको यह देखना होगा कि उसमें कस्टम कंट्रोल की सुविधा चालू है या नहीं.
Java
@Override
public void onNativeAdLoaded(NativeAd nativeAd) {
MediaContent mediaContent = nativeAd.getMediaContent();
if (mediaContent != null) {
VideoController videoController = mediaContent.getVideoController();
boolean canShowCustomControls = videoController.isCustomControlsEnabled();
}
}
Kotlin
NativeAd.OnNativeAdLoadedListener { ad ->
val mediaContent = ad.mediaContent
if (mediaContent != null) {
val videoController = mediaContent.videoController
val canShowCustomControls = videoController.isCustomControlsEnabled
}
}
वीडियो विज्ञापनों के लिए कस्टम कंट्रोल रेंडर करना
इन सबसे सही तरीकों का इस्तेमाल करके, वीडियो के कस्टम कंट्रोल रेंडर करें:
- कस्टम कंट्रोल व्यू को नेटिव विज्ञापन व्यू के चाइल्ड व्यू के तौर पर रेंडर करें. इस तरीके से यह पक्का किया जाता है कि ओपन मेज़रमेंट के ज़रिए विज्ञापन दिखने की दर का हिसाब लगाते समय, कस्टम कंट्रोल को आसानी से हटाया जा सकने वाली रुकावट माना जाता है.
- पूरे मीडिया व्यू पर, ऐसे ओवरले को रेंडर करने से बचें जो न दिखे. ओवरले, मीडिया व्यू पर क्लिक को ब्लॉक करते हैं. इससे नेटिव विज्ञापनों की परफ़ॉर्मेंस पर बुरा असर पड़ता है. इसके बजाय, एक छोटा ओवरले बनाएं, जो कंट्रोल के हिसाब से हो.
क्लिक करने के लिए कस्टम जेस्चर
कस्टम क्लिक जेस्चर, नेटिव विज्ञापनों की एक सुविधा है. इसकी मदद से, विज्ञापन व्यू पर स्वाइप करने की कार्रवाई को विज्ञापन पर क्लिक के तौर पर रजिस्टर किया जा सकता है. इसे उन ऐप्लिकेशन के साथ काम करने के लिए डिज़ाइन किया गया है जो कॉन्टेंट नेविगेशन के लिए स्वाइप जेस्चर का इस्तेमाल करते हैं. इस गाइड में, नेटिव विज्ञापनों पर कस्टम क्लिक जेस्चर चालू करने का तरीका बताया गया है.
NativeAdOptions.SwipeGestureDirection
और boolean
के साथ NativeAdOptions.Builder.enableCustomClickGestureDirection()
को कॉल करके यह बताएं कि आपको टैप को क्लिक के तौर पर इस्तेमाल करने की अनुमति देनी है या नहीं.
कस्टम क्लिक जेस्चर की सुविधा डिफ़ॉल्ट रूप से बंद होती है.
बंद होने पर, आपका ऐप्लिकेशन सामान्य तरीके से क्लिक करने की सुविधा देगा.
इस सुविधा को चालू करने पर, आपके ऐप्लिकेशन में कस्टम स्वाइप जेस्चर काम करेंगे.
इस उदाहरण में, दाईं ओर स्वाइप करने के लिए कस्टम जेस्चर लागू किया गया है. साथ ही, टैब के सामान्य व्यवहार को बनाए रखा गया है.
NativeAdOptions adOptions = new NativeAdOptions
.Builder()
.enableCustomClickGestureDirection(NativeAdOptions.SWIPE_GESTURE_DIRECTION_RIGHT,
/* tapsAllowed= */ true)
.build();
// The following sample ad unit ID has been enabled for custom click gestures
// and can be used for testing.
AdLoader.Builder builder = new AdLoader
.Builder(this, '/21775744923/example/native')
.withNativeAdOptions(adOptions);
स्वाइप जेस्चर इवेंट के लिए सुनना
जब स्वाइप जेस्चर क्लिक रिकॉर्ड किया जाता है, तो Google Mobile Ads SDK, AdListener
पर मौजूदा onAdClicked()
तरीके के साथ-साथ onAdSwipeGestureClicked()
तरीका भी इस्तेमाल करता है.
AdLoader adLoader = builder
.withAdListener(
new AdListener() {
// Called when a swipe gesture click is recorded.
@Override
public void onAdSwipeGestureClicked() {
Log.d(TAG, "A swipe gesture click has occurred.")
}
// Called when a swipe gesture click or a tap click is recorded, as
// configured in NativeAdOptions.
@Override
public void onAdClicked() {
Log.d(TAG, "A swipe gesture click or a tap click has occurred.")
}
})
.build();
मीडिएशन
कस्टम क्लिक जेस्चर सिर्फ़ उन नेटिव विज्ञापनों पर काम करते हैं जिन्हें Google Mobile Ads SDK रेंडर करता है. ऐसे विज्ञापन स्रोत जिन्हें रेंडर करने के लिए तीसरे पक्ष के SDK टूल की ज़रूरत होती है, कस्टम क्लिक निर्देश सेटिंग का जवाब नहीं देते.