Google की ईयू उपयोगकर्ता की सहमति से जुड़ी नीति के तहत, आपको यूरोपियन इकनॉमिक एरिया (ईईए), यूनाइटेड किंगडम (यूके), और स्विट्ज़रलैंड में अपने उपयोगकर्ताओं को कुछ ज़रूरी जानकारी साफ़ तौर पर देनी होगी. साथ ही, कानूनी रूप से ज़रूरी होने पर, कुकी या दूसरे लोकल स्टोरेज में इकट्ठा किए गए डेटा के इस्तेमाल के लिए भी उनकी सहमति लेनी होगी. इसके अलावा, विज्ञापन दिखाने के लिए निजी डेटा (जैसे कि AdID) के इस्तेमाल के लिए भी उपयोगकर्ताओं की सहमति लेनी होगी.
इस नीति में, ईयू के ई-निजता निर्देश और जनरल डेटा प्रोटेक्शन रेगुलेशन (जीडीपीआर) की ज़रूरी शर्तों के बारे में बताया गया है.
इस गाइड में, UMP SDK टूल के हिस्से के तौर पर, जीडीपीआर के लिए IAB टीसीएफ़ के वर्शन 2 के मैसेज दिखाने के लिए ज़रूरी चरणों के बारे में बताया गया है. इसे शुरू करें के साथ जोड़ा जाना चाहिए. इससे आपको UMP SDK टूल की मदद से, अपने ऐप्लिकेशन को चलाने और मैसेज सेट अप करने की बुनियादी जानकारी मिलती है. यहां दिए गए दिशा-निर्देश, जीडीपीआर के तहत IAB टीसीएफ़ के वर्शन 2.0 के मुताबिक बनाए गए मैसेज के लिए हैं. ज़्यादा जानकारी के लिए, IAB की ज़रूरी शर्तें, ईयू (यूरोपीय संघ) के सहमति जताने वाले मैसेज पर कैसे असर डालती हैं लेख पढ़ें.
ज़रूरी शर्तें
सहमति वापस लेना
जीडीपीआर के तहत, सहमति वापस लेने की सुविधा देना ज़रूरी है, ताकि उपयोगकर्ता किसी भी समय अपनी सहमति वापस ले सकें. उपयोगकर्ताओं को सहमति वापस लेने का विकल्प देने के लिए, निजता के विकल्प देखें.
सहमति देने की मान्य उम्र से कम उम्र के उपयोगकर्ताओं के लिए टैग
यह बताने के लिए कि उपयोगकर्ता की उम्र सहमति देने की मान्य उम्र से कम है,
setTagForUnderAgeOfConsent (टीएफ़यूए) सेट करें. टीएफ़यूए को true पर सेट करने पर, यूएमपी एसडीके उपयोगकर्ता से सहमति का अनुरोध नहीं करता. अगर आपके ऐप्लिकेशन की ऑडियंस में बच्चे और वयस्क दोनों शामिल हैं, तो बच्चों के लिए इस पैरामीटर को सेट करें. इससे यह पक्का किया जा सकेगा कि उनसे सहमति न मांगी जाए.
यहां दिए गए उदाहरण में, यूएमपी सहमति के अनुरोध पर टीएफ़यूए को 'सही है' पर सेट किया गया है:
Java
ConsentRequestParameters params =
new ConsentRequestParameters.Builder()
// Indicate the user is under age of consent.
.setTagForUnderAgeOfConsent(true)
.build();
Kotlin
val params =
ConsentRequestParameters.Builder()
// Indicate the user is under age of consent.
.setTagForUnderAgeOfConsent(true)
.build()
मीडिएशन में सहमति सेट अप करना
मीडिएशन में सहमति सेट अप करने के लिए, यहां दिए गए सेक्शन में बताया गया तरीका अपनाएं.
जीडीपीआर मैसेज में विज्ञापन पार्टनर जोड़ना
अपने मीडिएशन पार्टनर को विज्ञापन पार्टनर की सूची में जोड़ने के लिए, पब्लिश किए जा चुके जीडीपीआर मैसेज में विज्ञापन पार्टनर जोड़ना लेख में बताया गया तरीका अपनाएं. ऐसा न करने पर, हो सकता है कि पार्टनर आपके ऐप्लिकेशन पर विज्ञापन न दिखा पाएं.
यहां दी गई टेबल में, हर विज्ञापन सोर्स के लिए विज्ञापन टेक्नोलॉजी पार्टनर का नाम दिया गया है:
| विज्ञापन स्रोत | विज्ञापन टेक पार्टनर का नाम |
|---|---|
| AppLovin | AppLovin Corp. |
| BidMachine | BidMachine |
| BIGO Ads SDK | Empathy Technology Pte.Ltd. (BIGO Ads) |
| Chartboost | Chartboost |
| DT Exchange | DT Exchange (Fyber Monetization) |
| i-mobile | i-mobile |
| InMobi | InMobi |
| ironSource Ads | ironSource Mobile |
| Liftoff Monetize | उड़ान |
| LY Ads Network | LY Ads Network |
| maio | maio |
| Meta Audience Network | Meta |
| Mintegral | Mobvista/Mintegral |
| Moloco Ads SDK | Moloco Ads |
| myTarget | Mail.ru |
| Pangle | Pangle डीएसपी |
| PubMatic OpenWrap SDK | PubMatic |
| Unity Ads | Unity Ads |
| Verve HyBid SDK | Verve Group |
विज्ञापन के सोर्स को सहमति भेजना
यहां दी गई टेबल से पता चलता है कि विज्ञापन के कौनसे सोर्स, जीडीपीआर के तहत सहमति के सिग्नल पास करने की सुविधा देते हैं. ये सिग्नल, उन कंसेंट मैनेजमेंट प्लैटफ़ॉर्म से पास किए जाते हैं जो IAB के पारदर्शिता और सहमति फ़्रेमवर्क (टीसीएफ़) और Google के अन्य सहमति मोड के साथ इंटिग्रेट होते हैं. ये सिग्नल, विज्ञापन सोर्स के एसडीके को पास किए जाते हैं:
| विज्ञापन स्रोत | कम से कम इस वर्शन का होना ज़रूरी है |
|---|---|
| AppLovin | 12.0.0.0 |
| BidMachine | 3.3.0.0 |
| BIGO Ads SDK | 5.5.2.0 |
| Chartboost | 9.13.0.0 |
| DT Exchange | 8.3.0.0 |
| i-mobile | लागू नहीं1 |
| InMobi | 10.7.5.0 |
| ironSource Ads | 7.7.0.0 |
| Liftoff Monetize | 7.4.1.0 |
| LY Ads Network | लागू नहीं1 |
| maio | लागू नहीं1 |
| Meta Audience Network | लागू नहीं2 |
| Mintegral | 17.1.61.1 |
| Moloco Ads SDK | 3.5.0.0 |
| myTarget | 5.51.2.0 |
| Pangle | 7.9.0.9.0 |
| PubMatic OpenWrap SDK | 4.7.0.0 |
| Unity Ads | 4.19.0.1 |
| Verve HyBid SDK | 3.7.1.0 |
1 विज्ञापन सोर्स, ईईए ट्रैफ़िक को विज्ञापन नहीं दिखाता.
2 ज़्यादा जानकारी के लिए, अपने Meta पार्टनर मैनेजर से संपर्क करें.
सहमति देने या न देने के विकल्पों को पढ़ने का तरीका
जीडीपीआर के तहत सहमति मिलने के बाद, टीसीएफ़ के 2.0 वर्शन की खास जानकारी के मुताबिक, लोकल स्टोरेज से सहमति के विकल्पों को पढ़ा जा सकता है. IABTCF_PurposeConsents कुंजी, टीसीएफ़ के हर मकसद के लिए सहमति दिखाती है.
यहां दिए गए कोड स्निपेट से, मकसद 1 के लिए सहमति की जांच करने का तरीका पता चलता है:
Java
SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(context);
// Example value: "1111111111"
String purposeConsents = sharedPref.getString("IABTCF_PurposeConsents", "");
// Purposes are zero-indexed. Index 0 contains information about Purpose 1.
if (!purposeConsents.isEmpty()) {
String purposeOneString = String.valueOf(purposeConsents.charAt(0));
boolean hasConsentForPurposeOne = purposeOneString.equals("1");
}
Kotlin
val sharedPref = PreferenceManager.getDefaultSharedPreferences(context)
// Example value: "1111111111"
val purposeConsents = sharedPref.getString("IABTCF_PurposeConsents", "")
// Purposes are zero-indexed. Index 0 contains information about Purpose 1.
if (!purposeConsents.isNullOrEmpty()) {
val purposeOneString = purposeConsents.first().toString()
val hasConsentForPurposeOne = purposeOneString == "1"
}
अक्सर पूछे जाने वाले सवाल
- अगर ईईए, यूके, और स्विट्ज़रलैंड में विज्ञापन दिखाने के लिए, सहमति मैनेजमेंट प्लैटफ़ॉर्म से जुड़ी ज़रूरी शर्तों को पूरा करने के लिए कोई कार्रवाई न की जाए, तो क्या होगा?
अगर कोई पार्टनर 16 जनवरी, 2024 से Google से सर्टिफ़ाइड सीएमपी का इस्तेमाल नहीं करता है, तो ईईए और यूके में सीमित तौर पर ही विज्ञापन दिखाए जा सकेंगे.
सहमति मैनेज करने से जुड़ी ज़रूरी शर्तें 16 जनवरी, 2024 को ईईए और यूके के ट्रैफ़िक के छोटे से हिस्से में लागू की जाएंगी. फ़रवरी के आखिर तक इन्हें ईईए और यूके के पूरे ट्रैफ़िक पर लागू कर दिया जाएगा. इसलिए, 16 जनवरी, 2024 तक किसी सर्टिफ़ाइड सीएमपी का इस्तेमाल शुरू करना ज़रूरी है, ताकि आप बिना किसी रुकावट के कमाई करना जारी रख सकें.
- मुझे कैसे पता चलेगा कि उपयोगकर्ता ने सहमति दी है या नहीं?
सहमति को किसी एक बिट से नहीं दिखाया जाता, बल्कि IAB टीसीएफ़ की शर्तों में बताए गए मकसद और वेंडर के सेट से दिखाया जाता है. Google Ads में, लोगों के हिसाब से विज्ञापन दिखाने की शर्तों के बारे में जानने के लिए, सहमति लेने की नीतियां: लोगों के हिसाब से दिखाए जाने वाले और लोगों के हिसाब से न दिखाए जाने वाले विज्ञापन देखें.
इसके अलावा, Google की विज्ञापन टेक्नोलॉजी से जुड़ी सेवा देने वाली कंपनियों (एटीपी) की सूची में शामिल ऐसी कंपनियां जो टीसीएफ़ वेंडर सूची में रजिस्टर नहीं हैं, वे सहमति इकट्ठा करने के लिए Google के अन्य सहमति मोड की तकनीकी जानकारी का इस्तेमाल करती हैं. विज्ञापन टेक्नोलॉजी से जुड़ी सेवा देने वाली ऐसी कंपनियां जो IAB में रजिस्टर नहीं हैं, Google उनके नाम और आईडी यहां पब्लिश करता है: https://storage.googleapis.com/tcfac/additional-consent-providers.csv.
किसी व्यक्तिगत विज्ञापन अनुरोध को डीबग करने के लिए, विज्ञापन जांचने वाले टूल में मौजूद निजता सेटिंग से जुड़ी समस्या हल करें सुविधा का इस्तेमाल करें. इससे, विज्ञापन दिखाने के अनुरोध में पास किए गए इन निजता सिग्नल को देखा जा सकता है. ये सिग्नल, IAB Europe टीसीएफ़ के साथ पब्लिशर के इंटिग्रेशन के तहत पास किए जाते हैं:
विज्ञापन जांचने वाले टूल का लेबल विज्ञापन दिखाने के अनुरोध का क्वेरी पैरामीटर मतलब जीडीपीआर लागू होता है (IABTCF_gdprApplies) gdprक्या इस विज्ञापन अनुरोध पर जीडीपीआर लागू होता है. टीसी स्ट्रिंग (IABTCF_TCString) gdpr_consentटीसी स्ट्रिंग. आईएबी एक वेब टूल उपलब्ध कराता है, जहां वैल्यू को मैन्युअल तरीके से डिकोड किया जा सकता है. अतिरिक्त सहमति वाली स्ट्रिंग (IABTCF_AddtlConsent) addtl_consentGoogle के अन्य सहमति मोड की तकनीकी जानकारी से मिली एसी स्ट्रिंग. सहमति के विकल्पों को प्रोग्राम के हिसाब से पढ़ने के लिए, सहमति के विकल्पों को पढ़ने का तरीका देखें.
- क्या मुझे सीएमपी की ज़रूरी शर्त पूरी करने के लिए, Google के यूएमपी एसडीके का इस्तेमाल करना होगा?
नहीं, विज्ञापन दिखाने के लिए, Google से सर्टिफ़ाइड सीएमपी की सूची में से किसी भी सीएमपी का इस्तेमाल किया जा सकता है.
- अगर उपयोगकर्ता ने पहले ही सहमति दे दी है, तो UMP SDK का इस्तेमाल करके सहमति फ़ॉर्म को फिर से कैसे दिखाया जा सकता है?
अगर किसी उपयोगकर्ता ने पहले ही सहमति दे दी है, तो Google का सहमति मैनेजमेंट सलूशन, नई सहमति इकट्ठा करने का अनुरोध तब तक नहीं करेगा, जब तक टीसी स्ट्रिंग की समयसीमा खत्म नहीं हो जाती या वह अमान्य नहीं हो जाती.
जीडीपीआर के तहत, सहमति में बदलाव करने की सुविधा देना ज़रूरी है, ताकि उपयोगकर्ता किसी भी समय अपनी सहमति वापस ले सकें. उपयोगकर्ताओं को सहमति वापस लेने का विकल्प देने के लिए, निजता के विकल्प देखें. सहमति फ़ॉर्म को फिर से दिखाने के लिए,
showPrivacyOptionsForm()को कॉल करें.- मैंने Google से सर्टिफ़ाइड सीएमपी को इंटिग्रेट किया है. हालांकि, मुझे मीडिएशन पार्टनर को विज्ञापन दिखाने का कोई अनुरोध नहीं दिख रहा है. ऐसा उन उपयोगकर्ताओं के लिए भी हो रहा है जिन्होंने सहमति दी है. ऐसा क्यों हो रहा है?
टीसीएफ़ के तहत, Google यह जांच करता है कि विज्ञापन टेक्नोलॉजी से जुड़ी सेवा देने वाली कंपनियां और प्रोग्राम के हिसाब से अपने-आप काम करने वाले दूसरे डिमांड सोर्स, Google की नीति का उल्लंघन न करते हों. साथ ही, उन्हें मीडिएशन वॉटरफ़ॉल में शामिल करने से पहले यह भी जांच करता है कि डेटा प्रोसेस करने के लिए उनके पास कम से कम एक कानूनी आधार ज़रूर हो. ज़्यादा जानकारी के लिए, मीडिएशन सेक्शन पर जाएं.
Google की विज्ञापन टेक्नोलॉजी से जुड़ी सेवा देने वाली कंपनियों (एटीपी) की सूची में शामिल मीडिएशन पार्टनर, टीसीएफ़ वेंडर सूची में रजिस्टर नहीं हैं. ये पार्टनर, सहमति इकट्ठा करने के लिए Google के अन्य सहमति मोड की तकनीकी जानकारी का इस्तेमाल करते हैं. विज्ञापन टेक्नोलॉजी से जुड़ी सेवा देने वाली ऐसी कंपनियां जो IAB में रजिस्टर नहीं हैं, Google उनके नाम और आईडी यहां पब्लिश करता है: https://storage.googleapis.com/tcfac/additional-consent-providers.csv
UMP SDK, ACString को सेव करने की सुविधा देता है. इससे आपको पब्लिश किए जा चुके जीडीपीआर मैसेज में विज्ञापन पार्टनर जोड़ने में मदद मिलती है. इसके लिए, आपको यह जानने की ज़रूरत नहीं होती कि पार्टनर, टीसीएफ़ के साथ रजिस्टर हैं या नहीं. तीसरे पक्ष के सीएमपी का इस्तेमाल करते समय, आपको ये काम करने चाहिए:
- पुष्टि करें कि तीसरे पक्ष का सीएमपी, ACString को सेव करने की सुविधा देता हो.
- विज्ञापन टेक्नोलॉजी की सेवा देने वाली कंपनियों की सूची में, मीडिएशन पार्टनर को शामिल करें. तीसरे पक्ष का सीएमपी, सहमति लेने के लिए इस सूची का इस्तेमाल करता है.
- अगर उपयोगकर्ता सहमति नहीं देते हैं, तो क्या मेरे पास अपने ऐप्लिकेशन के काम करने के तरीके को बदलने का विकल्प है? क्या नीति के तहत इसकी अनुमति है?
पब्लिशर, अपने ऐप्लिकेशन में IAB टीसीएफ़ स्ट्रिंग को पढ़ सकते हैं. प्रोग्राम के हिसाब से सहमति के विकल्पों को पढ़ने के बारे में जानकारी पाने के लिए, सहमति के विकल्पों को पढ़ने का तरीका देखें. पब्लिशर को अपने कानूनी सलाहकार के साथ मिलकर, ज़रूरी नियमों के तहत अपनी जवाबदेही की समीक्षा करनी चाहिए.
- विकल्प मैनेज करें को चुनने और सभी मकसद के लिए सहमति देने के बाद भी, मुझे कोई विज्ञापन क्यों नहीं दिख रहा है? ऐसा क्यों हो रहा है?
मकसद के लिए सहमति लेने के साथ-साथ, आपको वेंडर की सहमति भी लेनी होगी. Google जैसे किसी भी वेंडर को सही विज्ञापन दिखाने के लिए, दोनों मकसद के लिए सहमति और वेंडर की सहमति ज़रूरी है.
- मैं उन उपयोगकर्ताओं के लिए अतिरिक्त सहमति वाली स्ट्रिंग का दूसरा वर्शन कैसे लागू करूं जिन्होंने पहले वर्शन के लिए पहले ही सहमति दे दी है?
Google की अन्य सहमति की तकनीकी जानकारी के मुताबिक, लोकल स्टोरेज में
IABTCF_AddtlConsentकुंजी की जांच करें. इससे यह पता चलेगा कि किसी उपयोगकर्ता ने अतिरिक्त सहमति वाली स्ट्रिंग के वर्शन 2 के लिए सहमति दी है या नहीं. साथ ही, यह भी पता चलेगा कि आपको सहमति फ़ॉर्म फिर से दिखाना है या नहीं.Java
SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(context); // Example value: "2~1.35.41.101~dv.9.21.81" String additionalConsent = sharedPref.getString("IABTCF_AddtlConsent", ""); // Index 0 contains information about the specification version number. if (!additionalConsent.isEmpty()) { String specACVersion = additionalConsent.charAt(0); boolean isACVersion2 = purposeOneString.equals("2"); }Kotlin
val sharedPref = PreferenceManager.getDefaultSharedPreferences(context) // Example value: "2~1.35.41.101~dv.9.21.81" val additionalConsent = sharedPref.getString("IABTCF_AddtlConsent", "") // Index 0 contains information about the specification version number. if (!additionalConsent.isEmpty()) { val specACVersion = additionalConsent.first() val isACVersion2 = specACVersion == "2" }