Google-এর ইউরোপীয় ইউনিয়নের ব্যবহারকারী সম্মতি নীতি অনুযায়ী, আপনাকে ইউরোপীয় অর্থনৈতিক অঞ্চল (EEA), যুক্তরাজ্য (UK) ও সুইজারল্যান্ডের ব্যবহারকারীদের বিশেষ কিছু তথ্য জানাতে হবে। এছাড়াও, আইনত প্রয়োজনীয় হলে, কুকি বা অন্যান্য লোকাল স্টোরেজ ব্যবহার করা এবং সেই সাথে বিজ্ঞাপন দেখানোর ক্ষেত্রে ব্যক্তিগত ডেটা (যেমন AdID) ব্যবহার করার জন্য ব্যবহারকারীর অনুমতি নিতে হবে।
ইউরোপীয় ইউনিয়নের ই-প্রাইভেসি নির্দেশিকা এবং জেনারেল ডেটা প্রোটেকশন রেগুলেশন (GDPR) অনুযায়ী এই নীতি তৈরি করা হয়েছে।
এই নির্দেশিকায় UMP SDK-এর অংশ হিসেবে GDPR IAB TCF v2 মেসেজ দেখানোর জন্য প্রয়োজনীয় ধাপগুলি উল্লেখ করা হয়েছে। এটি শুরু করুন-এর সাথে পেয়ার করার জন্য তৈরি করা হয়েছে যা UMP SDK-এর মাধ্যমে আপনার অ্যাপ কীভাবে চালু করবেন এবং আপনার মেসেজ সেট-আপ করার প্রাথমিক বিষয়গুলির একটি ওভারভিউ দেয়। নিম্নলিখিত নির্দেশিকাটি বিশেষভাবে GDPR IAB TCF v2 মেসেজের জন্য প্রযোজ্য। আরও তথ্যের জন্য, IAB-এর প্রয়োজনীয়তা কীভাবে ইউরোপীয় ইউনিয়নের সম্মতি মেসেজকে প্রভাবিত করে দেখুন।
পূর্বশর্ত
সম্মতি তুলে নেওয়া
জিডিপিআর (GDPR) অনুযায়ী, ব্যবহারকারীরা যাতে যেকোনও সময় তাদের সম্মতি সংক্রান্ত পছন্দ প্রত্যাহার করতে পারেন, তার জন্য সম্মতি তুলে নেওয়ার সুবিধা দিতে হবে। ব্যবহারকারীরা যাতে তাদের সম্মতির পছন্দ প্রত্যাহার করতে পারেন, সেই জন্য কোনও উপায় প্রয়োগ করতে গোপনীয়তা সংক্রান্ত বিকল্প দেখুন।
সম্মতি দেওয়ার উপযুক্ত বয়সের কম বয়সীদের জন্য ট্যাগ
কোনও ব্যবহারকারীর বয়স সম্মতি দেওয়ার উপযুক্ত বয়সের চেয়ে কম কিনা তা জানাতে,
tagForUnderAgeOfConsent (TFUA) সেট করুন। আপনি TFUA-কে true হিসেবে সেট করলে, UMP SDK
ব্যবহারকারীর থেকে সম্মতি নেওয়ার অনুরোধ করে না। আপনার অ্যাপে যদি মিশ্র দর্শক থাকে, তাহলে
সম্মতি যাতে চাওয়া না হয় তা নিশ্চিত করতে বাচ্চা ব্যবহারকারীদের জন্য এই প্যারামিটার সেট করুন।
নিম্নলিখিত উদাহরণে UMP সম্মতি অনুরোধে TFUA-কে 'সত্য' হিসেবে সেট করা হয়েছে:
Swift
// Create a UMPRequestParameters object.
let parameters = RequestParameters()
// Indicate the user is under age of consent.
parameters.isTaggedForUnderAgeOfConsent = true
// Request an update for the consent information.
ConsentInformation.shared.requestConsentInfoUpdate(with: parameters) {
[weak self] requestConsentError in
guard let self else { return }
// ...
}
Objective-C
// Create a UMPRequestParameters object.
UMPRequestParameters *parameters = [[UMPRequestParameters alloc] init];
// Indicate the user is under age of consent.
parameters.tagForUnderAgeOfConsent = YES;
// Request an update for the consent information.
[UMPConsentInformation.sharedInstance
requestConsentInfoUpdateWithParameters:parameters
completionHandler:^(NSError *_Nullable requestConsentError) {
// ...
}];
মধ্যস্থতায় সম্মতি সেট-আপ করা
মধ্যস্থতায় সম্মতি সেট-আপ করতে, নিম্নলিখিত বিভাগে উল্লেখ করা ধাপগুলি সম্পূর্ণ করুন।
জিডিপিআর (GDPR) মেসেজে বিজ্ঞাপন পার্টনার যোগ করা
বিজ্ঞাপন পার্টনারের তালিকায় আপনার মধ্যস্থতাকারী পার্টনারকে যোগ করতে, প্রকাশিত জিডিপিআর মেসেজে বিজ্ঞাপন পার্টনার যোগ করুন লিঙ্কে দেওয়া ধাপগুলি অনুসরণ করুন। এটি না করলে, পার্টনার আপনার অ্যাপে বিজ্ঞাপন দেখাতে পারবে না।
নিম্নলিখিত সারণীতে প্রতিটি বিজ্ঞাপন সোর্সের জন্য বিজ্ঞাপন প্রযুক্তি পার্টনারের নাম তালিকাভুক্ত করা আছে:
| বিজ্ঞাপন সোর্স | বিজ্ঞাপন প্রযুক্তি পার্টনারের নাম |
|---|---|
| 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 SDK | Moloco Ads |
| myTarget | Mail.ru |
| Pangle | Pangle DSP |
| PubMatic OpenWrap SDK | PubMatic |
| Unity Ads | Unity Ads |
| Verve HyBid SDK | Verve Group |
বিজ্ঞাপন সোর্সে সম্মতি ফরওয়ার্ড করা
নিচের সারণীতে দেখানো হয়েছে যে কোন কোন বিজ্ঞাপন সোর্স, IAB-এর ট্রান্সপারেন্সি ও কনসেন্ট ফ্রেমওয়ার্ক (TCF) এবং Google-এর অতিরিক্ত সম্মতি স্পেসিফিকেশন -এর সাথে ইন্টিগ্রেট করা কনসেন্ট ম্যানেজমেন্ট প্ল্যাটফর্ম থেকে বিজ্ঞাপন সোর্সের SDK-তে GDPR সম্মতি সিগন্যাল পাস করার সুবিধা প্রদান করে:
| বিজ্ঞাপন সোর্স | সর্বনিম্ন যে ভার্সনে কাজ করে |
|---|---|
| AppLovin | 12.0.0.0 |
| BidMachine | 3.4.0.0 |
| BIGO Ads SDK | 5.0.6.0 |
| Chartboost | 9.13.0.0 |
| DT Exchange | 8.3.1.0 |
| i-mobile | N/A১ |
| InMobi | 10.7.5.0 |
| ironSource Ads | 7.7.0.0 |
| Liftoff Monetize | 7.4.1.0 |
| LY Ads Network | N/A১ |
| maio | N/A১ |
| Meta Audience Network | প্রযোজ্য নয়২ |
| Mintegral | 7.7.9.0 |
| Moloco Ads SDK | 3.5.0.0 |
| myTarget | 5.45.0.1 |
| Pangle | 7.9.0.6.0 |
| PubMatic OpenWrap SDK | 4.7.0.0 |
| Unity Ads | 4.19.0.1 |
| Verve HyBid SDK | 3.7.1.1 |
১ বিজ্ঞাপন সোর্স EEA ট্রাফিককে বিজ্ঞাপন দেখায় না।
২ বিস্তারিত জানতে, আপনার Meta পার্টনার ম্যানেজারের সাথে যোগাযোগ করুন।
সম্মতি সংক্রান্ত পছন্দ কীভাবে পড়বেন
জিডিপিআর (GDPR) সম্মতি সংগ্রহ করার পরে, আপনি
TCF v2 স্পেসিফিকেশন অনুসরণ করে লোকাল স্টোরেজ থেকে সম্মতির বিকল্পগুলি পড়তে পারেন।
IABTCF_PurposeConsents কী প্রতিটি
TCF উদ্দেশ্যের জন্য সম্মতি নির্দেশ করে।
উদ্দেশ্য ১-এর জন্য সম্মতি কীভাবে চেক করতে হয় তা নিম্নলিখিত কোড স্নিপেট থেকে জানতে পারবেন:
Swift
// Example value: "1111111111"
let purposeConsents = UserDefaults.standard.string(forKey: "IABTCF_PurposeConsents")
// Purposes are zero-indexed. Index 0 contains information about Purpose 1.
let hasConsentForPurposeOne = purposeConsents?.first == "1"
Objective-C
// Example value: "1111111111"
NSString *purposeConsents = [NSUserDefaults.standardUserDefaults
stringForKey:@"IABTCF_PurposeConsents"];
// Purposes are zero-indexed. Index 0 contains information about Purpose 1.
BOOL hasConsentForPurposeOne = [purposeConsents hasPrefix:@"1"];
প্রায়শই জিজ্ঞাসিত প্রশ্ন
- ইউরোপীয় অর্থনৈতিক অঞ্চল (EEA), যুক্তরাজ্য ও সুইজারল্যান্ডে বিজ্ঞাপন পরিবেশন করার জন্য কনসেন্ট ম্যানেজমেন্ট প্ল্যাটফর্ম সংক্রান্ত প্রয়োজনীয়তা পূরণ করার জন্য আমি কোনও ব্যবস্থা না নিলে কী হবে?
১৬ জানুয়ারি, ২০২৪ থেকে, কোনও পার্টনার Google-সার্টিফায়েড CMP ব্যবহার না করলে, শুধুমাত্র সীমিত বিজ্ঞাপন EEA ও যুক্তরাজ্যের ট্রাফিকে দেখানোর জন্য উপযুক্ত হবে।
১৬ জানুয়ারি, ২০২৪ থেকে ইউরোপীয় অর্থনৈতিক অঞ্চল এবং যুক্তরাজ্যের ট্রাফিকের খুব কম শতাংশের উপর এনফোর্স করা শুরু হবে এবং ২০২৪ সালের ফেব্রুয়ারি মাসের শেষের মধ্যে ইউরোপীয় অর্থনৈতিক অঞ্চল এবং যুক্তরাজ্যের সব ট্রাফিকের উপর এনফোর্স না করা পর্যন্ত তা চলতে থাকবে। আপনার মনিটাইজেশনের উপর যাতে কোনও প্রভাব না পড়ে তা নিশ্চিত করতে, ১৬ জানুয়ারি, ২০২৪-এর মধ্যে সার্টিফায়েড CMP-এর ব্যবস্থা করুন।
- ব্যবহারকারী সম্মতি দিয়েছেন কিনা তা আমি কীভাবে চেক করব?
সম্মতি একটি বিট দ্বারা উপস্থাপিত হয় না, বরং IAB TCF স্পেসিফিকেশনে সংজ্ঞায়িত উদ্দেশ্য এবং ভেন্ডরের একটি সেট দ্বারা উপস্থাপিত হয়। Google Ads-এর পছন্দ অনুযায়ী বিজ্ঞাপন বেছে নেওয়ার মাপকাঠি সম্পর্কে জানতে সম্মতি সংক্রান্ত নীতি: পছন্দমতো ও পছন্দমতো নয় এমন বিজ্ঞাপন দেখুন।
এছাড়াও, Google-এর বিজ্ঞাপন প্রযুক্তি প্রদানকারী (ATP) তালিকায় থাকা যেসব বিজ্ঞাপন প্রযুক্তি TCF ভেন্ডর তালিকায় রেজিস্টার করা নেই, সেগুলি Google-এর অতিরিক্ত সম্মতি সংক্রান্ত টেকনিক্যাল স্পেসিফিকেশন ব্যবহার করে সম্মতি সংগ্রহ করে। IAB-এর সাথে রেজিস্টার করা নয় এমন বিজ্ঞাপন প্রযুক্তি পরিষেবা প্রদানকারীর তালিকা এবং তাদের আইডি Google নিম্নলিখিত লোকেশনে প্রকাশ করে: https://storage.googleapis.com/tcfac/additional-consent-providers.csv.
কোনও স্বতন্ত্র বিজ্ঞাপনের অনুরোধ ডিবাগ করতে, IAB Europe TCF-এর সাথে প্রকাশকের ইন্টিগ্রেশন-এর অংশ হিসেবে বিজ্ঞাপনের অনুরোধে পাস করা নিম্নলিখিত গোপনীয়তা সিগন্যাল দেখতে, বিজ্ঞাপন ইনস্পেক্টরে গোপনীয়তা সেটিংসের সমস্যার সমাধান করুন ফিচার ব্যবহার করুন:
বিজ্ঞাপন ইনস্পেক্টর লেবেল বিজ্ঞাপনের অনুরোধের কোয়েরি প্যারামিটার অর্থ জিডিপিআর (GDPR) প্রযোজ্য (IABTCF_gdprApplies) gdprএই বিজ্ঞাপনের অনুরোধের ক্ষেত্রে জিডিপিআর (GDPR) প্রযোজ্য কিনা। TC স্ট্রিং (IABTCF_TCString) gdpr_consentTC স্ট্রিং। IAB একটি ওয়েব টুল প্রদান করে যেখানে আপনি ম্যানুয়ালি ভ্যালু ডিকোড করতে পারবেন। AC স্ট্রিং (IABTCF_AddtlConsent) addtl_consentGoogle-এর অতিরিক্ত সম্মতির প্রযুক্তিগত স্পেসিফিকেশন থেকে AC স্ট্রিং। প্রোগ্রাম্যাটিক্যালি সম্মতি সংক্রান্ত পছন্দ পড়তে, আরও তথ্যের জন্য সম্মতি সংক্রান্ত পছন্দ কীভাবে পড়বেন দেখুন।
- CMP সংক্রান্ত প্রয়োজনীয়তা পূরণ করার জন্য আমাকে কি Google-এর UMP SDK ব্যবহার করতে হবে?
না, আপনি বিজ্ঞাপন পরিবেশন করার জন্য Google-সার্টিফায়েড CMP-এর তালিকা থেকে যেকোনও CMP ব্যবহার করতে পারবেন।
- ব্যবহারকারী আগে থেকেই সম্মতি দিয়ে থাকলেও, UMP SDK ব্যবহার করে আমি কীভাবে আবার সম্মতির ফর্ম দেখাতে পারি?
ব্যবহারকারী আগে থেকেই সম্মতি সংক্রান্ত সিদ্ধান্ত নিয়ে থাকলে, TC স্ট্রিংয়ের মেয়াদ শেষ না হওয়া পর্যন্ত বা অন্য কোনও কারণে সেটি অবৈধ না হয়ে যাওয়া পর্যন্ত Google-এর কনসেন্ট ম্যানেজমেন্ট সলিউশন নতুন করে সম্মতি সংগ্রহ করার অনুরোধ করবে না।
জিডিপিআর (GDPR) অনুযায়ী, ব্যবহারকারীরা যাতে যেকোনও সময় তাদের সম্মতি সংক্রান্ত পছন্দ প্রত্যাহার করতে পারেন, তার জন্য সম্মতি সংক্রান্ত বিকল্পে পরিবর্তন করার সুবিধা দিতে হবে। ব্যবহারকারীরা যাতে তাদের সম্মতির বিকল্প প্রত্যাহার করতে পারেন, সেই জন্য গোপনীয়তা বিকল্প দেখুন। সম্মতি ফর্ম আবার দেখাতে,
presentPrivacyOptionsFormFromViewController:completionHandler:কল করুন।- আমি Google-এর সার্টিফাই করা CMP ইন্টিগ্রেট করেছি, কিন্তু সম্মতি দিয়েছেন এমন ব্যবহারকারীদের থেকেও মধ্যস্থতা পার্টনারদের কাছে কোনও বিজ্ঞাপনের অনুরোধ করা হচ্ছে বলে আমি দেখতে পাচ্ছি না। এটি কেন হচ্ছে?
TCF-এর অধীনে, Google চেক করে যে বিজ্ঞাপন প্রযুক্তি প্রদানকারী এবং অন্যান্য প্রোগ্র্যামাটিক চাহিদার সোর্সগুলি যেন Google-এর নীতি লঙ্ঘন না করে এবং মিডিয়েশন ওয়াটারফলে অন্তর্ভুক্ত করার আগে ডেটা প্রসেস করার জন্য তাদের যেন অন্তত একটি আইনি যুক্তি থাকে। আরও তথ্যের জন্য মধ্যস্থতা বিভাগে যান।
Google-এর অ্যাড টেকনোলজি প্রোভাইডার (ATP) তালিকায় থাকা কিছু মধ্যস্থতাকারী পার্টনার TCF ভেন্ডর তালিকায় রেজিস্টার করা নেই। এইসব পার্টনার সম্মতি সংগ্রহের জন্য Google-এর অতিরিক্ত সম্মতির প্রযুক্তিগত স্পেসিফিকেশন ব্যবহার করে। IAB-এর সাথে রেজিস্টার করা নয় এমন বিজ্ঞাপন প্রযুক্তি পরিষেবা প্রদানকারীর তালিকা এবং তাদের আইডি Google নিম্নলিখিত লোকেশনে প্রকাশ করে: https://storage.googleapis.com/tcfac/additional-consent-providers.csv
UMP SDK, ACString সেভ করার সুবিধা দেয়, যার ফলে আপনি প্রকাশিত জিডিপিআর (GDPR) মেসেজে বিজ্ঞাপন পার্টনার যোগ করতে পারবেন, পার্টনাররা TCF-এ রেজিস্টার করা কিনা তা বোঝার প্রয়োজন নেই। থার্ড-পার্টি CMP ব্যবহার করার সময়, আপনাকে নিম্নলিখিত কাজগুলি করতে হবে:
- থার্ড-পার্টি CMP-তে ACString স্টোর করা যায় কিনা তা কনফার্ম করুন।
- সম্মতি সংগ্রহ করার জন্য থার্ড-পার্টি CMP ব্যবহার করে এমন বিজ্ঞাপন প্রযুক্তি প্রদানকারীর তালিকায় প্রতিটি মধ্যস্থতা পার্টনারকে অন্তর্ভুক্ত করুন।
- ব্যবহারকারী সম্মতি না দিলে, আমার অ্যাপের ফাংশন কি আমি পরিবর্তন করতে পারি? Is this allowed by policy?
প্রকাশকরা তাদের অ্যাপে IAB TCF স্ট্রিং পড়তে পারেন। প্রোগ্রাম্যাটিক উপায়ে সম্মতি সংক্রান্ত পছন্দ পড়ার বিষয়ে তথ্যের জন্য সম্মতি সংক্রান্ত পছন্দ কীভাবে পড়তে হয় দেখুন। প্রকাশকদের উচিত আইনি উপদেষ্টার সাথে প্রাসঙ্গিক রেগুলেশন অনুযায়ী তাদের বাধ্যবাধকতা পর্যালোচনা করা।
- আমি বিকল্প ম্যানেজ করুন বেছে নিয়ে সব উদ্দেশ্যে সম্মতি দেওয়ার পরেও কোনও বিজ্ঞাপন দেখতে পাচ্ছি না কেন? এটি কেন হচ্ছে?
উদ্দেশ্যের জন্য সম্মতি সংগ্রহ করার পাশাপাশি আপনাকে ভেন্ডরের সম্মতিও সংগ্রহ করতে হবে। Google-এর মতো যেকোনও ভেন্ডরের জন্য উপযুক্ত বিজ্ঞাপন পরিবেশন করতে, উদ্দেশ্য ও ভেন্ডর, উভয়ের সম্মতি প্রয়োজন।
- একই ব্যবহারকারীকে iOS ATT সতর্কতা এবং জিডিপিআর (GDPR) সম্মতি দেখানোর জন্য পেশাদার পদ্ধতি কী?
ব্যবহারকারী জিডিপিআর (GDPR)-এ সম্মতি দিলে, আমরা প্রথমে জিডিপিআর (GDPR) কনসেন্ট মেসেজ এবং দ্বিতীয়ত iOS ATT সতর্কতা দেখানোর সাজেশন দিই। আপনি Ad Manager UI-তে দুটি মেসেজই কনফিগার করলে, এটি আগে থেকেই UMP SDK-এর মাধ্যমে ম্যানেজ করা হয়। আরও তথ্যের জন্য আপনার ব্যবহারকারীরা কোন মেসেজ দেখতে পাবেন দেখুন।
আপনি UMP SDK ব্যবহার করে ATT সতর্কতা না দেখালে, জিডিপিআর (GDPR) সম্মতি সংগ্রহ করার পরে সম্মতি সংক্রান্ত বিকল্প পড়ে iOS ATT সতর্কতা দেখানো হবে কিনা তা নির্ধারণ করার জন্য আমরা সাজেস্ট করি।
- যেসব ব্যবহারকারী ভার্সন ১-এ সম্মতি দিয়েছেন তাদের জন্য আমি কীভাবে AC স্ট্রিং ভার্সন ২ প্রয়োগ করব?
IABTCF_AddtlConsentকী লোকাল স্টোরেজে চেক করুন Google-এর অতিরিক্ত সম্মতি সংক্রান্ত টেকনিক্যাল স্পেসিফিকেশন অনুযায়ী, কোনও ব্যবহারকারী AC স্ট্রিং ভার্সন ২-এ সম্মতি দিয়েছেন কিনা এবং আপনাকে আবার সম্মতি ফর্ম দেখাতে হবে কিনা তা নির্ধারণ করতে।Swift
// Example value: "2~1.35.41.101~dv.9.21.81" let additionalConsent = UserDefaults.standard.string(forKey: "IABTCF_AddtlConsent") // Index 0 contains information about the specification version number. let isACVersion2 = additionalConsent?.first == "2"Objective-C
// Example value: "2~1.35.41.101~dv.9.21.81" NSString *additionalConsent = [NSUserDefaults.standardUserDefaults stringForKey:@"IABTCF_AddtlConsent"]; // Index 0 contains information about the specification version number. BOOL isACVersion2 = [additionalConsent hasPrefix:@"2"];