طبق خطمشی Google درخصوص موافقت کاربر اتحادیه اروپا، باید برخی شفافسازیها را برای کاربران ساکن منطقه اقتصادی اروپا (EEA)، پادشاهی متحد (UK)، و سوئیس انجام دهید و موافقت آنها را برای استفاده از کوکیها یا دیگر فضاهای ذخیرهسازی محلی (در جاهایی که قانون الزام میکند) و برای استفاده از دادههای شخصی (مانند AdID) برای ارائه آگهی کسب کنید.
این خطمشی منعکسکننده الزامات «آییننامه حریمخصوصی الکترونیکی» اتحادیه اروپا و «مقررات کلی حفاظت از داده» (GDPR) است.
این راهنما مراحل لازم برای پشتیبانی از پیام «چارچوب شفافیت و رضایت اداره تبلیغات تعاملی اروپا» (IAB TCF) نسخه ۲ «مقررات کلی حفاظت از داده» (GDPR) را بهعنوان بخشی از «کیت توسعه نرمافزار پلاتفرم پیامرسانی کاربر» (UMP SDK) شرح میدهد. این راهنما برای استفاده همراه با شروع به کار طراحی شده است که نمای کلی از نحوه راهاندازی برنامه با کیت توسعه نرمافزار UMP و اصول اولیه راهاندازی پیام ارائه میدهد. راهنمایی زیر مختص پیام «چارچوب شفافیت و رضایت» (TCF) نسخه ۲ «سازمان تبلیغات تعاملی» (IAB) برای «مقررات کلی حفاظت از داده» (GDPR) است. برای اطلاعات بیشتر، به نحوه تأثیر الزامات IAB بر پیامهای کسب رضایت اتحادیه اروپا مراجعه کنید.
پیشنیازها
ابطال رضایت
«مقررات کلی حفاظت از داده» (GDPR) به لغو موافقت نیاز دارد تا به کاربران اجازه دهد هر زمان خواستند انتخابهای موافقتشان را پس بگیرند. گزینههای حریم خصوصی را ببینید تا روشی را برای کاربران پیادهسازی کنید که بتوانند انتخابهای رضایت خود را پس بگیرند.
برچسب برای زیر سن قانونی
برای نشان دادن اینکه کاربر زیر سن رضایت است،
setTagForUnderAgeOfConsent (TFUA) را تنظیم کنید. وقتی TFUA را روی true تنظیم میکنید، UMP SDK
از کاربر درخواست رضایت نمیکند. اگر برنامهتان مخاطب مختلط دارد، این پارامتر را برای کاربران کودک تنظیم کنید تا مطمئن شوید که درخواست رضایت نمیشود.
مثال زیر TFUA را در درخواست رضایت UMP روی true تنظیم میکند:
جاوا
ConsentRequestParameters params = new ConsentRequestParameters
.Builder()
// Indicate the user is under age of consent.
.setTagForUnderAgeOfConsent(true)
.build();
consentInformation = UserMessagingPlatform.getConsentInformation(this);
consentInformation.requestConsentInfoUpdate(
this,
params,
(OnConsentInfoUpdateSuccessListener) () -> {
// ...
},
(OnConsentInfoUpdateFailureListener) requestConsentError -> {
// ...
});
Kotlin
val params = ConsentRequestParameters
.Builder()
// Indicate the user is under age of consent.
.setTagForUnderAgeOfConsent(true)
.build()
consentInformation = UserMessagingPlatform.getConsentInformation(this)
consentInformation.requestConsentInfoUpdate(
this,
params,
ConsentInformation.OnConsentInfoUpdateSuccessListener {
// ...
},
ConsentInformation.OnConsentInfoUpdateFailureListener {
requestConsentError ->
// ...
})
راهاندازی رضایت در «واسطهگری AdMob»
برای راهاندازی موافقت در «واسطهگری AdMob»، مراحل بخشهای زیر را تکمیل کنید.
افزودن شرکای آگهی به پیامهای «مقررات کلی حفاظت از داده»
مراحل موجود در افزودن شرکای آگهی به پیامهای «مقررات کلی حفاظت از داده» منتشرشده را دنبال کنید تا شرکای میانجیگریتان را به فهرست شرکای آگهی اضافه کنید. عدم انجام این کار میتواند منجر به عدم ارائه آگهی توسط شرکا در برنامه شما شود.
جدول زیر نام شریک فناوری تبلیغات را برای هر منبع آگهی فهرست میکند:
| منبع آگهی | نام شریک فناوری آگهی |
|---|---|
| AppLovin | AppLovin Corp. |
| BidMachine | BidMachine |
| کیت توسعه نرمافزار آگهیهای BIGO | 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 | Liftoff |
| LY Ads Network | LY Ads Network |
| maio | maio |
| Meta Audience Network | Meta |
| Mintegral | Mobvista/Mintegral |
| کیت توسعه نرمافزار Moloco Ads | Moloco Ads |
| myTarget | Mail.Ru |
| Pangle | Pangle DSP |
| PubMatic OpenWrap SDK | PubMatic |
| Unity Ads | Unity Ads |
| Verve HyBid SDK | Verve Group |
ارسال موافقت به منابع آگهی
جدول زیر نشان میدهد کدام منابع آگهی از ارسال سیگنالهای کسب رضایت با مقررات کلی حفاظت از داده از پلاتفرمهای مدیریت کسب رضایت که با چارچوب شفافسازی و کسب رضایت (TCF) سازمان تبلیغات تعاملی و مشخصات کسب رضایت تکمیلی 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 | موجود نیست۱ |
| InMobi | 10.7.5.0 |
| ironSource Ads | 7.7.0.0 |
| Liftoff Monetize | 7.4.1.0 |
| LY Ads Network | موجود نیست۱ |
| maio | موجود نیست۱ |
| Meta Audience Network | نامشخص۲ |
| Mintegral | 17.1.61.1 |
| کیت توسعه نرمافزار Moloco Ads | 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 |
۱ منبع آگهی ترافیک منطقه اقتصادی اروپا را ارائه نمیدهد.
۲ برای جزئیات، با مدیر شریک Meta خود تماس بگیرید.
نحوه خواندن انتخابهای رضایت
پساز جمعآوری رضایت با «مقررات کلی حفاظت از داده»، میتوانید انتخابهای رضایت را از فضای ذخیرهسازی محلی طبق
مشخصات TCF v2 بخوانید.
کلید IABTCF_PurposeConsents نشاندهنده رضایت برای هریک از
اهداف TCF است.
تکهکد زیر نحوه بررسی رضایت برای «هدف ۱» را نشان میدهد:
جاوا
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 = purposeConsents.charAt(0).toString();
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?.isEmpty() == false) {
val purposeOneString = purposeConsents.first().toString()
val hasConsentForPurposeOne = purposeOneString == "1"
}
پرسشگان
- اگر برای برآورده کردن الزامات پلاتفرم مدیریت کسب رضایت برای ارائه آگهی در منطقه اقتصادی اروپا، بریتانیا، و سوئیس اقدامی نکنم چه اتفاقی میافتد؟
از ۱۶ ژانویه ۲۰۲۴، اگر شریکی از CMP دارای گواهی Google استفاده نکند، فقط آگهیهای محدود واجدشرایط ارائه در ترافیک منطقه اقتصادی اروپا و بریتانیا خواهند بود.
اجرای این الزام از ۱۶ ژانویه ۲۰۲۴ برای درصد کمی از ترافیک منطقه اقتصادی اروپا و بریتانیا آغاز میشود و تا پایان فوریه ۲۰۲۴، که Google آن را برای کل ترافیک منطقه اقتصادی اروپا و بریتانیا اجرا میکند، افزایش خواهد یافت. تا ۱۶ ژانویه ۲۰۲۴، یک CMP تأییدشده داشته باشید تا مطمئن شوید درآمدزایی شما تحت تأثیر قرار نمیگیرد.
- چگونه میتوانم بررسی کنم که کاربر رضایت داده است؟
رضایت با یک بیت نشان داده نمیشود، بلکه با مجموعهای از اهداف و فروشندگان همانطور که در مشخصات IAB TCF تعریف شده است نشان داده میشود. برای معیارهای شخصیسازی Google Ads، خطمشیهای کسب رضایت: آگهیهای شخصیسازیشده و شخصیسازینشده را ببینید.
علاوهبراین، فناوریهای تبلیغات موجود در فهرست ارائهدهندگان فناوری تبلیغات (ATP) در Google که در فهرست فروشندگان TCF ثبت نشدهاند، از مشخصات فنی «موافقت اضافی» Google برای جمعآوری موافقت استفاده میکنند. Google فهرست ارائهدهندگان فناوری تبلیغات را که در IAB ثبت نشدهاند و شناسههای آنها را در مکان زیر منتشر میکند: https://storage.googleapis.com/tcfac/additional-consent-providers.csv.
برای اشکالزدایی درخواست آگهی تکی، از ویژگی عیبیابی تنظیمات حریم خصوصی در بازرس آگهی استفاده کنید تا نشانهای حریم خصوصی زیر را که در درخواست آگهی بهعنوان بخشی از ادغام ناشر با IAB Europe TCF ارسال شده است مشاهده کنید:
برچسب بازرس آگهی پارامتر پُرسمان درخواست آگهی معنی مقررات کلی حفاظت از داده اعمال میشود (IABTCF_gdprApplies) gdprاینکه «مقررات کلی محافظت از داده» برای این درخواست آگهی اعمال میشود یا نه. رشته TC (IABTCF_TCString) gdpr_consentرشته شفافیت و رضایت. IAB ابزاری وبی ارائه میدهد که در آن میتوانید بهصورت دستی رمزگشایی کنید. رشته AC (IABTCF_AddtlConsent) addtl_consentرشته AC از مشخصات فنی «رضایت تکمیلی» Google. برای خواندن انتخابهای کسب رضایت بهصورت برنامهنویسیشده، نحوه خواندن انتخابهای کسب رضایت را برای اطلاعات بیشتر ببینید.
- آیا برای برآورده کردن الزامات CMP باید از کیت توسعه نرمافزار UMP Google استفاده کنم؟
نه، میتوانید از هر «پلاتفرم مدیریت رضایت» موجود در فهرست پلاتفرمهای مدیریت رضایت دارای گواهینامه Google برای ارائه آگهی استفاده کنید.
- چگونه میتوانم فرم موافقت را دوباره بااستفاده از UMP SDK نشان دهم، حتی اگر کاربر قبلاً موافقت کرده باشد؟
اگر کاربری قبلاً تصمیم خود را درباره رضایت اعلام کرده باشد، راهحل مدیریت رضایت Google تا زمانی که رشته TC منقضی نشود یا بهنحوی نامعتبر نشود، درخواست جمعآوری رضایت جدید نخواهد کرد.
طبق «مقررات عمومی حفاظت از دادههای اروپا»، اصلاح رضایت لازم است تا کاربران بتوانند در هر زمانی انتخابهای رضایتشان را پس بگیرند. گزینههای حریم خصوصی را ببینید تا روشی را برای کاربران پیادهسازی کنید که بتوانند انتخابهای رضایتشان را پس بگیرند. برای نمایش مجدد فرم رضایت،
showPrivacyOptionsForm()را فراخوانی کنید.- من یک CMP دارای گواهینامه Google را ادغام کردم، اما هیچ درخواست آگهیای را که به شرکای میانجیگری ارسال شده باشد نمیبینم، حتی از کاربرانی که رضایت دادهاند. علت آن چیست؟
تحت «چارچوب شفافسازی و رضایت»، Google بررسی میکند که ارائهدهندگان فناوری تبلیغات و دیگر منابع تقاضای برنامهای خطمشی Google را نقض نکنند و حداقل یک مبنای قانونی برای پردازش دادهها قبلاز گنجاندن آنها در آبشار میانجیگری داشته باشند. برای اطلاعات بیشتر به بخش میانجیگری بروید.
برخیاز شرکای میانجی در فهرست ارائهدهندگان فناوری تبلیغات (ATP) Google در فهرست فروشندگان چارچوب شفافسازی و رضایت ثبت نشدهاند. این شرکا درعوض از مشخصات فنی «رضایت تکمیلی» Google برای جمعآوری رضایت استفاده میکنند. Google فهرست ارائهدهندگان فناوری تبلیغات ثبتنشده در IAB و شناسههای آنها را در مکان زیر منتشر میکند: https://storage.googleapis.com/tcfac/additional-consent-providers.csv
کیت توسعه نرمافزار UMP از ذخیره ACString پشتیبانی میکند و به شما امکان میدهد شرکای آگهی را به پیامهای «مقررات کلی حفاظت از داده» منتشرشده اضافه کنید بدون اینکه لازم باشد بدانید شرکا در TCF ثبت شدهاند یا نه. هنگام استفاده از «پلاتفرم مدیریت موافقت» طرف سوم، باید کارهای زیر را انجام دهید:
- مطمئن شوید که CMP طرف سوم از ذخیره ACString پشتیبانی میکند.
- هر شریک میانجی را در فهرست ارائهدهندگان فناوری آگهی که «پلاتفرم مدیریت رضایتهای» طرف سوم برای جمعآوری رضایت استفاده میکند اضافه کنید.
- آیا میتوانم عملکرد برنامهام را درصورت عدم رضایت کاربران تغییر دهم؟ آیا این مورد طبق خطمشی مجاز است؟
ناشران میتوانند رشته IAB TCF را در برنامههایشان بخوانند. برای کسب اطلاعات درباره خواندن انتخابهای رضایت بهصورت برنامهنویسیشده، نحوه خواندن انتخابهای رضایت را ببینید. ناشران باید تعهدات خود را تحت مقررات مربوطه با مشاور حقوقی بررسی کنند.
- وقتی مدیریت گزینهها را انتخاب میکنم و با همه اهداف موافقت میکنم، هیچ آگهیای نمیبینم؟ علت آن چیست؟
علاوهبر جمعآوری رضایت برای اهداف، باید رضایت فروشنده را نیز جمعآوری کنید. برای اینکه هر فروشندهای، مثل Google، بتواند آگهیهای مناسب ارائه دهد، هم رضایت برای اهداف و هم رضایت فروشنده لازم است.
- چگونه «رشته AC» نسخه ۲ را برای کاربرانی که قبلاً با نسخه ۱ موافقت کردهاند پیادهسازی کنم؟
کلید
IABTCF_AddtlConsentرا در فضای ذخیرهسازی محلی طبق مشخصات فنی رضایت تکمیلی Google بررسی کنید تا مشخص شود آیا کاربر با نسخه ۲ «رشته رضایت تکمیلی» موافقت کرده است یا نه و آیا باید فرم رضایت را دوباره نشان دهید یا نه.جاوا
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" }