इस गाइड में, Google Mobile Ads SDK को टारगेटिंग की जानकारी देने का तरीका बताया गया है.
काम करने वाले उदाहरण के लिए, Android API डेमो ऐप्लिकेशन डाउनलोड करें.पूर्वापेक्षा
- शुरुआती निर्देशों की गाइड को पूरा करें.
RequestConfiguration
RequestConfiguration
हर विज्ञापन अनुरोध पर दुनिया भर में लागू की गई टारगेटिंग की जानकारी इकट्ठा करता है. उपलब्ध टारगेटिंग टैग के बारे में जानने के लिए, RequestConfiguration.Builder
दस्तावेज़ देखें.
अनुरोध के कॉन्फ़िगरेशन को अपडेट करने के लिए, मौजूदा कॉन्फ़िगरेशन से बिल्डर पाएं. इसके बाद, ज़रूरी अपडेट करें और इसे इस तरह सेट करें:
Kotlin
val requestConfiguration = MobileAds.getRequestConfiguration()
.toBuilder()
.build()
MobileAds.setRequestConfiguration(requestConfiguration)
Java
RequestConfiguration requestConfiguration = MobileAds.getRequestConfiguration()
.toBuilder()
.build();
MobileAds.setRequestConfiguration(requestConfiguration);
बच्चों के लिए बनी सेटिंग
इंटरनेट पर बच्चों की निजता की सुरक्षा से जुड़े कानून (कोपा) के तहत, "बच्चों को ध्यान में रखते हुए व्यवहार या बर्ताव के लिए टैग करें" नाम की एक सेटिंग है. इस टैग को सेट करके, आपने पुष्टि की है कि यह सूचना सही है और आपके पास ऐप्लिकेशन के मालिक की ओर से काम करने का अधिकार है. आपको पता है कि इस सेटिंग का गलत इस्तेमाल करने पर, आपका 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 = MobileAds.getRequestConfiguration()
.toBuilder()
.setTagForChildDirectedTreatment(RequestConfiguration.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
.build()
MobileAds.setRequestConfiguration(requestConfiguration)
Java
RequestConfiguration requestConfiguration = MobileAds.getRequestConfiguration()
.toBuilder()
.setTagForChildDirectedTreatment(RequestConfiguration.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
.build();
MobileAds.setRequestConfiguration(requestConfiguration);
सहमति देने की उम्र से कम उम्र के उपयोगकर्ता
अपने विज्ञापन अनुरोधों को मार्क करके, यह तय किया जा सकता है कि यूरोपियन इकनॉमिक एरिया (ईईए) के उन उपयोगकर्ताओं के लिए सीमित डेटा प्रोसेसिंग की जाए जिनकी उम्र सहमति देने की कानूनी उम्र से कम है. इस सुविधा का मकसद, जनरल डेटा प्रोटेक्शन रेगुलेशन (जीडीपीआर) का पालन करने में मदद करना है. ध्यान दें कि जीडीपीआर के तहत, आपकी अन्य कानूनी जवाबदेहियां भी हो सकती हैं. यूरोपीय संघ के दिशा-निर्देश देखें और अपने कानूनी सलाहकार से संपर्क करें. ध्यान दें कि Google के टूल, नियमों के पालन में मदद करने के लिए डिज़ाइन किए गए हैं. इन टूल से किसी भी पब्लिशर को यह छूट नहीं मिलती है कि वह अपनी कानूनी जवाबदेही की अनदेखी करे. पब्लिशर पर जीडीपीआर का क्या असर होता है, इस बारे में ज़्यादा जानें.
इस सुविधा का इस्तेमाल करने पर, विज्ञापन अनुरोध में यूरोप में सहमति की कानूनी उम्र से कम वाले उपयोगकर्ताओं के लिए टैग (टीएफ़यूए) पैरामीटर शामिल किया जाता है. यह पैरामीटर, सभी विज्ञापन अनुरोधों के लिए, लोगों के हिसाब से विज्ञापन दिखाने की सुविधा को बंद कर देता है. इसमें रीमार्केटिंग भी शामिल है. इससे, विज्ञापन की सेवा देने वाली तीसरे पक्ष की कंपनियों के अनुरोध भी बंद हो जाते हैं, जैसे कि विज्ञापन की परफ़ॉर्मेंस की जानकारी जुटाने वाले पिक्सल और तीसरे पक्ष के विज्ञापन सर्वर.
बच्चों के लिए बनी सेटिंग की तरह ही, RequestConfiguration.Builder
में भी टीएफ़यूए पैरामीटर सेट करने का एक तरीका है:
setTagForUnderAgeOfConsent()
,
इन विकल्पों के साथ.
TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE
के साथsetTagForUnderAgeOfConsent()
को कॉल करें, ताकि यह बताया जा सके कि आपको यूरोपियन इकनॉमिक एरिया (ईईए) के उन उपयोगकर्ताओं के लिए विज्ञापन दिखाना है जिनकी उम्र सहमति देने की कानूनी उम्र से कम है. इससे Android विज्ञापन आईडी (AAID) के ट्रांसमिशन को भी रोका जा सकता है.TAG_FOR_UNDER_AGE_OF_CONSENT_FALSE
के साथsetTagForUnderAgeOfConsent()
को कॉल करें, ताकि यह बताया जा सके कि आपको यूरोपियन इकनॉमिक एरिया (ईईए) में, सहमति देने की मान्य उम्र से छोटे उपयोगकर्ताओं को विज्ञापन दिखाने के लिए, विज्ञापन अनुरोध को नहीं दिखाना है.setTagForUnderAgeOfConsent()
के साथTAG_FOR_UNDER_AGE_OF_CONSENT_UNSPECIFIED
को कॉल करके यह बताएं कि आपने यह नहीं बताया है कि विज्ञापन अनुरोध को, यूरोपियन इकनॉमिक एरिया (ईईए) के उन उपयोगकर्ताओं के लिए सही माना जाए या नहीं जिनकी उम्र सहमति देने की कानूनी उम्र से कम है.
इस उदाहरण से पता चलता है कि आपको अपने विज्ञापन अनुरोधों में टीएफ़यूए शामिल करना है:
Kotlin
val requestConfiguration = MobileAds.getRequestConfiguration()
.toBuilder()
.setTagForUnderAgeOfConsent(RequestConfiguration.TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE)
.build()
MobileAds.setRequestConfiguration(requestConfiguration)
Java
RequestConfiguration requestConfiguration = MobileAds.getRequestConfiguration()
.toBuilder()
.setTagForUnderAgeOfConsent(RequestConfiguration.TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE)
.build();
MobileAds.setRequestConfiguration(requestConfiguration);
बच्चों के लिए बनी सेटिंग को चालू करने वाले टैग और setTagForUnderAgeOfConsent()
, दोनों को एक साथ true
पर सेट नहीं किया जाना चाहिए.
अगर ऐसा होता है, तो बच्चों के लिए बनी सेटिंग को प्राथमिकता दी जाती है.
विज्ञापन के कॉन्टेंट को फ़िल्टर करना
Google Play की आपत्तिजनक विज्ञापनों से जुड़ी नीति का पालन करने के लिए, आपके ऐप्लिकेशन में दिखाए जाने वाले सभी विज्ञापन और उनसे जुड़े ऑफ़र, आपके ऐप्लिकेशन की कॉन्टेंट रेटिंग के हिसाब से सही होने चाहिए. भले ही, उन विज्ञापनों और उनसे जुड़े ऑफ़र का कॉन्टेंट अपने-आप में Google Play की नीतियों का पालन करता हो.
'विज्ञापन के लिए सबसे ज़्यादा रेटिंग' जैसे टूल की मदद से, उपयोगकर्ताओं को दिखाए जाने वाले विज्ञापनों के कॉन्टेंट पर ज़्यादा कंट्रोल हासिल किया जा सकता है. साथ ही, प्लैटफ़ॉर्म की नीतियों का पालन करने के लिए, सबसे ज़्यादा रेटिंग सेट की जा सकती है.
ऐप्लिकेशन, अपने विज्ञापन अनुरोधों के लिए
setMaxAdContentRating
तरीका इस्तेमाल करके, विज्ञापन के लिए सबसे ज़्यादा रेटिंग सेट कर सकते हैं. कॉन्फ़िगर करने के बाद दिखाए जाने वाले AdMob विज्ञापनों की कॉन्टेंट रेटिंग, उस लेवल पर या उससे कम होती है. इस नेटवर्क एक्सट्रा की वैल्यू, डिजिटल कॉन्टेंट लेबल की कैटगरी पर आधारित होती हैं. साथ ही, यह वैल्यू इनमें से किसी एक स्ट्रिंग के तौर पर होनी चाहिए:
MAX_AD_CONTENT_RATING_G
MAX_AD_CONTENT_RATING_PG
MAX_AD_CONTENT_RATING_T
MAX_AD_CONTENT_RATING_MA
नीचे दिया गया कोड, RequestConfiguration
ऑब्जेक्ट को कॉन्फ़िगर करता है, ताकि यह तय किया जा सके कि दिखाया गया विज्ञापन कॉन्टेंट, G
से ज़्यादा नहीं, बल्कि डिजिटल कॉन्टेंट लेबल के डिज़ाइनेशन से मेल खाता हो:
Kotlin
val requestConfiguration = MobileAds.getRequestConfiguration()
.toBuilder()
.setMaxAdContentRating(RequestConfiguration.MAX_AD_CONTENT_RATING_G)
.build()
MobileAds.setRequestConfiguration(requestConfiguration)
Java
RequestConfiguration requestConfiguration = MobileAds.getRequestConfiguration()
.toBuilder()
.setMaxAdContentRating(RequestConfiguration.MAX_AD_CONTENT_RATING_G)
.build();
MobileAds.setRequestConfiguration(requestConfiguration);
इनके बारे में ज़्यादा जानें:
हर विज्ञापन अनुरोध के लिए, कॉन्टेंट की सबसे ज़्यादा रेटिंग सेट करना
किसी ऐप्लिकेशन या खाते के लिए, विज्ञापन के लिए सबसे ज़्यादा रेटिंग सेट करना
पब्लिशर की निजता से जुड़ी सुविधाएं (बीटा वर्शन)
Publisher Privacy Treatment
(PPT) API एक वैकल्पिक टूल है. इसकी मदद से, ऐप्लिकेशन यह बता सकते हैं कि setPublisherPrivacyPersonalizationState()
तरीके का इस्तेमाल करके, सभी विज्ञापन अनुरोधों के लिए उपयोगकर्ताओं के हिसाब से विज्ञापन दिखाने की सुविधा बंद करनी है या नहीं.
इस सुविधा का इस्तेमाल करने पर, सेशन के बाकी बचे समय के लिए, आने वाले समय में किए जाने वाले सभी विज्ञापन अनुरोधों में पब्लिशर निजता प्रोसेस (पीपीटी) पैरामीटर शामिल किया जाता है.
डिफ़ॉल्ट रूप से, Google को विज्ञापन दिखाने का अनुरोध करने पर, लोगों की दिलचस्पी के हिसाब से विज्ञापन दिखाए जाते हैं. नीचे दिया गया कोड, सभी विज्ञापन अनुरोधों के लिए दिलचस्पी के मुताबिक विज्ञापन दिखाने की सुविधा बंद कर देता है:
Kotlin
val requestConfiguration = MobileAds.getRequestConfiguration()
.toBuilder()
.setPublisherPrivacyPersonalizationState(PublisherPrivacyPersonalizationState.DISABLED)
.build()
MobileAds.setRequestConfiguration(requestConfiguration)
Java
RequestConfiguration requestConfiguration = MobileAds.getRequestConfiguration()
.toBuilder()
.setPublisherPrivacyPersonalizationState(PublisherPrivacyPersonalizationState.DISABLED)
.build();
MobileAds.setRequestConfiguration(requestConfiguration);
विज्ञापन अनुरोध
AdManagerAdRequest
ऑब्जेक्ट, विज्ञापन अनुरोध के साथ भेजी जाने वाली टारगेटिंग की जानकारी इकट्ठा करता है.
कस्टम टारगेटिंग
AdManagerAdRequest.Builder.addCustomTargeting()
की मदद से, Google Ad Manager कैंपेन (लाइन आइटम) को टारगेट करने के लिए, कस्टम की-वैल्यू पेयर पास किए जा सकते हैं:
Kotlin
// Example: Pass custom targeting "age=25".
val newRequest = AdManagerAdRequest.Builder()
.addCustomTargeting("age", "25")
.build()
Java
// Example: Pass custom targeting "age=25".
AdManagerAdRequest newRequest = new AdManagerAdRequest.Builder()
.addCustomTargeting("age", "25")
.build();
किसी की के लिए, स्ट्रिंग की सूची के तौर पर कई वैल्यू दी जा सकती हैं. उदाहरण के लिए, सिर्फ़ 25 साल के लोगों के बजाय, 20 से 25 साल के लोगों को टारगेट करना.
.addCustomTargeting("age", Arrays.asList("24", "25", "26"))
Android API के डेमो ऐप्लिकेशन में कस्टम टारगेटिंग लागू करने के लिए, Ad Manager की कस्टम टारगेटिंग का उदाहरण देखें.
किसी कैटगरी को बाहर रखना
AdManagerAdRequest.Builder
के दिए गए addCategoryExclusion()
तरीके का इस्तेमाल करके, किसी अनुरोध में स्लॉट-लेवल की कैटगरी एक्सक्लूज़न लेवल जोड़ा जा सकता है:
Kotlin
// Example: Exclude "automobile" and "boat" categories.
val newRequest = AdManagerAdRequest.Builder()
.addCategoryExclusion("automobile")
.addCategoryExclusion("boat")
.build()
Java
// Example: Exclude "automobile" and "boat" categories.
AdManagerAdRequest newRequest = new AdManagerAdRequest.Builder()
.addCategoryExclusion("automobile")
.addCategoryExclusion("boat")
.build();
Android API के डेमो ऐप्लिकेशन में कैटगरी एक्सक्लूज़न लागू करने के लिए, Ad Manager की कैटगरी एक्सक्लूज़न की सुविधा का उदाहरण देखें.
पब्लिशर के भेजे गए आईडी
पब्लिशर के दिए गए आइडेंटिफ़ायर (पीपीआईडी) को सेट किया जा सकता है. इसका इस्तेमाल, ऑडियंस के आधार पर अलग-अलग डिवाइसों पर विज्ञापन दिखाने से जुड़े कंट्रोल में किया जा सकता है. जैसे, फ़्रीक्वेंसी कैपिंग, ऑडियंस सेगमेंट बनाने, टारगेट करने, क्रम में विज्ञापन रोटेशन करने के लिए.
यहां पीपीआईडी सेट करने का उदाहरण दिया गया है:
Kotlin
val adRequest = AdManagerAdRequest.Builder()
.setPublisherProvidedId("AB123456789")
.build()
Java
AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder()
.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()
.addNetworkExtrasBundle(AdMobAdapter::class.java, 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));
AdManagerAdRequest request = new AdManagerAdRequest.Builder()
.addNetworkExtrasBundle(AdMobAdapter.class, extras)
.build()
कॉन्टेंट का यूआरएल
कॉन्टेंट के हिसाब से टारगेट किए गए विज्ञापनों और ब्रैंड की सुरक्षा के लिए कॉन्टेंट का यूआरएल देने के लिए, AdManagerAdRequest
बनाते समय setContentUrl()
को कॉल किया जा सकता है:
Kotlin
val builder = AdManagerAdRequest.Builder()
builder.setContentUrl("https://www.example.com")
val request = builder.build()
Java
AdManagerAdRequest.Builder builder = new AdManagerAdRequest.Builder();
builder.setContentUrl("https://www.example.com");
AdManagerAdRequest request = builder.build();
ब्रैंड की सुरक्षा (बीटा वर्शन)
अलग-अलग ऑडियंस के लिए डायनैमिक कॉन्टेंट दिखाने वाले ऐप्लिकेशन, AdManagerAdRequest
बनाते समय setNeighboringContentUrls()
तरीके का इस्तेमाल करके, यूआरएल की एक छोटी सूची उपलब्ध करा सकते हैं:
Kotlin
val urls = mutableListOf("https://www.mycontenturl1.com", "https://www.mycontenturl2.com",
"https://www.mycontenturl3.com", "https://www.mycontenturl4.com")
val requestWithContent = AdManagerAdRequest.Builder()
.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");
AdManagerAdRequest requestWithContent = new AdManagerAdRequest.Builder()
.setNeighboringContentUrls(urls)
.build();
.setNeighboringContentUrls()
, .setContentUrl()
से इस मायने में अलग है कि इसका इस्तेमाल सिर्फ़ ब्रैंड की सुरक्षा के लिए किया जाता है.