नेटिव विज्ञापनों में कई बेहतर सुविधाएं होती हैं. इनकी मदद से, विज्ञापन को अपनी पसंद के मुताबिक बनाया जा सकता है और विज्ञापन का बेहतर अनुभव दिया जा सकता है. इस गाइड में, नेटिव विज्ञापनों की बेहतर सुविधाओं का इस्तेमाल करने का तरीका बताया गया है.
ज़रूरी शर्तें
- नेटिव विज्ञापन फ़ॉर्मैट को इंटिग्रेट करें.
ऐसेट कंट्रोल
इस सेक्शन में, नेटिव विज्ञापनों में क्रिएटिव ऐसेट को अपनी पसंद के मुताबिक बनाने का तरीका बताया गया है. आपके पास मीडिया ऐसेट के लिए, अपनी पसंद के हिसाब से आसपेक्ट रेशियो (चौड़ाई-ऊंचाई का अनुपात) तय करने का विकल्प होता है. साथ ही, यह तय करने का विकल्प होता है कि इमेज ऐसेट कैसे डाउनलोड और दिखाई जाएं.
अपनी पसंद के हिसाब से मीडिया के आसपेक्ट रेशियो (चौड़ाई-ऊंचाई का अनुपात) के कंट्रोल
मीडिया के आसपेक्ट रेशियो (चौड़ाई-ऊंचाई का अनुपात) के कंट्रोल की मदद से, विज्ञापन क्रिएटिव के आसपेक्ट रेशियो (चौड़ाई-ऊंचाई का अनुपात) के लिए अपनी पसंद तय की जा सकती है.
NativeAdRequest.Builder.setMediaAspectRatio()
को NativeAd.NativeMediaAspectRatio
वैल्यू के साथ कॉल करें.
अगर इसे सेट नहीं किया जाता है, तो दिखाए जाने वाले विज्ञापन का आसपेक्ट रेशियो (चौड़ाई-ऊंचाई का अनुपात) कोई भी हो सकता है.
इसे सेट करने पर, अपनी पसंद के हिसाब से आसपेक्ट रेशियो (चौड़ाई-ऊंचाई का अनुपात) तय करके, उपयोगकर्ता अनुभव को बेहतर बनाया जा सकता है.
यहां दिए गए उदाहरण में, एसडीके को निर्देश दिया गया है कि वह किसी खास आसपेक्ट रेशियो (चौड़ाई-ऊंचाई का अनुपात) वाली इमेज या वीडियो को प्राथमिकता दे.
Kotlin
val adRequest = NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
listOf(NativeAd.NativeAdType.NATIVE))
.setMediaAspectRatio(NativeAd.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
.build()
Java
NativeAdRequest adRequest = new NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
List.of(NativeAd.NativeAdType.NATIVE))
.setMediaAspectRatio(NativeAd.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
.build();
इमेज डाउनलोड करने का कंट्रोल
इमेज डाउनलोड करने के कंट्रोल की मदद से, यह तय किया जा सकता है कि एसडीके, इमेज ऐसेट या सिर्फ़ यूआरआई दिखाए.
NativeAdRequest.Builder.disableImageDownloading() को कॉल करें.
इमेज डाउनलोड करने के कंट्रोल डिफ़ॉल्ट रूप से बंद होते हैं.
इन्हें बंद करने पर, GMA Next-Gen SDK, आपके लिए इमेज और यूआरआई, दोनों दिखाता है.
इन्हें चालू करने पर, एसडीके सिर्फ़ यूआरआई दिखाता है. इससे, आपके पास अपनी पसंद के हिसाब से असली इमेज डाउनलोड करने का विकल्प होता है.
यहां दिए गए उदाहरण में, एसडीके को निर्देश दिया गया है कि वह सिर्फ़ यूआरआई दिखाए.
Kotlin
val adRequest = NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
listOf(NativeAd.NativeAdType.NATIVE))
.setMediaAspectRatio(NativeAd.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
.disableImageDownloading()
.build()
val adCallback: NativeAdLoaderCallback =
object : NativeAdLoaderCallback {
override fun onNativeAdLoaded(nativeAd: NativeAd) {
// Get the image uri.
val imageUri = nativeAd.image?.uri
}
};
// Load the native ad with the ad request and callback.
NativeAdLoader.load(adRequest, adLoaderCallback);
Java
NativeAdRequest adRequest = new NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
List.of(NativeAd.NativeAdType.NATIVE))
.disableImageDownloading()
.build();
NativeAdLoaderCallback adLoaderCallback =
new NativeAdLoaderCallback() {
@Override
public void onNativeAdLoaded(@NonNull NativeAd nativeAd) {
// Get the image uri.
Uri imageUri = nativeAd.getImage().getUri();
}
};
// Load the native ad with the ad request and callback.
NativeAdLoader.load(adRequest, adLoaderCallback);
इमेज पेलोड कंट्रोल
कुछ विज्ञापनों में सिर्फ़ एक इमेज के बजाय, इमेज की सीरीज़ होती है. इस सुविधा का इस्तेमाल करके, यह बताया जा सकता है कि आपका ऐप्लिकेशन, सभी इमेज या सिर्फ़ एक इमेज दिखाने के लिए तैयार है.
इमेज पेलोड कंट्रोल डिफ़ॉल्ट रूप से बंद होते हैं.
इन्हें बंद करने पर, आपका ऐप्लिकेशन, एसडीके को निर्देश देता है कि वह ऐसी किसी भी ऐसेट के लिए सिर्फ़ पहली इमेज दिखाए जिसमें इमेज की सीरीज़ हो.
इन्हें चालू करने पर, आपका ऐप्लिकेशन यह बताता है कि वह ऐसी किसी भी ऐसेट के लिए सभी इमेज दिखाने के लिए तैयार है जिसमें एक से ज़्यादा इमेज हों.
यहां दिए गए उदाहरण में, एसडीके को निर्देश दिया गया है कि वह एक से ज़्यादा इमेज ऐसेट दिखाए.
AdChoices प्लेसमेंट
इस सेक्शन में, AdChoices ओवरले की जगह तय करने का तरीका बताया गया है. आपके पास इसके प्लेसमेंट को चारों कोनों में से किसी एक पर सेट करने या इसे कस्टम व्यू में रेंडर करने का विकल्प होता है.
AdChoices की जगह तय करने के कंट्रोल
AdChoices की जगह तय करने के कंट्रोल की मदद से, यह चुना जा सकता है कि AdChoices आइकॉन को किस कोने में रेंडर किया जाए.
NativeAdRequest.Builder.setAdChoicesPlacement()
को NativeAdRequest.AdChoicesPlacement
वैल्यू के साथ कॉल करें.
अगर इसे सेट नहीं किया जाता है, तो AdChoices आइकॉन की जगह सबसे ऊपर दाएं कोने पर सेट हो जाती है.
इसे सेट करने पर, AdChoices को अनुरोध के मुताबिक, कस्टम जगह पर रखा जाता है.
यहां दिए गए उदाहरण में, AdChoices आइकॉन की जगह को अपनी पसंद के मुताबिक सेट करने का तरीका बताया गया है.
Kotlin
val adRequest = NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
listOf(NativeAd.NativeAdType.NATIVE))
.setAdChoicesPlacement(NativeAdOptions.ADCHOICES_BOTTOM_RIGHT)
.build()
Java
NativeAdRequest adRequest = new NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
List.of(NativeAd.NativeAdType.NATIVE))
.setAdChoicesPlacement(NativeAdOptions.ADCHOICES_BOTTOM_RIGHT)
.build();
AdChoices कस्टम व्यू
AdChoices कस्टम व्यू की सुविधा की मदद से, AdChoices आइकॉन को किसी कस्टम जगह पर रखा जा सकता है. यह AdChoices की जगह तय करने के कंट्रोल से अलग है. इसमें सिर्फ़ चारों कोनों में से किसी एक को तय किया जा सकता है.
को वैल्यू के साथ कॉल करें.NativeAdView.setAdChoicesView()AdChoicesView
यहां दिए गए उदाहरण में, AdChoices आइकॉन को AdChoicesView में रेंडर करके, AdChoices कस्टम व्यू सेट करने का तरीका बताया गया है.
Kotlin
override fun onNativeAdLoaded(nativeAd: NativeAd) {
val nativeAdView = NativeAdView(applicationContext)
val adChoicesView = AdChoicesView(this)
nativeAdView.adChoicesView = adChoicesView
}
Java
public void onNativeAdLoaded(@NonNull NativeAd nativeAd) {
NativeAdView nativeAdView = new NativeAdView(getApplicationContext());
AdChoicesView adChoicesView = new AdChoicesView(this);
nativeAdView.setAdChoicesView(adChoicesView);
}
वीडियो के कंट्रोल
इस सेक्शन में, वीडियो विज्ञापनों के लिए प्लेबैक अनुभव को अपनी पसंद के मुताबिक बनाने का तरीका बताया गया है. आपके पास, शुरू में म्यूट की स्थिति सेट करने और कस्टम प्लेबैक कंट्रोल लागू करने का विकल्प होता है.
शुरू में म्यूट करने की सेटिंग
शुरू में म्यूट करने की सेटिंग की मदद से, वीडियो के शुरू होने पर ऑडियो को बंद या चालू किया जा सकता है.
VideoOptions.Builder.setStartMuted()
को boolean वैल्यू के साथ कॉल करें और NativeAdOptions.Builder.setVideoOptions() को कॉल करें.
शुरू में म्यूट करने की सेटिंग डिफ़ॉल्ट रूप से चालू होती है.
इसे बंद करने पर, आपका ऐप्लिकेशन अनुरोध करता है कि वीडियो ऑडियो के साथ शुरू हो.
इसे चालू करने पर, आपका ऐप्लिकेशन अनुरोध करता है कि वीडियो म्यूट के साथ शुरू हो.
यहां दिए गए उदाहरण में, वीडियो को बिना म्यूट किए ऑडियो के साथ शुरू करने का तरीका बताया गया है.
Kotlin
val videoOptions = VideoOptions.Builder()
.setStartMuted(false)
.build()
val adRequest = NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
listOf(NativeAd.NativeAdType.NATIVE))
.setVideoOptions(videoOptions)
.build()
Java
VideoOptions videoOptions = VideoOptions.Builder()
.setStartMuted(false)
.build()
NativeAdRequest adRequest = new NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
List.of(NativeAd.NativeAdType.NATIVE))
.setVideoOptions(videoOptions)
.build()
कस्टम प्लेबैक कंट्रोल
इससे, वीडियो चलाने, रोकने या म्यूट करने के लिए, कस्टम वीडियो इनपुट कंट्रोल का अनुरोध किया जा सकता है.
विज्ञापनों के शुरू में म्यूट की स्थिति सेट करने के लिए, VideoOptions.Builder.setCustomControlsRequested() को कॉल करें.
कस्टम प्लेबैक कंट्रोल डिफ़ॉल्ट रूप से बंद होते हैं.
इन्हें बंद करने पर, आपके वीडियो में एसडीके से रेंडर किए गए इनपुट कंट्रोल दिखेंगे.
अगर विज्ञापन में वीडियो कॉन्टेंट है और कस्टम कंट्रोल चालू हैं, तो आपको विज्ञापन के साथ अपने कस्टम कंट्रोल दिखाने चाहिए, क्योंकि विज्ञापन में कोई कंट्रोल नहीं दिखेगा. इसके बाद, कंट्रोल,
VideoOptions.Builder.setCustomControlsRequested()पर काम के तरीके कॉल कर सकते हैं.
यहां दिए गए उदाहरण में, कस्टम प्लेबैक कंट्रोल वाले वीडियो का अनुरोध करने का तरीका बताया गया है.
Kotlin
val videoOptions: VideoOptions.Builder()
.setCustomControlsRequested(true)
.build()
val adRequest = new NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
listOf(NativeAd.NativeAdType.NATIVE))
.setVideoOptions(videoOptions)
.build()
Java
VideoOptions VideoOptions = VideoOptions.Builder()
.setCustomControlsRequested(true)
.build()
NativeAdRequest adRequest = new NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
List.of(NativeAd.NativeAdType.NATIVE))
.setVideoOptions(videoOptions)
.build()
देखें कि कस्टम कंट्रोल चालू हैं या नहीं
अनुरोध के समय यह पता नहीं होता कि दिखाए जाने वाले विज्ञापन में कस्टम वीडियो कंट्रोल की अनुमति होगी या नहीं. इसलिए, आपको यह देखना होगा कि इसमें कस्टम कंट्रोल चालू हैं या नहीं.
Kotlin
val adCallback: NativeAdLoaderCallback =
object : NativeAdLoaderCallback {
override fun onNativeAdLoaded(nativeAd: NativeAd) {
val mediaContent = nativeAd.mediaContent;
if (mediaContent != null) {
val videoController = mediaContent.videoController;
val canShowCustomControls = videoController?.isCustomControlsEnabled();
}
}
};
Java
NativeAdLoaderCallback adCallback =
new NativeAdLoaderCallback() {
@Override
public void onNativeAdLoaded(@NonNull NativeAd nativeAd) {
MediaContent mediaContent = nativeAd.getMediaContent();
if (mediaContent != null) {
VideoController videoController = mediaContent.getVideoController();
if (videoController != null) {
boolean canShowCustomControls = videoController.isCustomControlsEnabled();
}
}
}
};
कस्टम वीडियो कंट्रोल रेंडर करना
कस्टम वीडियो कंट्रोल रेंडर करने के लिए, इन सबसे सही तरीकों का इस्तेमाल करें:
- कस्टम कंट्रोल व्यू को नेटिव विज्ञापन व्यू के चाइल्ड के तौर पर रेंडर करें. इस तरीके से, ओपन मेज़रमेंट व्यूएबिलिटी की कैलकुलेशन में, कस्टम कंट्रोल को रुकावट के तौर पर माना जाता है.
- पूरे मीडिया व्यू पर, न दिखने वाला ओवरले रेंडर करने से बचें. ओवरले की वजह से, मीडिया व्यू पर क्लिक नहीं किया जा सकता. इससे, नेटिव विज्ञापनों की परफ़ॉर्मेंस पर बुरा असर पड़ता है. इसके बजाय, एक छोटा ओवरले बनाएं जो सिर्फ़ कंट्रोल को फ़िट करने के लिए काफ़ी बड़ा हो.