Google EU ব্যবহারকারীর সম্মতি নীতির অধীনে, আপনাকে অবশ্যই ইউকে সহ ইউরোপীয় অর্থনৈতিক অঞ্চলে (EEA) আপনার ব্যবহারকারীদের কাছে নির্দিষ্ট কিছু প্রকাশ করতে হবে এবং কুকিজ বা অন্যান্য স্থানীয় স্টোরেজ ব্যবহার করার জন্য তাদের সম্মতি নিতে হবে, যেখানে আইনত প্রয়োজন, এবং ব্যক্তিগত ডেটা ব্যবহার করতে ( যেমন AdID) বিজ্ঞাপন পরিবেশন করতে। এই নীতি EU ই-প্রাইভেসি নির্দেশিকা এবং সাধারণ ডেটা সুরক্ষা নিয়ন্ত্রণের (GDPR)-এর প্রয়োজনীয়তাগুলিকে প্রতিফলিত করে৷
এই নীতির অধীনে প্রকাশকদের দায়িত্ব পালনে সহায়তা করার জন্য, Google ব্যবহারকারী মেসেজিং প্ল্যাটফর্ম (UMP) SDK অফার করে। UMP SDK সর্বশেষ IAB মানগুলিকে সমর্থন করার জন্য আপডেট করা হয়েছে৷ এই সমস্ত কনফিগারেশনগুলি এখন AdMob গোপনীয়তা এবং বার্তাপ্রেরণে সুবিধাজনকভাবে পরিচালনা করা যেতে পারে।
পূর্বশর্ত
- শুরু করুন গাইড
- আপনি যদি জিডিপিআর-সম্পর্কিত প্রয়োজনীয়তা নিয়ে কাজ করেন, তাহলে পড়ুনকীভাবে IAB প্রয়োজনীয়তাগুলি EU সম্মতি বার্তাগুলিকে প্রভাবিত করে
একটি বার্তা টাইপ তৈরি করুন
আপনার l10nAdMob অ্যাকাউন্টের গোপনীয়তা এবং মেসেজিং ট্যাবের অধীনেউপলব্ধ ব্যবহারকারী বার্তা প্রকারএর একটি দিয়ে ব্যবহারকারীর বার্তা তৈরি করুন। UMP SDK আপনার প্রকল্পে সেট করা AdMob অ্যাপ্লিকেশন আইডি থেকে তৈরি একটি ব্যবহারকারী বার্তা প্রদর্শন করার চেষ্টা করে। আপনার অ্যাপ্লিকেশনের জন্য কোনো বার্তা কনফিগার করা না থাকলে, SDK একটি ত্রুটি ফেরত দেয়।
আরো বিস্তারিত জানার জন্য, দেখুনগোপনীয়তা এবং মেসেজিং সম্পর্কে ।
সম্মতি তথ্যের জন্য অনুরোধ
Update()
ব্যবহার করে প্রতিটি অ্যাপ লঞ্চের সময় আপনার ব্যবহারকারীর সম্মতির তথ্য আপডেট করার অনুরোধ করা উচিত। এটি আপনার ব্যবহারকারীর সম্মতি প্রদান করতে হবে কিনা তা নির্ধারণ করে যদি তারা ইতিমধ্যে এটি না করে থাকে বা তাদের সম্মতির মেয়াদ শেষ হয়ে গেছে।
অ্যাপ স্টার্টে কীভাবে স্থিতি পরীক্ষা করবেন তার একটি উদাহরণ এখানে দেওয়া হল:
void Start()
{
// Set tag for under age of consent.
// Here false means users are not under age of consent.
ConsentRequestParameters request = new ConsentRequestParameters
{
TagForUnderAgeOfConsent = false,
};
// Check the current consent information status.
ConsentInformation.Update(request, OnConsentInfoUpdated);
}
void OnConsentInfoUpdated(FormError consentError)
{
if (consentError != null)
{
// Handle the error.
UnityEngine.Debug.LogError(consentError);
return;
}
// If the error is null, the consent information state was updated.
// You are now ready to check if a form is available.
}
প্রয়োজনে একটি সম্মতি ফর্ম লোড করুন এবং দেখান
আপনি সর্বাধিক আপ-টু-ডেট সম্মতির স্ট্যাটাস পাওয়ার পরে, একটি সম্মতি ফর্ম লোড করতে l10nConsentForm
LoadAndShowConsentFormIfRequired()
এ কল করুন। সম্মতির স্ট্যাটাস প্রয়োজন হলে, SDK একটি ফর্ম লোড করে এবং প্রদত্তউপস্থাপন করে। ফর্ম খারিজ হওয়ার পরে Action<FormError>
callbackকল করা হয়। যদি সম্মতির প্রয়োজন না হয়, Action<FormError>
callbackঅবিলম্বে কল করা হয়।
void Start()
{
// Set tag for under age of consent.
// Here false means users are not under age of consent.
ConsentRequestParameters request = new ConsentRequestParameters
{
TagForUnderAgeOfConsent = false,
};
// Check the current consent information status.
ConsentInformation.Update(request, OnConsentInfoUpdated);
}
void OnConsentInfoUpdated(FormError consentError)
{
if (consentError != null)
{
// Handle the error.
UnityEngine.Debug.LogError(consentError);
return;
}
// If the error is null, the consent information state was updated.
// You are now ready to check if a form is available.
ConsentForm.LoadAndShowConsentFormIfRequired((FormError formError) =>
{
if (formError != null)
{
// Consent gathering failed.
UnityEngine.Debug.LogError(consentError);
return;
}
// Consent has been gathered.
});
}
ব্যবহারকারীর পছন্দ বা ফর্মটি খারিজ করার পরে যদি আপনার কোনো কাজ সম্পাদন করতে হয়, তাহলে সেই যুক্তিটি আপনার ফর্মের জন্য Action<FormError>
callbackএ রাখুন।
বিজ্ঞাপনের জন্য অনুরোধ করুন
আপনার অ্যাপে বিজ্ঞাপনের অনুরোধ করার আগে, আপনি ব্যবহার করে ব্যবহারকারীর কাছ থেকে সম্মতি পেয়েছেন কিনা তা পরীক্ষা করুন। সম্মতি সংগ্রহ করার সময় চেক করার দুটি জায়গা আছে:
- বর্তমান অধিবেশনে একবার সম্মতি সংগ্রহ করা হয়েছে।
- আপনি
Update()
কল করার পরপরই। পূর্ববর্তী অধিবেশনে সম্ভাব্য সম্মতি পাওয়া গেছে। লেটেন্সি সর্বোত্তম অনুশীলন হিসাবে, আমরা সুপারিশ করি যে কলব্যাক সম্পূর্ণ হওয়ার জন্য অপেক্ষা করবেন না যাতে আপনি আপনার অ্যাপ চালু হওয়ার পরে যত তাড়াতাড়ি সম্ভব বিজ্ঞাপন লোড করা শুরু করতে পারেন।
সম্মতি সংগ্রহের প্রক্রিয়া চলাকালীন কোনও ত্রুটি দেখা দিলে, আপনাকে এখনও বিজ্ঞাপনের অনুরোধ করার চেষ্টা করা উচিত। UMP SDK আগের সেশনের সম্মতি স্ট্যাটাস ব্যবহার করে।
void Start()
{
// Set tag for under age of consent.
// Here false means users are not under age of consent.
ConsentRequestParameters request = new ConsentRequestParameters
{
TagForUnderAgeOfConsent = false,
};
// Check the current consent information status.
ConsentInformation.Update(request, OnConsentInfoUpdated);
}
void OnConsentInfoUpdated(FormError consentError)
{
if (consentError != null)
{
// Handle the error.
UnityEngine.Debug.LogError(consentError);
return;
}
// If the error is null, the consent information state was updated.
// You are now ready to check if a form is available.
ConsentForm.LoadAndShowConsentFormIfRequired((FormError formError) =>
{
if (formError != null)
{
// Consent gathering failed.
UnityEngine.Debug.LogError(consentError);
return;
}
// Consent has been gathered.
if (ConsentInformation.CanRequestAds())
{
MobileAds.Initialize((InitializationStatus initstatus) =>
{
// TODO: Request an ad.
});
}
});
}
পরীক্ষামূলক
আপনি বিকাশের সাথে সাথে আপনার অ্যাপে ইন্টিগ্রেশন পরীক্ষা করতে চাইলে, আপনার পরীক্ষা ডিভাইসটি প্রোগ্রাম্যাটিকভাবে নিবন্ধন করতে নীচের পদক্ষেপগুলি অনুসরণ করুন৷
-
Update()
কল করুন। নিচের মত দেখতে একটি বার্তার জন্য লগ আউটপুট চেক করুন, যা আপনাকে আপনার ডিভাইস আইডি দেখায় এবং কিভাবে এটি একটি পরীক্ষা ডিভাইস হিসাবে যোগ করতে হয়:
অ্যান্ড্রয়েড
Use new ConsentDebugSettings.Builder().addTestDeviceHashedId("33BE2250B43518CCDA7DE426D04EE231") to set this as a debug device.
iOS
<UMP SDK>To enable debug mode for this device, set: UMPDebugSettings.testDeviceIdentifiers = @[2077ef9a63d2b398840261c8221a0c9b]
আপনার ক্লিপবোর্ডে আপনার টেস্ট ডিভাইস আইডি কপি করুন।
DebugGeography.TestDeviceHashedIds
কল করতে আপনার কোড পরিবর্তন করুন এবং আপনার পরীক্ষার ডিভাইস আইডিগুলির একটি তালিকায় পাস করুন৷
void Start()
{
var debugSettings = new ConsentDebugSettings
{
DebugGeography = DebugGeography.TestDeviceHashedIds =
new List<string>
{
"TEST-DEVICE-HASHED-ID"
}
};
// Set tag for under age of consent.
// Here false means users are not under age of consent.
ConsentRequestParameters request = new ConsentRequestParameters
{
TagForUnderAgeOfConsent = false,
ConsentDebugSettings = debugSettings,
};
// Check the current consent information status.
ConsentInformation.Update(request, OnConsentInfoUpdated);
}
একটি ভূগোল জোর করে
UMP SDK আপনার অ্যাপের আচরণ পরীক্ষা করার একটি উপায় প্রদান করে যেন ডিভাইসটি the DebugGeography
field on ConsentDebugSettings
ব্যবহার করে EEA বা UK-তে অবস্থিত। মনে রাখবেন যে ডিবাগ সেটিংস শুধুমাত্র পরীক্ষা ডিভাইসে কাজ করে।
void Start()
{
var debugSettings = new ConsentDebugSettings
{
// Geography appears as in EEA for debug devices.
DebugGeography = DebugGeography.EEA,
TestDeviceHashedIds = new List<string>
{
"TEST-DEVICE-HASHED-ID"
}
};
// Set tag for under age of consent.
// Here false means users are not under age of consent.
ConsentRequestParameters request = new ConsentRequestParameters
{
TagForUnderAgeOfConsent = false,
ConsentDebugSettings = debugSettings,
};
// Check the current consent information status.
ConsentInformation.Update(request, OnConsentInfoUpdated);
}
সম্মতির অবস্থা রিসেট করুন
UMP SDK-এর সাথে আপনার অ্যাপ পরীক্ষা করার সময়, আপনি SDK-এর অবস্থা রিসেট করা সহায়ক বলে মনে করতে পারেন যাতে আপনি একজন ব্যবহারকারীর প্রথম ইনস্টল অভিজ্ঞতা অনুকরণ করতে পারেন। এটি করার জন্য SDK Reset()
পদ্ধতি প্রদান করে।
ConsentInformation.Reset();