ইউরোপীয় ব্যবহারকারীদের কাছ থেকে সম্মতির অনুরোধ করা

পূর্বশর্ত

GMA Flutter প্লাগইনের সংস্করণ 1.3.0 দিয়ে শুরু করুন , যা ব্যবহারকারীর মেসেজিং প্ল্যাটফর্ম SDK সমর্থন করে।

পড়ুনকিভাবে IAB প্রয়োজনীয়তা EU সম্মতি বার্তাগুলিকে প্রভাবিত করে

ভূমিকা

UMP SDK প্রকাশকদের ব্যক্তিগতকৃত বিজ্ঞাপনের জন্য সম্মতির অনুরোধ করার পাশাপাশি Apple-এর অ্যাপ ট্র্যাকিং ট্রান্সপারেন্সি (ATT) প্রয়োজনীয়তাগুলি পরিচালনা করার জন্য টুল সরবরাহ করে। প্রকাশকরা একটি একক ফর্ম দেখিয়ে এই অনুরোধগুলির মধ্যে একটি বা উভয়কেই পরিচালনা করতে UMP SDK ব্যবহার করতে পারেন, কারণ সমস্ত কনফিগারেশনঅ্যাড ম্যানেজার গোপনীয়তা এবং বার্তাপ্রেরণ

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

এই নীতির অধীনে প্রকাশকদের দায়িত্ব পালনে সহায়তা করার জন্য, Google ব্যবহারকারী মেসেজিং প্ল্যাটফর্ম (UMP) SDK অফার করে। UMP SDK সর্বশেষ IAB মানগুলিকে সমর্থন করার জন্য আপডেট করা হয়েছে৷ আমরা সম্মতি ফর্ম সেট আপ করার এবং বিজ্ঞাপন অংশীদারদের তালিকা করার প্রক্রিয়াটিকেও সহজ করেছি৷ এই সমস্ত কনফিগারেশনগুলি এখনঅ্যাড ম্যানেজার গোপনীয়তা এবং বার্তাপ্রেরণ

এই নির্দেশিকাটি আপনাকে কীভাবে SDK ইনস্টল করতে হয়, IAB সমাধানগুলি বাস্তবায়ন করতে হয় এবং পরীক্ষার বৈশিষ্ট্যগুলি সক্ষম করতে হয় তা নিয়ে চলে।

অ্যাপ ট্র্যাকিং স্বচ্ছতা (শুধুমাত্র iOS)

আপনি যদি Apple-এর অ্যাপ ট্র্যাকিং স্বচ্ছতার প্রয়োজনীয়তাগুলি পরিচালনা করতে UMP SDK ব্যবহার করার পরিকল্পনা করেন, তাহলে নিশ্চিত করুন যে আপনিঅ্যাড ম্যানেজার গোপনীয়তা এবং বার্তাপ্রেরণ

UMP SDK একটি কাস্টম সতর্কতা বার্তা প্রদর্শন করার জন্য, আপনার ব্যবহার বর্ণনা করে একটি কাস্টম বার্তা স্ট্রিং সহ NSUserTrackingUsageDescription কী যোগ করতে আপনার Info.plist আপডেট করুন।

<key>NSUserTrackingUsageDescription</key>
<string>This identifier will be used to deliver personalized ads to you.</string>

আপনি যখন সম্মতি ফর্মটি উপস্থাপন করেন তখন ব্যবহারের বিবরণটি ATT ডায়ালগের অংশ হিসাবে উপস্থিত হয়:

এর পরে, আপনাকে AppTrackingTransparency ফ্রেমওয়ার্ক লিঙ্ক করতে হবে:

পরীক্ষা করার সময়, মনে রাখবেন যে Apple-এর প্রয়োজনীয়তা অনুসারে, IDFA ATT ডায়ালগটি requestTrackingAuthorization: একটি এককালীন অনুরোধ। সতর্কতাটি দ্বিতীয়বার প্রদর্শিত করতে, আপনাকে অবশ্যই আপনার পরীক্ষা ডিভাইসে আপনার অ্যাপ আনইনস্টল এবং পুনরায় ইনস্টল করতে হবে।

SDK ব্যবহার করে

SDK একটি লিনিয়ার ফ্যাশনে ব্যবহার করার জন্য ডিজাইন করা হয়েছে। SDK ব্যবহার করার ধাপগুলি হল:

  1. সর্বশেষ সম্মতি তথ্য অনুরোধ.
  2. সম্মতি প্রয়োজন কিনা তা পরীক্ষা করুন।
  3. একটি ফর্ম উপলব্ধ কিনা পরীক্ষা করুন এবং যদি তাই একটি ফর্ম লোড.
  4. ফর্মটি উপস্থাপন করুন।
  5. ব্যবহারকারীদের তাদের সম্মতি পরিবর্তন করার জন্য একটি উপায় প্রদান করুন।

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

final params = ConsentRequestParameters();
ConsentInformation.instance.requestConsentInfoUpdate(
  params,
  () async {
    // The consent information state was updated.
    // You are now ready to check if a form is available.
  },
  (FormError error) {
    // Handle the error
  },
);

পাওয়া গেলে একটি ফর্ম লোড করুন

সম্মতি পাওয়ার জন্য ফর্মগুলি Ad ManagerUI-তে তৈরি করা হয়েছে। একবার আপনি নির্ধারণ করেছেন যে আপনি একজন ব্যবহারকারীকে সম্মতির জন্য জিজ্ঞাসা করবেন, পরবর্তী ধাপ হল একটি ফর্ম উপলব্ধ কিনা তা নির্ধারণ করা। একটি ফর্ম উপলব্ধ নাও হতে পারে এমন বিভিন্ন কারণ রয়েছে, যেমন:

  • ব্যবহারকারী সীমা বিজ্ঞাপন ট্র্যাকিং সক্ষম আছে.
  • আপনি ব্যবহারকারীকে সম্মতির বয়সের নিচে ট্যাগ করেছেন।

একটি ফর্ম উপলব্ধ কিনা তা পরীক্ষা করতে, ConsentInformation উদাহরণে isConsentFormAvailable() পদ্ধতিটি ব্যবহার করুন৷ একটি ফর্ম লোড করার জন্য একটি মোড়ানো পদ্ধতি যোগ করুন:

final params = ConsentRequestParameters();
ConsentInformation.instance.requestConsentInfoUpdate(
  params,
  () async {
    if (await ConsentInformation.instance.isConsentFormAvailable()) {
      loadForm();
    }
  },
  (FormError error) {
    // Handle the error
  },
);

ফর্মটি লোড করতে আপনি ConsentForm ক্লাসে স্ট্যাটিক loadConsentForm() পদ্ধতি ব্যবহার করবেন। আপনার loadForm() পদ্ধতিটি এভাবে পরিবর্তন করুন:

void loadForm() {
  ConsentForm.loadConsentForm(
    (ConsentForm consentForm) async {
      // Present the form
    },
    (FormError formError) {
      // Handle the error
    },
  );
}

প্রয়োজনে ফর্মটি উপস্থাপন করুন

সম্মতি ফর্ম উপস্থাপন করতে, ConsentForm ক্লাসে show() পদ্ধতি ব্যবহার করুন। ফর্মটি উপস্থাপন করার আগে ব্যবহারকারীর সম্মতি প্রয়োজন কিনা তা আপনাকে অবশ্যই নির্ধারণ করতে হবে। সম্মতি প্রয়োজন কিনা তা পরীক্ষা করতে, ConsentInformation অবজেক্টে getConsentStatus() কল করুন, যা ConsentStatus টাইপের একটি enum প্রদান করে। ConsentStatus এর জন্য চারটি সম্ভাব্য মান রয়েছে:

  • unknown : অজানা সম্মতি স্থিতি।
  • required : ব্যবহারকারীর সম্মতি প্রয়োজন কিন্তু এখনও প্রাপ্ত হয়নি।
  • notRequired : ব্যবহারকারীর সম্মতির প্রয়োজন নেই। উদাহরণস্বরূপ, ব্যবহারকারী EEA বা UK-তে নেই।
  • obtained : ব্যবহারকারীর সম্মতি প্রাপ্ত। ব্যক্তিগতকরণ সংজ্ঞায়িত করা হয়নি.

আপনার loadForm পদ্ধতিটি এভাবে পরিবর্তন করুন:

void loadForm() {
  ConsentForm.loadConsentForm(
    (ConsentForm consentForm) async {
      var status = await ConsentInformation.instance.getConsentStatus();
      if (status == ConsentStatus.required) {
        consentForm.show(
          (FormError formError) {
            // Handle dismissal by reloading form
            loadForm();
          },
        );
      }
    },
    (formError) {
      // Handle the error
    },
  );
}

যদি সম্মতির প্রয়োজন না হয়, আপনি ফর্মের একটি রেফারেন্স বজায় রাখতে পারেন যাতে আপনার ব্যবহারকারী তাদের সম্মতির স্থিতি পরিবর্তন করতে পারে।

পরীক্ষামূলক

একটি ভূগোল জোর করে

UMP SDK আপনার অ্যাপের আচরণ পরীক্ষা করার একটি উপায় প্রদান করে যেন ডিভাইসটি ConsentDebugSettings.debugGeography ব্যবহার করে EEA-তে অবস্থিত।

ডিবাগ কার্যকারিতা ব্যবহার করার জন্য আপনাকে আপনার অ্যাপের ডিবাগ সেটিংসে আপনার পরীক্ষার ডিভাইসের হ্যাশড আইডি প্রদান করতে হবে। আপনি যদি এই মানটি সেট না করেই requestConsentInfoUpdate() কল করেন, আপনার অ্যাপটি চালানোর সময় প্রয়োজনীয় আইডি হ্যাশ লগ করবে।

ConsentDebugSettings debugSettings = ConsentDebugSettings(
  debugGeography: DebugGeography.debugGeographyEea,
  testIdentifiers: ['TEST-DEVICE-HASHED-ID']);

ConsentRequestParameters params = ConsentRequestParameters(
  consentDebugSettings: debugSettings);

ConsentInformation.instance.requestConsentInfoUpdate(
  params,
  () {},
  (error) {});

ডিভাইসটিকে EEA বা UK-তে নয় এমনভাবে ব্যবহার করতে SDK-কে বাধ্য করতে, DebugGeography.debugGeographyNotEea ব্যবহার করুন। মনে রাখবেন যে ডিবাগ সেটিংস শুধুমাত্র পরীক্ষা ডিভাইসে কাজ করে। এমুলেটরদের ডিভাইস আইডি তালিকায় যোগ করার প্রয়োজন নেই কারণ তারা ডিফল্টরূপে পরীক্ষা সক্ষম করেছে।

UMP SDK-এর সাথে আপনার অ্যাপ পরীক্ষা করার সময়, আপনি SDK-এর অবস্থা রিসেট করা সহায়ক বলে মনে করতে পারেন যাতে আপনি একজন ব্যবহারকারীর প্রথম ইনস্টল অভিজ্ঞতা অনুকরণ করতে পারেন। এটি করার জন্য SDK reset পদ্ধতি প্রদান করে।

ConsentInformation.instance.reset();

আপনি যদি আপনার প্রকল্প থেকে UMP SDK সম্পূর্ণরূপে অপসারণ করার সিদ্ধান্ত নেন তাহলে আপনাকে রিসেট কল করা উচিত।

মধ্যস্থতা

আপনি যদি মধ্যস্থতা ব্যবহার করেন, তাহলে আপনি আপনার অ্যাপে ব্যবহার করতে বেছে নেওয়া সম্মতি কাঠামোর উপর ভিত্তি করে আপনার মধ্যস্থতাকারী অংশীদারদের সম্মতি ভিন্নভাবে পরিচালনা করতে হবে। Google IAB কনসেন্ট ফ্রেমওয়ার্ক সমর্থন করে কিন্তু আপনাকে আপনার নিজস্ব কাস্টম সম্মতি সমাধানের অনুমতি দেয়। এই বিকল্পগুলির প্রতিটির অধীনে মধ্যস্থতা কীভাবে পরিচালনা করবেন সে সম্পর্কে নীচে বিশদ বিবরণ রয়েছে৷আমাদের সম্মতি সমাধান সম্পর্কে আরও জানুন

UMP SDK বা মোবাইল বিজ্ঞাপন SDK কেউই মধ্যস্থতা অংশীদারদের কাছে সম্মতির তথ্য ফরোয়ার্ড করে না। বরং, IAB সমাধান ব্যবহার করার সময়, UMP SDK স্থানীয় সঞ্চয়স্থানে সম্মতির স্থিতির তথ্য লেখে এবং উপযুক্ত কীগুলি পড়ার দায়িত্ব প্রতিটি মধ্যস্থতা অংশীদারের SDK-এর। তারা IAB সমাধান সমর্থন করে কিনা তা নির্ধারণ করতে প্রতিটি তৃতীয় পক্ষের নেটওয়ার্কের সাথে চেক করতে ভুলবেন না।

একটি কাস্টম সম্মতি সমাধান ব্যবহার করলে, আপনার অ্যাপের সম্মতির স্থিতি সম্পর্কে তৃতীয়-পক্ষ SDK-কে অবহিত করা আপনার দায়িত্ব। সম্মতি পরিচালনার জন্য প্রতিটি মধ্যস্থতা নেটওয়ার্কের নিজস্ব API রয়েছে, যেগুলি Android এবং iOS- এর জন্য নথিভুক্ত।

ডার্ট থেকে এই APIগুলিকে কীভাবে কল করবেন তা শিখতে নেটওয়ার্ক নির্দিষ্ট API ব্যবহার করা দেখুন।

Google মোবাইল বিজ্ঞাপন SDK-এর ডিফল্ট আচরণ হল ব্যক্তিগতকৃত বিজ্ঞাপন পরিবেশন করা। যদি একজন ব্যবহারকারী শুধুমাত্র অ-ব্যক্তিগতকৃত বিজ্ঞাপনগুলি পেতে সম্মতি দেন, তাহলে আপনি নিম্নলিখিত কোড সহ একটি AdManagerAdRequest অবজেক্ট কনফিগার করতে পারেন যাতে শুধুমাত্র অ-ব্যক্তিগত বিজ্ঞাপনের অনুরোধ করা উচিত:

final AdManagerAdRequest = AdManagerAdRequest(nonPersonalizedAds: true);

Google-এর EU ব্যবহারকারীর সম্মতি নীতির জন্য প্রয়োজন যে আপনি ব্যক্তিগতকৃত বিজ্ঞাপন প্রদর্শনের আগে আপনার প্রকাশক আইডিগুলির জন্য কনফিগার করাবিজ্ঞাপন প্রযুক্তি প্রদানকারীদের সম্পূর্ণ তালিকার জন্য সম্মতি সংগ্রহ করতে হবে, এমনকি আপনি যদি তৃতীয় পক্ষের মিডিয়া ব্যবহার করছেন Google-এ বিজ্ঞাপনের অনুরোধ পাঠানোর সমাধান।