नेटिव विज्ञापन, विज्ञापन की ऐसी ऐसेट होती हैं जो उपयोगकर्ताओं को यूज़र इंटरफ़ेस (यूआई) कॉम्पोनेंट के ज़रिए दिखाई जाती हैं. ये कॉम्पोनेंट, प्लैटफ़ॉर्म के लिए नेटिव होते हैं. इन्हें उसी तरह के व्यू का इस्तेमाल करके दिखाया जाता है जिनका इस्तेमाल करके, पहले से ही लेआउट बनाए जा रहे हैं. साथ ही, इन्हें आपके ऐप्लिकेशन के विज़ुअल डिज़ाइन से मैच करने के लिए फ़ॉर्मैट किया जा सकता है.
जब कोई नेटिव विज्ञापन लोड होता है, तो आपके ऐप्लिकेशन को एक विज्ञापन ऑब्जेक्ट मिलता है. इसमें विज्ञापन की ऐसेट शामिल होती हैं. इसके बाद, GMA Next-Gen SDK के बजाय ऐप्लिकेशन की ज़िम्मेदारी होती है कि वह उन्हें दिखाए.
नेटिव विज्ञापनों को सही तरीके से लागू करने के लिए, आम तौर पर दो चीज़ें ज़रूरी होती हैं: SDK टूल का इस्तेमाल करके विज्ञापन लोड करना और फिर अपने ऐप्लिकेशन में विज्ञापन का कॉन्टेंट दिखाना.
इस पेज पर, नेटिव विज्ञापन लोड करने के लिए, एसडीके इस्तेमाल करने का तरीका बताया गया है. सलाह: हमारी नेटिव विज्ञापन प्लेबुक में, नेटिव विज्ञापनों के बारे में ज़्यादा जानें.
सैंपल, Java और Kotlin के लिए उपलब्ध हैं.ग्राहकों की सफलता की कुछ कहानियां भी देखी जा सकती हैं: केस स्टडी 1, केस स्टडी 2.
ज़रूरी शर्तें
- GMA Next-Gen SDK को सेट अप करें.
- GMA Next-Gen SDK का वर्शन
1.0.0या इसके बाद का वर्शन.
हमेशा टेस्ट विज्ञापनों का इस्तेमाल करके टेस्ट करना
अपने ऐप्लिकेशन बनाने और उनकी टेस्टिंग करने के लिए, लाइव और प्रोडक्शन विज्ञापन इस्तेमाल करने के बजाय, टेस्ट विज्ञापन इस्तेमाल करें. ऐसा न करने पर, आपका खाता निलंबित किया जा सकता है.
टेस्ट विज्ञापन लोड करने का सबसे आसान तरीका, नेटिव विज्ञापनों के लिए हमारे खास टेस्ट विज्ञापन यूनिट आईडी का इस्तेमाल करना है:
| विज्ञापन फ़ॉर्मैट | विज्ञापन यूनिट आईडी का सैंपल |
|---|---|
| मूल भाषा वाला | ca-app-pub-3940256099942544/2247696110 |
| नेटिव वीडियो | ca-app-pub-3940256099942544/1044960115 |
विज्ञापन लोड करना
नेटिव विज्ञापन लोड करने के लिए, 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 = "ca-app-pub-3940256099942544/2247696110"
}
}
नेटिव विज्ञापन इवेंट कॉलबैक सेट करना
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.
}
}
ज़रूरी नहीं: एक से ज़्यादा विज्ञापन लोड करना
एक से ज़्यादा विज्ञापन लोड करने के लिए, load() को कॉल करें. इसके लिए, वैकल्पिक numberOfAds पैरामीटर का इस्तेमाल करें.
ज़्यादा से ज़्यादा 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() तरीके को कॉल न करें. मीडिएशन के लिए कॉन्फ़िगर किए गए विज्ञापन यूनिट आईडी के लिए, एक से ज़्यादा नेटिव विज्ञापनों के अनुरोध काम नहीं करते.
सबसे सही तरीके
विज्ञापन लोड करते समय इन नियमों का पालन करें.
सूची में नेटिव विज्ञापनों का इस्तेमाल करने वाले ऐप्लिकेशन को, विज्ञापनों की सूची को पहले से कैश करना चाहिए.
विज्ञापनों को प्रीकैश करते समय, अपनी कैश मेमोरी को मिटाएं और एक घंटे बाद फिर से लोड करें.
नेटिव विज्ञापन की कैश मेमोरी को सिर्फ़ ज़रूरत के मुताबिक सीमित करें. उदाहरण के लिए, प्रीकैश करते समय सिर्फ़ उन विज्ञापनों को कैश मेमोरी में सेव करें जो स्क्रीन पर तुरंत दिखते हैं. नेटिव विज्ञापनों के लिए ज़्यादा मेमोरी की ज़रूरत होती है. साथ ही, नेटिव विज्ञापनों को खत्म किए बिना उन्हें कैश मेमोरी में सेव करने से, मेमोरी का ज़्यादा इस्तेमाल होता है.
जब नेटिव विज्ञापनों का इस्तेमाल न किया जा रहा हो, तो उन्हें मिटा दें.
वीडियो विज्ञापनों के लिए हार्डवेयर से तेज़ी लाने की सुविधा
नेटिव विज्ञापन व्यू में वीडियो विज्ञापनों को सही तरीके से दिखाने के लिए, हार्डवेयर से तेज़ी लाएं सुविधा चालू होनी चाहिए.
हार्डवेयर से तेज़ी लाने की सुविधा डिफ़ॉल्ट रूप से चालू होती है. हालांकि, कुछ ऐप्लिकेशन इसे बंद कर सकते हैं. अगर यह आपके ऐप्लिकेशन पर लागू होता है, तो हमारा सुझाव है कि आप विज्ञापन दिखाने वाली ऐक्टिविटी क्लास के लिए, हार्डवेयर से तेज़ी लाने की सुविधा चालू करें.
हार्डवेयर से तेज़ी लाने की सुविधा चालू करना
अगर हार्डवेयर से तेज़ी लाने की सुविधा को ग्लोबल तौर पर चालू करने के बाद, आपका ऐप्लिकेशन ठीक से काम नहीं करता है, तो आपके पास अलग-अलग गतिविधियों के लिए इसे कंट्रोल करने का विकल्प भी होता है. हार्डवेयर से तेज़ी लाने की सुविधा को चालू या बंद करने के लिए, अपनी 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>
हार्डवेयर से तेज़ी लाने की सुविधा को कंट्रोल करने के विकल्पों के बारे में ज़्यादा जानने के लिए, हार्डवेयर से तेज़ी लाने की सुविधा से जुड़ी गाइड देखें. ध्यान दें कि अगर गतिविधि बंद है, तो अलग-अलग विज्ञापन व्यू के लिए, हार्डवेयर से तेज़ी लाने की सुविधा चालू नहीं की जा सकती. इसलिए, गतिविधि के लिए हार्डवेयर से तेज़ी लाने की सुविधा चालू होनी चाहिए.
अपना विज्ञापन दिखाना
विज्ञापन लोड होने के बाद, आपको बस उसे अपने उपयोगकर्ताओं को दिखाना होगा. ज़्यादा जानकारी के लिए, नेटिव ऐडवांस मोबाइल विज्ञापन फ़ॉर्मैट या फ़ुल-स्क्रीन नेटिव विज्ञापन देखें.
उदाहरण
उदाहरण के तौर पर दिया गया ऐप्लिकेशन डाउनलोड करें और चलाएं. इससे GMA Next-Gen SDK के इस्तेमाल के बारे में पता चलता है.