नेटिव विज्ञापन, विज्ञापन की ऐसी ऐसेट होती हैं जो उपयोगकर्ताओं को यूज़र इंटरफ़ेस (यूआई) के उन कॉम्पोनेंट के ज़रिए दिखाई जाती हैं जो प्लैटफ़ॉर्म के लिए नेटिव होते हैं. ये विज्ञापन, उसी तरह के व्यू का इस्तेमाल करके दिखाए जाते हैं जिनसे आपने पहले से ही अपने लेआउट बनाए हैं. इन्हें आपके ऐप्लिकेशन के विज़ुअल डिज़ाइन के हिसाब से फ़ॉर्मैट किया जा सकता है.
नेटिव विज्ञापन लोड होने पर, आपके ऐप्लिकेशन को एक विज्ञापन ऑब्जेक्ट मिलता है. इसमें उसकी ऐसेट शामिल होती हैं, और उन्हें दिखाने की ज़िम्मेदारी GMA Next-Gen SDK के बजाय, ऐप्लिकेशन की होती है.
आम तौर पर, नेटिव विज्ञापनों को सफलतापूर्वक लागू करने के दो तरीके होते हैं: SDK का इस्तेमाल करके विज्ञापन लोड करना और फिर अपने ऐप्लिकेशन में विज्ञापन का कॉन्टेंट दिखाना.
इस पेज पर, नेटिव विज्ञापन लोड करने के लिए SDK का इस्तेमाल करने का तरीका बताया गया है.
ज़रूरी शर्तें
- सेट अप करें GMA Next-Gen SDK.
- GMA Next-Gen SDK 0.6.0-alpha01 या इसके बाद वाला वर्शन.
हमेशा टेस्ट विज्ञापनों का इस्तेमाल करके टेस्ट करना
अपने ऐप्लिकेशन बनाने और उनकी टेस्टिंग करने के लिए, लाइव और प्रोडक्शन विज्ञापन इस्तेमाल करने के बजाय, टेस्ट विज्ञापन इस्तेमाल करें. ऐसा न करने पर, आपका खाता निलंबित किया जा सकता है.
टेस्ट विज्ञापन लोड करने का सबसे आसान तरीका, नेटिव विज्ञापनों के लिए हमारे खास टेस्ट विज्ञापन यूनिट आईडी का इस्तेमाल करना है:
| विज्ञापन फ़ॉर्मैट | विज्ञापन यूनिट का सैंपल आईडी |
|---|---|
| नेटिव | /21775744923/example/native |
| नेटिव वीडियो | /21775744923/example/native-video |
विज्ञापन लोड करना
नेटिव विज्ञापन लोड करने के लिए, NativeAdLoader.load()
तरीके को कॉल करें. इसके लिए, NativeAdRequest और NativeAdLoaderCallback की ज़रूरत होती है.
import com.google.android.libraries.ads.mobile.sdk.common.LoadAdError
import com.google.android.libraries.ads.mobile.sdk.nativead.NativeAd
import com.google.android.libraries.ads.mobile.sdk.nativead.NativeAdLoader
import com.google.android.libraries.ads.mobile.sdk.nativead.NativeAdLoaderCallback
import com.google.android.libraries.ads.mobile.sdk.nativead.NativeAdRequest
class NativeFragment : Fragment() {
private var nativeAd: NativeAd? = null
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
loadAd()
}
private fun loadAd() {
// Build an ad request with native ad options to customize the ad.
val adRequest = NativeAdRequest
.Builder(AD_UNIT_ID, listOf(NativeAd.NativeAdType.NATIVE))
.build()
val adCallback =
object : NativeAdLoaderCallback {
override fun onNativeAdLoaded(nativeAd: NativeAd) {
// Called when a native ad has loaded.
}
override fun onAdFailedToLoad(adError: LoadAdError) {
// Called when a native ad has failed to load.
}
}
// Load the native ad with our request and callback.
NativeAdLoader.load(adRequest, adCallback)
}
companion object {
// Sample native ad unit ID.
const val AD_UNIT_ID = "/21775744923/example/native"
}
}
नेटिव विज्ञापन के इवेंट का कॉलबैक सेट करना
onNativeAdLoaded को मैनेज करते समय, मिले हुए NativeAd को
NativeAdEventCallback
के साथ सेट करें, ताकि नेटिव विज्ञापन के लाइफ़साइकल इवेंट पाने के लिए फ़ंक्शन तय किए जा सकें:
nativeAd.adEventCallback =
object : NativeAdEventCallback {
override fun onAdShowedFullScreenContent() {
// Native ad showed full screen content.
}
override fun onAdDismissedFullScreenContent() {
// Native ad dismissed full screen content.
}
override fun onAdFailedToShowFullScreenContent {
// Native ad failed to show full screen content.
}
override fun onAdImpression() {
// Native ad recorded an impression.
}
override fun onAdClicked() {
// Native ad recorded a click.
}
}
वैकल्पिक: एक से ज़्यादा विज्ञापन लोड करना
एक से ज़्यादा विज्ञापन लोड करने के लिए, numberOfAds के वैकल्पिक पैरामीटर के साथ load() को कॉल करें.
इसकी ज़्यादा से ज़्यादा वैल्यू 5 सेट की जा सकती है. यह विज्ञापनों की संख्या को दिखाता है.
ऐसा हो सकता है कि GMA Next-Gen SDK अनुरोध किए गए विज्ञापनों की सटीक संख्या न दिखाए.
private fun loadAd() {
// Build an ad request with native ad options to customize the ad.
val adRequest = NativeAdRequest
.Builder(AD_UNIT_ID, listOf(NativeAd.NativeAdType.NATIVE))
.build()
val adCallback =
object : NativeAdLoaderCallback {
override fun onNativeAdLoaded(nativeAd: NativeAd) {
// Called when a native ad has loaded.
}
override fun onAdFailedToLoad(adError: LoadAdError) {
// Called when a native ad has failed to load.
}
override fun onAdLoadingCompleted() {
// Called when all native ads have loaded.
}
}
// Load the native ad with our request and callback.
NativeAdLoader.load(adRequest, 3, adCallback)
}
GMA Next-Gen SDK से मिलने वाले विज्ञापन यूनीक होते हैं. हालांकि, रिज़र्व इन्वेंट्री या तीसरे पक्ष के खरीदारों के विज्ञापन यूनीक नहीं हो सकते.
अगर मीडिएशन का इस्तेमाल किया जा रहा है, तो load() तरीके को कॉल न करें. मीडिएशन के लिए कॉन्फ़िगर किए गए विज्ञापन यूनिट आईडी के लिए, एक से ज़्यादा नेटिव विज्ञापनों के अनुरोध काम नहीं करते.
सबसे सही तरीके
विज्ञापन लोड करते समय, इन नियमों का पालन करें.
सूची में नेटिव विज्ञापनों का इस्तेमाल करने वाले ऐप्लिकेशन को, विज्ञापनों की सूची को पहले से कैश मेमोरी में सेव करना चाहिए.
विज्ञापनों को पहले से कैश मेमोरी में सेव करते समय, अपनी कैश मेमोरी मिटाएं और एक घंटे बाद फिर से लोड करें.
नेटिव विज्ञापनों को सिर्फ़ तब कैश मेमोरी में सेव करें, जब इसकी ज़रूरत हो. उदाहरण के लिए, पहले से कैश मेमोरी में सेव करते समय, सिर्फ़ उन विज्ञापनों को कैश मेमोरी में सेव करें जो स्क्रीन पर तुरंत दिखते हैं. नेटिव विज्ञापनों के लिए ज़्यादा मेमोरी की ज़रूरत होती है. अगर नेटिव विज्ञापनों को मिटाए बिना कैश मेमोरी में सेव किया जाता है, तो ज़्यादा मेमोरी का इस्तेमाल होता है.
नेटिव विज्ञापनों का इस्तेमाल न होने पर, उन्हें मिटा दें.
वीडियो विज्ञापनों के लिए हार्डवेयर से तेज़ी लाने की सुविधा
नेटिव विज्ञापन के व्यू में वीडियो विज्ञापन दिखाने के लिए, हार्डवेयर से तेज़ी लाने की सुविधा चालू होनी चाहिए.
हार्डवेयर से तेज़ी लाने की सुविधा डिफ़ॉल्ट रूप से चालू होती है. हालांकि, कुछ ऐप्लिकेशन इसे बंद कर सकते हैं. अगर आपका ऐप्लिकेशन भी ऐसा करता है, तो हमारा सुझाव है कि विज्ञापन दिखाने के लिए इस्तेमाल की जाने वाली 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>
हार्डवेयर से तेज़ी लाने की सुविधा को कंट्रोल करने के विकल्पों के बारे में ज़्यादा जानने के लिए, हार्डवेयर से तेज़ी लाने की सुविधा के बारे में बताने वाली गाइड देखें. ध्यान दें कि अगर Activity के लिए हार्डवेयर से तेज़ी लाने की सुविधा बंद है, तो विज्ञापन के अलग-अलग व्यू के लिए इसे चालू नहीं किया जा सकता. इसलिए, Activity के लिए हार्डवेयर से तेज़ी लाने की सुविधा चालू होनी चाहिए.
अपना विज्ञापन दिखाना
विज्ञापन लोड करने के बाद, आपको सिर्फ़ उसे अपने उपयोगकर्ताओं को दिखाना होता है. इसे दिखाने का तरीका जानने के लिए, हमारे नेटिव ऐडवांस गाइड देखें.
उदाहरण
सैंपल ऐप्लिकेशन डाउनलोड करें और उसे चलाएं. इसमें GMA Next-Gen SDK के इस्तेमाल के बारे में बताया गया है.