इस गाइड में, Google Mobile Ads SDK को टारगेटिंग की जानकारी देने का तरीका बताया गया है.
पूर्वापेक्षा
- शुरुआती निर्देश को पूरा करें.
RequestConfiguration
RequestConfiguration
टारगेटिंग की वह जानकारी इकट्ठा करता है जो हर विज्ञापन अनुरोध पर दुनिया भर में लागू होती है. टारगेट करने के लिए उपलब्ध टैग के बारे में जानने के लिए, RequestConfiguration.Builder दस्तावेज़ पढ़ें.
इसके बिल्डर का इस्तेमाल करके, अपनी ज़रूरत के हिसाब से टारगेटिंग टैग वाला RequestConfiguration ऑब्जेक्ट बनाएं. इसके बाद, MobileAds.setRequestConfiguration() को कॉल करके कॉन्फ़िगरेशन सेट करें.
Kotlin
val requestConfiguration = RequestConfiguration
.Builder()
// Set your targeting tags.
.setTagForChildDirectedTreatment(RequestConfiguration.TagForChildDirectedTreatment.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
.build()
MobileAds.setRequestConfiguration(requestConfiguration)
Java
RequestConfiguration requestConfiguration = new RequestConfiguration
.Builder()
// Set your targeting tags.
.setTagForChildDirectedTreatment(TagForChildDirectedTreatment.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
.build();
MobileAds.setRequestConfiguration(requestConfiguration);
पहले विज्ञापन अनुरोध से टारगेटिंग टैग लागू करने के लिए, SDK टूल को शुरू करते समय अनुरोध कॉन्फ़िगरेशन दें:
Kotlin
val requestConfiguration = RequestConfiguration
.Builder()
// Set your targeting tags.
.setTagForChildDirectedTreatment(RequestConfiguration.TagForChildDirectedTreatment.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
.build()
CoroutineScope(Dispatchers.IO).launch {
// Initialize GMA Next-Gen SDK on a background thread.
MobileAds.initialize(
this@MainActivity,
InitializationConfig
// Sample Ad Manager app ID: ca-app-pub-3940256099942544~3347511713
.Builder("SAMPLE_APP_ID")
.setRequestConfiguration(requestConfiguration)
.build()
) {
// Adapter initialization is complete.
}
// Other methods on MobileAds can now be called.
}
Java
RequestConfiguration requestConfiguration = new RequestConfiguration
.Builder()
// Set your targeting tags.
.setTagForChildDirectedTreatment(TagForChildDirectedTreatment.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
.build();
new Thread(
() -> {
// Initialize GMA Next-Gen SDK on a background thread.
MobileAds.initialize(
this,
// Sample Ad Manager app ID: ca-app-pub-3940256099942544~3347511713
new InitializationConfig
.Builder("SAMPLE_APP_ID")
.setRequestConfiguration(requestConfiguration)
.build(),
initializationStatus -> {
// Adapter initialization is complete.
});
// Other methods on MobileAds can now be called.
})
.start();
बच्चों के लिए बने कॉन्टेंट की सेटिंग
इंटरनेट पर बच्चों की निजता की सुरक्षा से जुड़े कानून (कोपा) के तहत, "बच्चों को ध्यान में रखकर विज्ञापन दिखाने के लिए टैग करें" नाम की एक सेटिंग होती है. इस टैग को सेट करके, आप यह प्रमाणित करते हैं कि यह सूचना सही है. साथ ही, आपके पास ऐप्लिकेशन के मालिक की ओर से फ़ैसले लेने का अधिकार है. आपको पता है कि इस सेटिंग का गलत इस्तेमाल करने पर, आपका Google खाता बंद किया जा सकता है.
ऐप्लिकेशन डेवलपर के तौर पर, विज्ञापन अनुरोध करते समय Google को यह बताया जा सकता है कि वह आपके कॉन्टेंट को बच्चों के लिए सही माने या नहीं. अगर आपने Google को बताया है कि आपको अपने कॉन्टेंट को बच्चों के लिए उपलब्ध कराना है, तो हम उस विज्ञापन अनुरोध पर आईबीए और रीमार्केटिंग विज्ञापन दिखाने की सुविधा बंद कर देंगे.
बच्चों के लिए बने कॉन्टेंट की सेटिंग को यहां से लागू किया जा सकता है
setTagForChildDirectedTreatment():
setTagForChildDirectedTreatmentकोTAG_FOR_CHILD_DIRECTED_TREATMENT_TRUEके साथ कॉल करें, ताकि यह पता चल सके कि आपको सीओपीपीए के मकसद से, अपने कॉन्टेंट को बच्चों के लिए लक्षित कॉन्टेंट के तौर पर टैग करना है. इससे Android विज्ञापन आईडी (AAID) का ट्रांसमिशन रुक जाता है.setTagForChildDirectedTreatmentकोTAG_FOR_CHILD_DIRECTED_TREATMENT_FALSEके साथ कॉल करें, ताकि यह बताया जा सके कि आपको सीओपीपीए के मकसद के लिए, अपने कॉन्टेंट को बच्चों के लिए लक्षित नहीं करना है.अगर आपको विज्ञापन अनुरोधों में कोपा के हिसाब से, अपने कॉन्टेंट को मैनेज करने का तरीका नहीं बताना है, तो
setTagForChildDirectedTreatmentकोTAG_FOR_CHILD_DIRECTED_TREATMENT_UNSPECIFIEDके साथ कॉल करें.
इस उदाहरण से पता चलता है कि कोपा के मकसद से, आपको अपने कॉन्टेंट को बच्चों के लिए बनाए गए कॉन्टेंट के तौर पर ट्रीट करना है:
Kotlin
val requestConfiguration = RequestConfiguration
.Builder()
.setTagForChildDirectedTreatment(RequestConfiguration.TagForChildDirectedTreatment.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
.build()
MobileAds.setRequestConfiguration(requestConfiguration)
Java
RequestConfiguration requestConfiguration = new RequestConfiguration
.Builder()
.setTagForChildDirectedTreatment(TagForChildDirectedTreatment.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
.build();
MobileAds.setRequestConfiguration(requestConfiguration);
सहमति देने की मान्य उम्र से कम के उपयोगकर्ता
अपने विज्ञापन अनुरोधों को मार्क करके, यह तय किया जा सकता है कि यूरोपियन इकनॉमिक एरिया (ईईए) के उन उपयोगकर्ताओं के लिए सीमित डेटा प्रोसेसिंग की जाए जिनकी उम्र सहमति देने की कानूनी उम्र से कम है. यह सुविधा जनरल डेटा प्रोटेक्शन रेगुलेशन (जीडीपीआर) का पालन करने में मदद करती है. ध्यान दें कि जीडीपीआर के तहत, आपकी अन्य कानूनी जवाबदेहियां भी हो सकती हैं. यूरोपीय संघ के दिशा-निर्देश देखें और अपने कानूनी सलाहकार से संपर्क करें. ध्यान दें कि Google के टूल, नियमों के पालन में मदद के लिए डिज़ाइन किए गए हैं. इन टूल से किसी भी पब्लिशर को यह छूट नहीं मिलती है कि वह अपनी कानूनी जवाबदेही की अनदेखी करे. पब्लिशर पर जीडीपीआर का क्या असर होता है, इस बारे में ज़्यादा जानें.
इस सुविधा का इस्तेमाल करने पर, विज्ञापन अनुरोध में 'यूरोप में सहमति की कानूनी उम्र से कम वाले उपयोगकर्ताओं के लिए टैग' (टीएफ़यूए) पैरामीटर शामिल किया जाता है. यह पैरामीटर, विज्ञापन के सभी अनुरोधों के लिए, लोगों की दिलचस्पी के हिसाब से विज्ञापन दिखाने के साथ-साथ रीमार्केटिंग पर भी रोक लगा देता है. इससे, विज्ञापन की सेवा देने वाली तीसरे पक्ष की कंपनियों के अनुरोध भी बंद हो जाते हैं, जैसे कि विज्ञापन की परफ़ॉर्मेंस की जानकारी जुटाने वाले पिक्सल और तीसरे पक्ष के विज्ञापन सर्वर.
बच्चों के लिए बनी सेटिंग की तरह ही, RequestConfiguration.Builder में टीएफ़यूए पैरामीटर सेट करने का एक तरीका है:
setTagForUnderAgeOfConsent(),
इन विकल्पों के साथ.
setTagForUnderAgeOfConsent()कोTAG_FOR_UNDER_AGE_OF_CONSENT_TRUEके साथ कॉल करें, ताकि यह पता चल सके कि आपको विज्ञापन अनुरोध को यूरोपियन इकनॉमिक एरिया (ईईए) के उन उपयोगकर्ताओं के लिए सही मानना है जिनकी उम्र सहमति देने की कानूनी उम्र से कम है. इससे Android के विज्ञापन के लिए आइडेंटिफ़ायर (AAID) का ट्रांसफ़र भी नहीं होता है.setTagForUnderAgeOfConsent()कोTAG_FOR_UNDER_AGE_OF_CONSENT_FALSEके साथ कॉल करें, ताकि यह पता चल सके कि आपको विज्ञापन अनुरोध को यूरोपीय आर्थिक क्षेत्र (ईईए) के उन उपयोगकर्ताओं के लिए नहीं दिखाना है जिनकी उम्र सहमति देने की कानूनी उम्र से कम है.setTagForUnderAgeOfConsent()कोTAG_FOR_UNDER_AGE_OF_CONSENT_UNSPECIFIEDके साथ कॉल करें. इससे यह पता चलता है कि आपने यह नहीं बताया है कि विज्ञापन अनुरोध को यूरोपियन इकनॉमिक एरिया (ईईए) के उन उपयोगकर्ताओं के लिए सही माना जाए जिनकी उम्र सहमति देने की कानूनी उम्र से कम है.
इस उदाहरण से पता चलता है कि आपको विज्ञापन अनुरोधों में टीएफ़यूए शामिल करना है:
Kotlin
val requestConfiguration = RequestConfiguration
.Builder()
.setTagForUnderAgeOfConsent(RequestConfiguration.TagForUnderAgeOfConsent.TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE)
.build()
MobileAds.setRequestConfiguration(requestConfiguration)
Java
RequestConfiguration requestConfiguration = new RequestConfiguration
.Builder()
.setTagForUnderAgeOfConsent(TagForUnderAgeOfConsent.TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE)
.build();
MobileAds.setRequestConfiguration(requestConfiguration);
बच्चों के लिए बने कॉन्टेंट से जुड़ी सेटिंग और setTagForUnderAgeOfConsent() को चालू करने वाले टैग, दोनों को एक साथ true पर सेट नहीं किया जाना चाहिए.
अगर ऐसा होता है, तो बच्चों के लिए बने कॉन्टेंट की सेटिंग को प्राथमिकता दी जाती है.
विज्ञापन के कॉन्टेंट को फ़िल्टर करना
Google Play की अनुचित विज्ञापनों को रोकने के लिए बनी नीति का पालन करने के लिए, यह ज़रूरी है कि आपके ऐप्लिकेशन में दिखाए जाने वाले सभी विज्ञापन और उनसे जुड़े ऑफ़र, आपके ऐप्लिकेशन की कॉन्टेंट रेटिंग के हिसाब से सही हों. इस नीति में, विज्ञापन में दिखाए जाने वाले ऑफ़र भी शामिल हैं. भले ही, उन विज्ञापनों और उनसे जुड़े ऑफ़र का कॉन्टेंट अपने-आप में Google Play की नीतियों का पालन सही तरीके से करता हो.
'विज्ञापन के लिए सबसे ज़्यादा रेटिंग' जैसे टूल की मदद से, उपयोगकर्ताओं को दिखाए जाने वाले विज्ञापनों के कॉन्टेंट पर ज़्यादा कंट्रोल हासिल किया जा सकता है. साथ ही, प्लैटफ़ॉर्म की नीतियों का पालन करने के लिए, सबसे ज़्यादा कॉन्टेंट रेटिंग सेट की जा सकती है.
ऐप्लिकेशन, विज्ञापन दिखाने के अनुरोधों के लिए विज्ञापन के कॉन्टेंट की सबसे ज़्यादा रेटिंग सेट कर सकते हैं. इसके लिए, उन्हें
setMaxAdContentRating
तरीके का इस्तेमाल करना होगा. इस सेटिंग को कॉन्फ़िगर करने पर, AdMob से दिखाए जाने वाले विज्ञापनों की कॉन्टेंट रेटिंग, उस लेवल के बराबर या उससे कम होती है. इस नेटवर्क एक्स्ट्रा के लिए संभावित वैल्यू, डिजिटल कॉन्टेंट लेबल क्लासिफ़िकेशन पर आधारित होती हैं. साथ ही, ये वैल्यू इनमें से कोई एक स्ट्रिंग होनी चाहिए:
MAX_AD_CONTENT_RATING_GMAX_AD_CONTENT_RATING_PGMAX_AD_CONTENT_RATING_TMAX_AD_CONTENT_RATING_MA
नीचे दिए गए कोड में, RequestConfiguration ऑब्जेक्ट को कॉन्फ़िगर किया गया है. इससे यह तय किया जाता है कि दिखाए जाने वाले विज्ञापन का कॉन्टेंट, G से ज़्यादा के डिजिटल कॉन्टेंट लेबल डेज़िग्नेशन से मेल नहीं खाना चाहिए:
Kotlin
val requestConfiguration = RequestConfiguration
.Builder()
.setMaxAdContentRating(RequestConfiguration.MaxAdContentRating.MAX_AD_CONTENT_RATING_G)
.build()
MobileAds.setRequestConfiguration(requestConfiguration)
Java
RequestConfiguration requestConfiguration = new RequestConfiguration
.Builder()
.setMaxAdContentRating(MaxAdContentRating.MAX_AD_CONTENT_RATING_G)
.build();
MobileAds.setRequestConfiguration(requestConfiguration);
हर विज्ञापन अनुरोध के लिए, सबसे ज़्यादा कॉन्टेंट रेटिंग सेट करने के बारे में ज़्यादा जानें.
Publisher Privacy Treatment (Beta)
Publisher Privacy Treatment (पीपीटी) एपीआई एक वैकल्पिक टूल है. इसकी मदद से ऐप्लिकेशन यह तय कर सकते हैं कि setPublisherPrivacyPersonalizationState() तरीके का इस्तेमाल करके, सभी विज्ञापन अनुरोधों के लिए विज्ञापनों को मनमुताबिक बनाने की सुविधा बंद करनी है या नहीं. इस सुविधा का इस्तेमाल करने पर, पब्लिशर की निजता से जुड़े ट्रीटमेंट (पीपीटी) पैरामीटर को सेशन के बाकी समय के लिए, विज्ञापन के सभी अनुरोधों में शामिल किया जाता है.
डिफ़ॉल्ट रूप से, Google को भेजे गए विज्ञापन अनुरोधों के कारण, लोगों को उनकी दिलचस्पी के हिसाब से विज्ञापन दिखाए जाते हैं. नीचे दिए गए कोड से, विज्ञापन दिखाने के सभी अनुरोधों के लिए, दिलचस्पी के मुताबिक विज्ञापन दिखाने की सुविधा बंद हो जाती है:
Kotlin
val requestConfiguration = RequestConfiguration
.Builder()
.setPublisherPrivacyPersonalizationState(RequestConfiguration.PublisherPrivacyPersonalizationState.DISABLED)
.build()
MobileAds.setRequestConfiguration(requestConfiguration)
Java
RequestConfiguration requestConfiguration = new RequestConfiguration
.Builder()
.setPublisherPrivacyPersonalizationState(RequestConfiguration.PublisherPrivacyPersonalizationState.DISABLED)
.build();
MobileAds.setRequestConfiguration(requestConfiguration);
विज्ञापन अनुरोध
AdRequest ऑब्जेक्ट, टारगेटिंग की जानकारी इकट्ठा करता है, ताकि उसे विज्ञापन अनुरोध के साथ भेजा जा सके.
नेटवर्क की अतिरिक्त जानकारी जोड़ना
नेटवर्क एक्स्ट्रा, विज्ञापन अनुरोध के साथ भेजी गई अतिरिक्त जानकारी होती है. यह जानकारी किसी एक विज्ञापन सोर्स के लिए खास होती है.
यहां दिया गया कोड स्निपेट, Google को collapsible की अतिरिक्त पैरामीटर कुंजी और bottom की वैल्यू सेट करता है:
Kotlin
val extras = Bundle()
extras.putString("collapsible", "bottom")
val adRequest =
NativeAdRequest.Builder("AD_UNIT_ID", listOf(NativeAd.NativeAdType.NATIVE))
.setGoogleExtrasBundle(extras)
.build()
NativeAdLoader.load(adRequest, adCallback)
Java
Bundle extras = new Bundle();
extras.putString("collapsible", "bottom");
NativeAdRequest adRequest =
new NativeAdRequest.Builder("AD_UNIT_ID", Arrays.asList(NativeAd.NativeAdType.NATIVE))
.setGoogleExtrasBundle(extras)
.build();
NativeAdLoader.load(adRequest, adCallback);
कस्टम टारगेटिंग
Google Ad Manager कैंपेन (लाइन आइटम) को टारगेट करने के लिए, कस्टम की-वैल्यू पेयर पास किए जा सकते हैं. यहां दिए गए उदाहरण में, विज्ञापन दिखाने के अनुरोध में कस्टम की-वैल्यू पेयर पास किया गया है:
Kotlin
// Example: Pass custom targeting "age=25".
val newRequest = AdRequest.Builder("AD_UNIT_ID")
.putCustomTargeting("age", "25")
.build()
Java
// Example: Pass custom targeting "age=25".
AdRequest newRequest = new AdRequest.Builder("AD_UNIT_ID")
.putCustomTargeting("age", "25")
.build();
स्ट्रिंग की सूची के तौर पर, किसी कुंजी के लिए एक से ज़्यादा वैल्यू पास की जा सकती हैं. उदाहरण के लिए, सिर्फ़ 25 साल के लोगों के बजाय, 20 से 29 साल के लोगों को टारगेट करना.
Kotlin
.putCustomTargeting("age", listOf("24", "25", "26"))
Java
.putCustomTargeting("age", Arrays.asList("24", "25", "26"));
किसी कैटगरी को बाहर रखना
addCategoryExclusion() तरीके का इस्तेमाल करके, अनुरोध में स्लॉट-लेवल की कैटगरी को बाहर रखने का लेवल जोड़ा जा सकता है:
Kotlin
// Example: Exclude "automobile" and "boat" categories.
val newRequest = AdRequest.Builder("AD_UNIT_ID")
.addCategoryExclusion("automobile")
.addCategoryExclusion("boat")
.build()
Java
// Example: Exclude "automobile" and "boat" categories.
AdRequest newRequest = new AdRequest.Builder("AD_UNIT_ID")
.addCategoryExclusion("automobile")
.addCategoryExclusion("boat")
.build();
Android API Demo ऐप्लिकेशन में कैटगरी एक्सक्लूज़न लागू करने के लिए, Ad Manager में कैटगरी एक्सक्लूज़न का उदाहरण देखें.
पब्लिशर के भेजे गए आईडी
आपके पास पब्लिशर के भेजे गए आइडेंटिफ़ायर (पीपीआईडी) को सेट करने का विकल्प होता है. इसका इस्तेमाल, ऑडियंस के आधार पर अलग-अलग डिवाइसों पर विज्ञापन दिखाने से जुड़े कंट्रोल में किया जा सकता है. जैसे, फ़्रीक्वेंसी कैपिंग, ऑडियंस सेगमेंट बनाने, टारगेट करने, क्रम में विज्ञापन रोटेशन करने के लिए.
यहां पीपीआईडी सेट करने का उदाहरण दिया गया है:
Kotlin
val adRequest = AdRequest.Builder("AD_UNIT_ID")
.setPublisherProvidedId("AB123456789")
.build()
Java
AdRequest adRequest = new AdRequest.Builder("AD_UNIT_ID")
.setPublisherProvidedId("AB123456789")
.build();
Android API डेमो ऐप्लिकेशन में, पब्लिशर के भेजे गए आईडी (पीपीआईडी) को लागू करने के लिए, Ad Manager के पीपीआईडी का उदाहरण देखें.
पब्लिशर से मिले सिग्नल
विज्ञापन अनुरोधों में, ऑडियंस और कॉन्टेक्स्ट से जुड़ा डेटा, पब्लिशर से मिले सिग्नल (पीपीएस) के तौर पर भेजा जा सकता है. पीपीएस की मदद से, अपने उपयोगकर्ता डेटा का इस्तेमाल करके प्रोग्रैमैटिक तरीके से कमाई करने की सुविधा को बेहतर बनाया जा सकता है. इसके लिए, आपको बिड करने वालों को अपनी ऑडियंस की विशेषताओं के बारे में बताना होगा. ऐसा सभी लेन-देन के टाइप में, स्टैंडर्ड टैक्सनॉमी का इस्तेमाल करके किया जा सकता है. इसके लिए, उपयोगकर्ता आइडेंटिफ़ायर शेयर करने की ज़रूरत नहीं होती. आपकी ऑडियंस की विशेषताओं में, व्यवहार और दिलचस्पी पर आधारित डेटा (IAB ऑडियंस टैक्सनॉमी 1.1) और कॉन्टेक्स्ट के हिसाब से डेटा (IAB कॉन्टेंट टैक्सनॉमी 2.2) शामिल हो सकता है.
Kotlin
val extras = Bundle()
// Set the demographic to an audience with an "Age Range" of 30-34 and an
// interest in mergers and acquisitions.
extras.putIntegerArrayList("IAB_AUDIENCE_1_1", arrayListOf(6,284))
// Set the content to sedan, station wagon and SUV automotive values.
extras.putIntegerArrayList("IAB_CONTENT_2_2", arrayListOf(4,5,6))
val request = AdRequest.Builder("AD_UNIT_ID")
.setGoogleExtrasBundle(extras)
.build()
Java
Bundle extras = new Bundle();
// Set the demographic to an audience with an "Age Range" of 30-34 and an
// interest in mergers and acquisitions.
extras.putIntegerArrayList("IAB_AUDIENCE_1_1", arrayListOf(6,284));
// Set the content to sedan, station wagon and SUV automotive values.
extras.putIntegerArrayList("IAB_CONTENT_2_2", arrayListOf(4,5,6));
AdRequest request = new AdRequest.Builder("AD_UNIT_ID")
.setGoogleExtrasBundle(extras)
.build();
कॉन्टेंट का यूआरएल
कॉन्टेंट को टारगेट करने वाले विज्ञापनों और ब्रैंड की सुरक्षा के लिए, कॉन्टेंट का यूआरएल देने के लिए, यह जानकारी जोड़ें:
Kotlin
val builder = AdRequest.Builder("AD_UNIT_ID")
builder.setContentUrl("https://www.example.com")
val request = builder.build()
Java
AdRequest.Builder builder = new AdRequest.Builder("AD_UNIT_ID")
builder.setContentUrl("https://www.example.com");
AdRequest request = builder.build();
ब्रैंड की सुरक्षा (बीटा वर्शन)
अलग-अलग ऑडियंस के लिए डाइनैमिक कॉन्टेंट दिखाने वाले ऐप्लिकेशन, यूआरएल की छोटी सूची उपलब्ध करा सकते हैं:
Kotlin
val urls = mutableListOf("https://www.mycontenturl1.com", "https://www.mycontenturl2.com",
"https://www.mycontenturl3.com", "https://www.mycontenturl4.com")
val requestWithContent = AdRequest.Builder("AD_UNIT_ID")
.setNeighboringContentUrls(urls)
.build()
Java
ArrayList<String> urls = new ArrayList<String>();
urls.add("https://www.mycontenturl1.com");
urls.add("https://www.mycontenturl2.com");
urls.add("https://www.mycontenturl3.com");
urls.add("https://www.mycontenturl4.com");
AdRequest requestWithContent = new AdRequest.Builder("AD_UNIT_ID")
.setNeighboringContentUrls(urls)
.build();
.setNeighboringContentUrls(), .setContentUrl() से इस मामले में अलग है कि इसका इस्तेमाल सिर्फ़ ब्रैंड की सुरक्षा के लिए किया जाता है.