GDPR IAB সমর্থন

Google EU ব্যবহারকারী সম্মতি নীতির অধীনে, আপনাকে অবশ্যই ইউরোপীয় অর্থনৈতিক অঞ্চল (EEA) এবং যুক্তরাজ্যের ব্যবহারকারীদের কাছে কিছু তথ্য প্রকাশ করতে হবে এবং আইনত প্রয়োজন হলে কুকিজ বা অন্যান্য স্থানীয় স্টোরেজ ব্যবহার করার জন্য এবং বিজ্ঞাপন পরিবেশনের জন্য ব্যক্তিগত ডেটা (যেমন AdID) ব্যবহার করার জন্য তাদের সম্মতি নিতে হবে। এই নীতিটি EU ই-প্রাইভেসি নির্দেশিকা এবং জেনারেল ডেটা প্রোটেকশন রেগুলেশন (GDPR) এর প্রয়োজনীয়তাগুলিকে প্রতিফলিত করে।

এই নির্দেশিকাটি UMP SDK-এর অংশ হিসেবে GDPR IAB TCF v2 বার্তা সমর্থন করার জন্য প্রয়োজনীয় পদক্ষেপগুলির রূপরেখা দেয়। এটি Get start- এর সাথে যুক্ত করার উদ্দেশ্যে তৈরি করা হয়েছে যা UMP SDK-এর সাথে আপনার অ্যাপটি কীভাবে চালানো যায় এবং আপনার বার্তা সেট আপ করার মূল বিষয়গুলি সম্পর্কে একটি সংক্ষিপ্ত বিবরণ দেয়। নিম্নলিখিত নির্দেশিকাটি GDPR IAB TCF v2 বার্তার জন্য নির্দিষ্ট। আরও তথ্যের জন্য, IAB প্রয়োজনীয়তাগুলি EU সম্মতি বার্তাগুলিকে কীভাবে প্রভাবিত করে তা দেখুন।

পূর্বশর্ত

ব্যবহারকারীরা যাতে যেকোনো সময় তাদের সম্মতি পছন্দগুলি প্রত্যাহার করতে পারেন, তার জন্য GDPR-এর সম্মতি প্রত্যাহার প্রয়োজন। ব্যবহারকারীরা তাদের সম্মতি পছন্দগুলি প্রত্যাহার করার জন্য একটি উপায় বাস্তবায়নের জন্য গোপনীয়তার বিকল্পগুলি দেখুন।

কোনও ব্যবহারকারীর সম্মতির বয়স কম কিনা তা বোঝাতে, setTagForUnderAgeOfConsent (TFUA) সেট করুন। যখন আপনি TFUA কে true তে সেট করেন, তখন UMP SDK ব্যবহারকারীর কাছ থেকে সম্মতির অনুরোধ করে না। যদি আপনার অ্যাপের মিশ্র দর্শক থাকে, তাহলে সম্মতির অনুরোধ না করা নিশ্চিত করতে শিশু ব্যবহারকারীদের জন্য এই প্যারামিটারটি সেট করুন।

নিম্নলিখিত উদাহরণটি UMP সম্মতির অনুরোধে TFUA কে সত্য হিসেবে সেট করে:

জাভা

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 -> {
      // ...
    });

কোটলিন

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 ->
      // ...
    })

মধ্যস্থতা

আপনার মধ্যস্থতাকারী অংশীদারদের বিজ্ঞাপন অংশীদারদের তালিকায় যোগ করতে প্রকাশিত GDPR বার্তাগুলিতে বিজ্ঞাপন অংশীদারদের যোগ করুন বিভাগে ধাপগুলি অনুসরণ করুন। এটি না করলে অংশীদাররা আপনার অ্যাপে বিজ্ঞাপন পরিবেশন করতে ব্যর্থ হতে পারে।

GDPR সম্মতিতে সাহায্য করার জন্য মধ্যস্থতাকারী অংশীদারদের কাছে অতিরিক্ত সরঞ্জামও থাকতে পারে। আরও বিস্তারিত জানার জন্য একটি নির্দিষ্ট অংশীদারের ইন্টিগ্রেশন নির্দেশিকা দেখুন।

GDPR সম্মতি সংগ্রহ করার পরে, আপনি 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");
}

কোটলিন

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"
}

সচরাচর জিজ্ঞাস্য

EEA এবং যুক্তরাজ্যে বিজ্ঞাপন পরিবেশনের জন্য সম্মতি ব্যবস্থাপনা প্ল্যাটফর্মের প্রয়োজনীয়তা পূরণের জন্য যদি আমি কোনও পদক্ষেপ না নিই তাহলে কী হবে?

১৬ জানুয়ারী, ২০২৪ থেকে, যদি কোনও অংশীদার Google-প্রত্যয়িত CMP গ্রহণ না করে, তাহলে শুধুমাত্র সীমিত বিজ্ঞাপনগুলি EEA এবং UK ট্র্যাফিকে পরিবেশন করার যোগ্য হবে।

১৬ জানুয়ারী, ২০২৪ তারিখ থেকে EEA এবং UK ট্র্যাফিকের একটি ছোট শতাংশের উপর আইন প্রয়োগ শুরু হবে এবং ২০২৪ সালের ফেব্রুয়ারির শেষ নাগাদ সমস্ত EEA এবং UK ট্র্যাফিক জুড়ে Google আইন প্রয়োগ না করা পর্যন্ত তা আরও বাড়বে। আপনার নগদীকরণ প্রভাবিত না হয় তা নিশ্চিত করতে ১৬ জানুয়ারী, ২০২৪ তারিখের মধ্যে একটি প্রত্যয়িত CMP তৈরি করুন।

ব্যবহারকারী সম্মতি দিয়েছেন কিনা তা আমি কীভাবে পরীক্ষা করব?

সম্মতি কেবল একটি বিট দ্বারা প্রতিনিধিত্ব করা হয় না, বরং IAB TCF স্পেসিফিকেশনে সংজ্ঞায়িত উদ্দেশ্য এবং বিক্রেতাদের একটি সেট দ্বারা প্রতিনিধিত্ব করা হয়। সম্মতি নীতি দেখুন: Google বিজ্ঞাপন ব্যক্তিগতকরণের মানদণ্ডের জন্য ব্যক্তিগতকৃত এবং অ-ব্যক্তিগতকৃত বিজ্ঞাপন

এছাড়াও, Google-এর বিজ্ঞাপন প্রযুক্তি প্রদানকারী (ATP) তালিকার বিজ্ঞাপন প্রযুক্তিবিদরা যারা TCF বিক্রেতা তালিকায় নিবন্ধিত নন, তারা সম্মতি সংগ্রহের জন্য Google-এর অতিরিক্ত সম্মতি প্রযুক্তিগত স্পেসিফিকেশন ব্যবহার করেন। Google নিম্নলিখিত স্থানে IAB-তে নিবন্ধিত নয় এমন বিজ্ঞাপন প্রযুক্তি প্রদানকারীদের তালিকা এবং তাদের আইডি প্রকাশ করে: https://storage.googleapis.com/tcfac/additional-consent-providers.csv

একটি পৃথক বিজ্ঞাপন অনুরোধ ডিবাগ করতে, IAB ইউরোপ TCF-এর সাথে প্রকাশক ইন্টিগ্রেশনের অংশ হিসেবে বিজ্ঞাপন অনুরোধে পাস করা নিম্নলিখিত গোপনীয়তা সংকেতগুলি দেখতে বিজ্ঞাপন পরিদর্শক-এ ডিবাগ গোপনীয়তা সেটিংস বৈশিষ্ট্যটি ব্যবহার করুন:

বিজ্ঞাপন পরিদর্শক লেবেল বিজ্ঞাপন অনুরোধ কোয়েরি প্যারামিটার অর্থ
GDPR প্রযোজ্য (IABTCF_gdpr প্রযোজ্য) gdpr এই বিজ্ঞাপনের অনুরোধের জন্য GDPR প্রযোজ্য কিনা।
টিসি স্ট্রিং (IABTCF_TCString) gdpr_consent টিসি স্ট্রিং। IAB একটি ওয়েব টুল প্রদান করে যেখানে আপনি মানটি ম্যানুয়ালি ডিকোড করতে পারেন।
এসি স্ট্রিং (IABTCF_AddtlConsent) addtl_consent Google এর অতিরিক্ত সম্মতি প্রযুক্তিগত স্পেসিফিকেশন থেকে AC স্ট্রিং।

সম্মতি পছন্দগুলি প্রোগ্রাম্যাটিকভাবে পড়তে, আরও তথ্যের জন্য সম্মতি পছন্দগুলি কীভাবে পড়বেন তা দেখুন।

সিএমপির প্রয়োজনীয়তা পূরণের জন্য কি আমাকে গুগলের ইউএমপি এসডিকে ব্যবহার করতে হবে?

না, বিজ্ঞাপন পরিবেশনের জন্য আপনি Google-প্রত্যয়িত CMP তালিকা থেকে যেকোনো CMP ব্যবহার করতে পারেন।

ব্যবহারকারী ইতিমধ্যেই সম্মতি দিলেও, UMP SDK ব্যবহার করে আমি কীভাবে আবার সম্মতি ফর্মটি দেখাতে পারি?

যদি কোনও ব্যবহারকারী ইতিমধ্যেই সম্মতির সিদ্ধান্ত নিয়ে থাকেন, তাহলে TC স্ট্রিংটির মেয়াদ শেষ না হওয়া পর্যন্ত বা অন্যথায় অবৈধ না হওয়া পর্যন্ত Google-এর সম্মতি ব্যবস্থাপনা সমাধান নতুন সম্মতি সংগ্রহের অনুরোধ করবে না।

ব্যবহারকারীরা যাতে যেকোনো সময় তাদের সম্মতির পছন্দ প্রত্যাহার করতে পারেন, তার জন্য GDPR-এর সম্মতি পরিবর্তন প্রয়োজন। ব্যবহারকারীরা তাদের সম্মতির পছন্দ প্রত্যাহার করতে পারেন তার জন্য গোপনীয়তার বিকল্পগুলি দেখুন। আবার সম্মতি ফর্ম দেখাতে, showPrivacyOptionsForm() এ কল করুন।

আমি একটি Google-প্রত্যয়িত CMP ইন্টিগ্রেট করেছি, কিন্তু সম্মতি প্রদানকারী ব্যবহারকারীদের কাছ থেকেও মধ্যস্থতা অংশীদারদের কাছে কোনও বিজ্ঞাপনের অনুরোধ করা হচ্ছে না। কেন এমন হচ্ছে?

TCF-এর অধীনে, Google পরীক্ষা করে যে বিজ্ঞাপন প্রযুক্তি প্রদানকারী এবং অন্যান্য প্রোগ্রাম্যাটিক চাহিদা উৎসগুলি Google নীতি লঙ্ঘন করছে না এবং মধ্যস্থতা জলপ্রপাতের মধ্যে অন্তর্ভুক্ত করার আগে ডেটা প্রক্রিয়াকরণের জন্য কমপক্ষে একটি আইনি ভিত্তি আছে কিনা। আরও তথ্যের জন্য মধ্যস্থতা বিভাগে নেভিগেট করুন।

Google-এর বিজ্ঞাপন প্রযুক্তি সরবরাহকারী (ATP) তালিকার কিছু মধ্যস্থতা অংশীদার TCF বিক্রেতা তালিকায় নিবন্ধিত নয়। পরিবর্তে এই অংশীদাররা সম্মতি সংগ্রহের জন্য Google-এর অতিরিক্ত সম্মতি প্রযুক্তিগত স্পেসিফিকেশন ব্যবহার করে। Google নিম্নলিখিত স্থানে IAB-তে নিবন্ধিত নয় এমন বিজ্ঞাপন প্রযুক্তি সরবরাহকারীদের তালিকা এবং তাদের আইডি প্রকাশ করে: https://storage.googleapis.com/tcfac/additional-consent-providers.csv

UMP SDK ACString সংরক্ষণ করতে সহায়তা করে, যার ফলে আপনি প্রকাশিত GDPR বার্তাগুলিতে বিজ্ঞাপন অংশীদার যুক্ত করতে পারবেন, অংশীদাররা TCF-নিবন্ধিত কিনা তা বুঝতে হবে না। তৃতীয় পক্ষের CMP ব্যবহার করার সময়, আপনার নিম্নলিখিতগুলি করা উচিত:

  1. নিশ্চিত করুন যে তৃতীয় পক্ষের CMP ACString সংরক্ষণ করতে সহায়তা করে।
  2. সম্মতি সংগ্রহের জন্য থার্ড-পার্টি CMP যেসব বিজ্ঞাপন প্রযুক্তি প্রদানকারী ব্যবহার করে, তাদের তালিকায় প্রতিটি মধ্যস্থতা অংশীদারকে অন্তর্ভুক্ত করুন।
ব্যবহারকারীরা সম্মতি না দিলে আমি কি আমার অ্যাপের কার্যকারিতা পরিবর্তন করতে পারি? নীতি দ্বারা এটি অনুমোদিত?

প্রকাশকরা তাদের অ্যাপে IAB TCF স্ট্রিংটি পড়তে পারেন। প্রোগ্রাম্যাটিকভাবে সম্মতি পছন্দগুলি পড়ার তথ্যের জন্য সম্মতি পছন্দগুলি কীভাবে পড়বেন তা দেখুন। প্রকাশকদের আইনি পরামর্শদাতার সাথে প্রাসঙ্গিক প্রবিধানের অধীনে তাদের বাধ্যবাধকতা পর্যালোচনা করা উচিত।

যখন আমি "বিকল্প পরিচালনা করুন" নির্বাচন করি এবং সকল উদ্দেশ্যে সম্মতি দিই, তখন আমি কোনও বিজ্ঞাপন দেখতে পাই না? কেন এটি ঘটছে?

উদ্দেশ্য সম্মতি সংগ্রহের পাশাপাশি আপনাকে বিক্রেতার সম্মতিও সংগ্রহ করতে হবে। Google-এর মতো যেকোনো বিক্রেতার জন্য উপযুক্ত বিজ্ঞাপন পরিবেশনের জন্য উদ্দেশ্য সম্মতি এবং বিক্রেতার সম্মতি উভয়ই প্রয়োজন।

যারা ইতিমধ্যেই সংস্করণ ১-এ সম্মতি দিয়েছেন তাদের জন্য আমি কীভাবে AC String সংস্করণ ২ বাস্তবায়ন করব?

কোনও ব্যবহারকারী AC String সংস্করণ 2-এ সম্মতি দিয়েছেন কিনা এবং আপনাকে আবার সম্মতি ফর্মটি দেখাতে হবে কিনা তা নির্ধারণ করতে Google-এর অতিরিক্ত সম্মতি প্রযুক্তিগত স্পেসিফিকেশন অনুসারে স্থানীয় স্টোরেজে IABTCF_AddtlConsent কীটি পরীক্ষা করুন।

জাভা

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");
}

কোটলিন

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"
}