طبق خطمشی Google درخصوص موافقت کاربر اتحادیه اروپا، باید برخی شفافسازیها را برای کاربران ساکن منطقه اقتصادی اروپا (EEA)، پادشاهی متحد (UK)، و سوئیس انجام دهید و موافقت آنها را برای استفاده از کوکیها یا دیگر فضاهای ذخیرهسازی محلی (در جاهایی که قانون الزام میکند) و برای استفاده از دادههای شخصی (مانند شناسه تبلیغاتی) جهت ارائه آگهی کسب کنید.
این خطمشی منعکسکننده الزامات «آییننامه حریمخصوصی الکترونیکی» اتحادیه اروپا و «مقررات کلی حفاظت از داده» (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 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 | 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"
}
پرسشگان
- اگر برای برآورده کردن الزامات پلاتفرم مدیریت رضایتها برای ارائه آگهی در منطقه اقتصادی اروپا، پادشاهی متحد (UK)، و سوئیس اقدامی نکنم چه اتفاقی میافتد؟
از ۱۶ ژانویه ۲۰۲۴، اگر شریکی CMP دارای گواهی Google را اتخاذ نکند، فقط آگهیهای محدود واجدشرایط ارائه در ترافیک منطقه اقتصادی اروپا و بریتانیا خواهند بود.
اجرای این الزام از ۱۶ ژانویه ۲۰۲۴ برای درصد کمی از ترافیک منطقه اقتصادی اروپا و بریتانیا آغاز میشود و تا پایان فوریه ۲۰۲۴ برای کل ترافیک منطقه اقتصادی اروپا و بریتانیا اعمال خواهد شد. تا ۱۶ ژانویه ۲۰۲۴، یک CMP تأییدشده داشته باشید تا مطمئن شوید درآمدزایی شما تحت تأثیر قرار نمیگیرد.
- چگونه میتوانم بررسی کنم که کاربر رضایت داده است؟
رضایت با یک بیت نشان داده نمیشود، بلکه مجموعهای از اهداف و فروشندگان است که در مشخصات IAB TCF تعریف شده است. برای معیارهای شخصیسازی Google Ads، خطمشیهای رضایت: آگهیهای شخصیسازیشده و شخصیسازینشده را ببینید.
علاوهبراین، فناوریهای تبلیغات در فهرست ارائهدهندگان فناوری تبلیغات (ATP) Google که در فهرست فروشندگان TCF ثبت نشدهاند، از مشخصات فنی «موافقت اضافی» Google برای جمعآوری موافقت استفاده میکنند. Google فهرست ارائهدهندگان فناوری تبلیغات را که در IAB ثبت نشدهاند و شناسههای آنها را در مکان زیر منتشر میکند: https://storage.googleapis.com/tcfac/additional-consent-providers.csv.
برای اشکالزدایی درخواست آگهی تکی، از ویژگی عیبیابی تنظیمات حریم خصوصی در بازرس آگهی استفاده کنید تا نشانهای حریم خصوصی زیر را که در درخواست آگهی بهعنوان بخشی از ادغام ناشر با چارچوب رضایت و شفافیت اداره تبلیغات تعاملی اروپا ارسال شده است مشاهده کنید:
برچسب بازرس آگهی پارامتر پُرسمان درخواست آگهی معنی مقررات کلی حفاظت از داده اعمال میشود (IABTCF_gdprApplies) gdprاینکه آیا «مقررات کلی محافظت از داده» برای این درخواست آگهی اعمال میشود یا نه. رشته TC (IABTCF_TCString) gdpr_consentرشته TC. 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" }