গুগল ইউজার মেসেজিং প্ল্যাটফর্ম (ইউএমপি) এসডিকে হলো একটি প্রাইভেসি ও মেসেজিং টুল যা আপনাকে গোপনীয়তার পছন্দগুলো পরিচালনা করতে সাহায্য করে। আরও তথ্যের জন্য, ‘গোপনীয়তা ও মেসেজিং সম্পর্কে’ দেখুন।
একটি বার্তার ধরণ তৈরি করুন
আপনার AdMob অ্যাকাউন্টের 'গোপনীয়তা ও মেসেজিং' ট্যাবের অধীনে উপলব্ধ ব্যবহারকারী বার্তার প্রকারগুলির মধ্যে একটি ব্যবহার করে ব্যবহারকারীর বার্তা তৈরি করুন। UMP SDK আপনার প্রকল্পে সেট করা AdMob অ্যাপ্লিকেশন আইডি থেকে তৈরি একটি গোপনীয়তা বার্তা প্রদর্শন করার চেষ্টা করে।
আরও বিস্তারিত জানতে, গোপনীয়তা ও বার্তা আদানপ্রদান সম্পর্কে দেখুন।
ব্যবহারকারীর সম্মতির তথ্য নিন
প্রতিবার অ্যাপ চালু করার সময় requestConsentInfoUpdate() ব্যবহার করে ব্যবহারকারীর সম্মতির তথ্য আপডেট করার জন্য অনুরোধ করা উচিত। এই অনুরোধটি নিম্নলিখিত বিষয়গুলো যাচাই করে:
- সম্মতির প্রয়োজন আছে কিনা । যেমন, প্রথমবারের জন্য সম্মতির প্রয়োজন, অথবা পূর্ববর্তী সম্মতির সিদ্ধান্তের মেয়াদ শেষ হয়ে গেছে।
- গোপনীয়তার বিকল্প প্রবেশের প্রয়োজন আছে কিনা । কিছু গোপনীয়তা বার্তার জন্য অ্যাপগুলোকে ব্যবহারকারীদের যেকোনো সময় তাদের গোপনীয়তার বিকল্পগুলো পরিবর্তন করার অনুমতি দিতে হয়।
@override
void initState() {
super.initState();
// Create a ConsentRequestParameters object.
final params = ConsentRequestParameters();
// Request an update to consent information on every app launch.
ConsentInformation.instance.requestConsentInfoUpdate(
params,
() async {
// Called when consent information is successfully updated.
},
(FormError error) {
// Called when there's an error updating consent information.
},
);
}
গোপনীয়তা বার্তা ফর্মটি লোড করুন এবং উপস্থাপন করুন
সর্বশেষ সম্মতি স্থিতি পাওয়ার পর, ব্যবহারকারীর সম্মতি সংগ্রহের জন্য প্রয়োজনীয় ফর্মগুলো লোড করতে loadAndShowConsentFormIfRequired() ফাংশনটি কল করুন। লোড হওয়ার পর ফর্মগুলো তাৎক্ষণিকভাবে প্রদর্শিত হবে।
@override
void initState() {
super.initState();
// Create a ConsentRequestParameters object.
final params = ConsentRequestParameters();
// Request an update to consent information on every app launch.
ConsentInformation.instance.requestConsentInfoUpdate(
params,
() async {
ConsentForm.loadAndShowConsentFormIfRequired((loadAndShowError) {
if (loadAndShowError != null) {
// Consent gathering failed.
}
// Consent has been gathered.
});
},
(FormError error) {
// Handle the error.
},
);
}
গোপনীয়তার বিকল্পগুলি
কিছু গোপনীয়তা বার্তা ফর্ম একটি পাবলিশার-রেন্ডার করা গোপনীয়তা বিকল্প এন্ট্রি পয়েন্ট থেকে প্রদর্শিত হয়, যা ব্যবহারকারীদের যেকোনো সময় তাদের গোপনীয়তা বিকল্পগুলি পরিচালনা করতে দেয়। আপনার ব্যবহারকারীরা গোপনীয়তা বিকল্প এন্ট্রি পয়েন্টে কোন বার্তা দেখতে পান সে সম্পর্কে আরও জানতে, ‘উপলব্ধ ব্যবহারকারী বার্তার প্রকার’ দেখুন।
গোপনীয়তা বিকল্প প্রবেশের জন্য কোনো পয়েন্ট প্রয়োজন কিনা তা পরীক্ষা করুন।
requestConsentInfoUpdate() কল করার পরে, আপনার অ্যাপের জন্য একটি প্রাইভেসি অপশন এন্ট্রি পয়েন্ট প্রয়োজন কিনা তা নির্ধারণ করতে getPrivacyOptionsRequirementStatus() চেক করুন। যদি একটি এন্ট্রি পয়েন্ট প্রয়োজন হয়, তাহলে আপনার অ্যাপে একটি দৃশ্যমান এবং ইন্টারঅ্যাক্টযোগ্য UI এলিমেন্ট যোগ করুন যা প্রাইভেসি অপশন ফর্মটি প্রদর্শন করে। যদি একটি প্রাইভেসি এন্ট্রি পয়েন্ট প্রয়োজন না হয়, তাহলে আপনার UI এলিমেন্টটিকে অদৃশ্য এবং ইন্টারঅ্যাক্টযোগ্য না করে কনফিগার করুন।
/// Helper variable to determine if the privacy options entry point is required.
Future<bool> isPrivacyOptionsRequired() async {
return await ConsentInformation.instance
.getPrivacyOptionsRequirementStatus() ==
PrivacyOptionsRequirementStatus.required;
}
গোপনীয়তা বিকল্পের প্রয়োজনীয়তার স্থিতিগুলির সম্পূর্ণ তালিকার জন্য, দেখুন।PrivacyOptionsRequirementStatus
গোপনীয়তার বিকল্প ফর্মটি উপস্থাপন করুন
যখন ব্যবহারকারী আপনার এলিমেন্টের সাথে ইন্টারঅ্যাক্ট করে, তখন প্রাইভেসি অপশন ফর্মটি উপস্থাপন করুন:
ConsentForm.showPrivacyOptionsForm((formError) {
if (formError != null) {
debugPrint("${formError.errorCode}: ${formError.message}");
}
});
ব্যবহারকারীর সম্মতিতে বিজ্ঞাপনের অনুরোধ করুন
বিজ্ঞাপনের অনুরোধ করার আগে, ব্যবহারকারীর কাছ থেকে সম্মতি পেয়েছেন কিনা তা যাচাই করতে canRequestAds() ব্যবহার করুন:
await ConsentInformation.instance.canRequestAds()
সম্মতি সংগ্রহের সময় আপনি বিজ্ঞাপনের জন্য অনুরোধ করতে পারবেন কিনা, তা যাচাই করার জন্য নিম্নলিখিত স্থানগুলি তালিকাভুক্ত করা হলো:
- বর্তমান সেশনে UMP SDK সম্মতি সংগ্রহ করার পর।
- আপনি
requestConsentInfoUpdate()কল করার ঠিক পরেই। UMP SDK হয়তো আগের অ্যাপ সেশনেই সম্মতি পেয়ে গেছে।
সম্মতি সংগ্রহের প্রক্রিয়ার সময় কোনো ত্রুটি ঘটলে, আপনি বিজ্ঞাপনের জন্য অনুরোধ করতে পারেন কিনা তা পরীক্ষা করুন। UMP SDK পূর্ববর্তী অ্যাপ সেশনের সম্মতির স্থিতি ব্যবহার করে।
অপ্রয়োজনীয় বিজ্ঞাপন অনুরোধের কাজ প্রতিরোধ করুন
সম্মতি সংগ্রহের পর এবং requestConsentInfoUpdate() কল করার পর যখন আপনি canRequestAds() চেক করবেন, তখন নিশ্চিত করুন যে আপনার লজিকটি অপ্রয়োজনীয় বিজ্ঞাপনের অনুরোধ প্রতিরোধ করে, যার ফলে উভয় চেকই true রিটার্ন করতে পারে। উদাহরণস্বরূপ, একটি বুলিয়ান ভেরিয়েবল ব্যবহার করে এটি করা যেতে পারে।
পরীক্ষা
আপনার অ্যাপ তৈরির সময় যদি ইন্টিগ্রেশনটি পরীক্ষা করতে চান, তাহলে প্রোগ্রাম্যাটিকভাবে আপনার টেস্ট ডিভাইসটি রেজিস্টার করতে এই ধাপগুলো অনুসরণ করুন। আপনার অ্যাপটি রিলিজ করার আগে, এই টেস্ট ডিভাইস আইডিগুলো সেট করার কোডটি অবশ্যই সরিয়ে ফেলবেন।
-
requestConsentInfoUpdate()কল করুন। লগ আউটপুটে নিম্নলিখিত উদাহরণের মতো একটি বার্তা খুঁজুন, যেখানে আপনার ডিভাইস আইডি এবং এটিকে একটি টেস্ট ডিভাইস হিসেবে কীভাবে যুক্ত করতে হবে তা দেখানো হয়েছে:
অ্যান্ড্রয়েড
Use new ConsentDebugSettings.Builder().addTestDeviceHashedId("33BE2250B43518CCDA7DE426D04EE231") to set this as a debug device.আইওএস
<UMP SDK>To enable debug mode for this device, set: UMPDebugSettings.testDeviceIdentifiers = @[2077ef9a63d2b398840261c8221a0c9b]আপনার টেস্ট ডিভাইস আইডিটি ক্লিপবোর্ডে কপি করুন।
আপনার কোডটি পরিবর্তন করে
ConsentDebugSettings.testIdentifiersকল করুন এবং আপনার টেস্ট ডিভাইস আইডিগুলোর একটি তালিকা পাস করুন।ConsentDebugSettings debugSettings = ConsentDebugSettings( testIdentifiers: ["TEST-DEVICE-HASHED-ID"], ); ConsentRequestParameters params = ConsentRequestParameters(consentDebugSettings: debugSettings); ConsentInformation.instance.requestConsentInfoUpdate(params, () async { // ... };
ভূগোলকে বাধ্য করুন
UMP SDK, debugGeography ব্যবহার করে আপনার অ্যাপের আচরণ পরীক্ষা করার একটি উপায় প্রদান করে, যেন ডিভাইসটি ইউরোপীয় অর্থনৈতিক অঞ্চল (EEA), যুক্তরাজ্য (UK) এবং সুইজারল্যান্ডের মতো বিভিন্ন অঞ্চলে অবস্থিত। মনে রাখবেন যে ডিবাগ সেটিংস শুধুমাত্র টেস্ট ডিভাইসেই কাজ করে।
ConsentDebugSettings debugSettings = ConsentDebugSettings(
debugGeography: DebugGeography.debugGeographyEea,
testIdentifiers: ["TEST-DEVICE-HASHED-ID"],
);
ConsentRequestParameters params =
ConsentRequestParameters(consentDebugSettings: debugSettings);
ConsentInformation.instance.requestConsentInfoUpdate(params, () async {
// ...
};
সম্মতির অবস্থা রিসেট করুন
UMP SDK ব্যবহার করে আপনার অ্যাপ পরীক্ষা করার সময়, একজন ব্যবহারকারীর প্রথম ইনস্টলের অভিজ্ঞতা অনুকরণ করার জন্য SDK-এর অবস্থা রিসেট করা সহায়ক হতে পারে। এই কাজটি করার জন্য SDK-তে reset() মেথডটি রয়েছে।
ConsentInformation.instance.reset();
গিটহাবে উদাহরণ
এই পৃষ্ঠায় বর্ণিত UMP SDK ইন্টিগ্রেশনের একটি সম্পূর্ণ উদাহরণ আমাদের ফ্লাটার উদাহরণগুলোতে দেখুন।