গুগল ইউজার মেসেজিং প্ল্যাটফর্ম (UMP) SDK হল একটি গোপনীয়তা এবং বার্তাপ্রেরণ সরঞ্জাম যা আপনাকে গোপনীয়তা পছন্দগুলি পরিচালনা করতে সহায়তা করে। আরও তথ্যের জন্য, গোপনীয়তা এবং বার্তাপ্রেরণ সম্পর্কে দেখুন।
একটি বার্তার ধরণ তৈরি করুন
আপনার AdMob অ্যাকাউন্টের গোপনীয়তা এবং বার্তা ট্যাবের অধীনে " উপলব্ধ ব্যবহারকারীর বার্তা প্রকার" ব্যবহার করে ব্যবহারকারীর বার্তা তৈরি করুন। UMP SDK আপনার প্রকল্পে সেট করা AdMob অ্যাপ্লিকেশন আইডি থেকে তৈরি একটি গোপনীয়তা বার্তা প্রদর্শন করার চেষ্টা করে।
আরও বিস্তারিত জানার জন্য, গোপনীয়তা এবং বার্তাপ্রেরণ সম্পর্কে দেখুন।
SDK আমদানি করুন
কোকোপডস (পছন্দের)
iOS প্রজেক্টে SDK ইম্পোর্ট করার সবচেয়ে সহজ উপায় হল CocoaPods ব্যবহার করা। আপনার প্রজেক্টের Podfile খুলুন এবং আপনার অ্যাপের টার্গেটে এই লাইনটি যোগ করুন:
pod 'GoogleUserMessagingPlatform'
তারপর, নিম্নলিখিত কমান্ডটি চালান:
pod install --repo-updateআপনি যদি CocoaPods-এ নতুন হন, তাহলে Podfiles কীভাবে তৈরি এবং ব্যবহার করবেন সে সম্পর্কে বিস্তারিত জানতে "Using CocoaPods" দেখুন।
সুইফট প্যাকেজ ম্যানেজার
UMP SDK সুইফট প্যাকেজ ম্যানেজারকেও সমর্থন করে। সুইফট প্যাকেজ আমদানি করতে এই পদক্ষেপগুলি অনুসরণ করুন।
Xcode-এ, File > Add Packages... এ নেভিগেট করে UMP SDK Swift Package ইনস্টল করুন।
প্রদর্শিত প্রম্পটে, UMP SDK Swift Package GitHub সংগ্রহস্থলটি অনুসন্ধান করুন:
https://github.com/googleads/swift-package-manager-google-user-messaging-platform.gitআপনি যে UMP SDK Swift প্যাকেজটি ব্যবহার করতে চান তার সংস্করণটি নির্বাচন করুন। নতুন প্রকল্পগুলির জন্য, আমরা Up to Next Major সংস্করণ ব্যবহার করার পরামর্শ দিচ্ছি।
এরপর Xcode আপনার প্যাকেজ নির্ভরতা সমাধান করে এবং ব্যাকগ্রাউন্ডে ডাউনলোড করে। প্যাকেজ নির্ভরতা কীভাবে যোগ করবেন সে সম্পর্কে আরও তথ্যের জন্য, Apple এর নিবন্ধটি দেখুন।
ম্যানুয়াল ডাউনলোড
SDK আমদানির অন্য উপায় হল এটি ম্যানুয়ালি করা।
তারপর, আপনার Xcode প্রজেক্টে ফ্রেমওয়ার্কটি টেনে আনুন, নিশ্চিত করুন যে আপনি প্রয়োজনে Copy items নির্বাচন করেছেন।

এরপর আপনি আপনার প্রয়োজনীয় যেকোনো ফাইলে ফ্রেমওয়ার্কটি অন্তর্ভুক্ত করতে পারেন:
সুইফট
import UserMessagingPlatform
অবজেক্টিভ-সি
#include <UserMessagingPlatform/UserMessagingPlatform.h>
অ্যাপ্লিকেশন আইডি যোগ করুন
আপনি AdMob UI তে আপনার অ্যাপ্লিকেশন আইডি খুঁজে পেতে পারেন। নিম্নলিখিত কোড স্নিপেট ব্যবহার করে আপনার Info.plist এ আইডিটি যোগ করুন:
<key>GADApplicationIdentifier</key>
<string>ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy</string>
ব্যবহারকারীর সম্মতির তথ্য পান
প্রতিটি অ্যাপ লঞ্চের সময় requestConsentInfoUpdate(with:completionHandler:) ব্যবহার করে আপনার ব্যবহারকারীর সম্মতি তথ্য আপডেটের অনুরোধ করা উচিত। এই অনুরোধটি নিম্নলিখিতগুলি পরীক্ষা করে:
- সম্মতি প্রয়োজন কিনা । উদাহরণস্বরূপ, প্রথমবারের জন্য সম্মতি প্রয়োজন, অথবা পূর্ববর্তী সম্মতির সিদ্ধান্তের মেয়াদ শেষ হয়ে গেছে।
- গোপনীয়তা বিকল্পের প্রবেশ বিন্দু প্রয়োজন কিনা । কিছু গোপনীয়তা বার্তার জন্য অ্যাপগুলিকে ব্যবহারকারীদের যেকোনো সময় তাদের গোপনীয়তা বিকল্পগুলি পরিবর্তন করার অনুমতি দিতে হয়।
সুইফট
// Requesting an update to consent information should be called on every app launch.
ConsentInformation.shared.requestConsentInfoUpdate(with: parameters) {
requestConsentError in
// ...
}
সুইফটইউআই
// Requesting an update to consent information should be called on every app launch.
ConsentInformation.shared.requestConsentInfoUpdate(with: parameters) {
requestConsentError in
// ...
}
অবজেক্টিভ-সি
// Requesting an update to consent information should be called on every app launch.
[UMPConsentInformation.sharedInstance
requestConsentInfoUpdateWithParameters:parameters
completionHandler:^(NSError *_Nullable requestConsentError) {
// ...
}];
গোপনীয়তা বার্তা ফর্মটি লোড করুন এবং উপস্থাপন করুন
সর্বশেষ সম্মতির স্ট্যাটাস পাওয়ার পর, ব্যবহারকারীর সম্মতি সংগ্রহের জন্য প্রয়োজনীয় যেকোনো ফর্ম লোড করতে loadAndPresentIfRequired(from:) এ কল করুন। লোড করার পর, ফর্মগুলি তৎক্ষণাৎ উপস্থিত হবে।
সুইফট
try await ConsentForm.loadAndPresentIfRequired(from: viewController)
সুইফটইউআই
try await ConsentForm.loadAndPresentIfRequired(from: nil)
অবজেক্টিভ-সি
[UMPConsentForm
loadAndPresentIfRequiredFromViewController:viewController
completionHandler:^(NSError *_Nullable loadAndPresentError) {
// Consent gathering process is complete.
}];
গোপনীয়তার বিকল্পগুলি
কিছু গোপনীয়তা বার্তা ফর্ম প্রকাশক-রেন্ডার করা গোপনীয়তা বিকল্প এন্ট্রি পয়েন্ট থেকে উপস্থাপন করা হয়, যা ব্যবহারকারীদের যেকোনো সময় তাদের গোপনীয়তা বিকল্পগুলি পরিচালনা করতে দেয়। গোপনীয়তা বিকল্প এন্ট্রি পয়েন্টে আপনার ব্যবহারকারীরা কোন বার্তা দেখতে পাবেন সে সম্পর্কে আরও জানতে, উপলব্ধ ব্যবহারকারীর বার্তার প্রকারগুলি দেখুন।
গোপনীয়তা বিকল্পের প্রবেশ বিন্দু প্রয়োজন কিনা তা পরীক্ষা করুন
requestConsentInfoUpdate(with:completionHandler:) কল করার পর, আপনার অ্যাপের জন্য একটি গোপনীয়তা বিকল্প এন্ট্রি পয়েন্ট প্রয়োজন কিনা তা নির্ধারণ করতে UMPConsentInformation.sharedInstance.privacyOptionsRequirementStatus চেক করুন। যদি একটি এন্ট্রি পয়েন্ট প্রয়োজন হয়, তাহলে আপনার অ্যাপে একটি দৃশ্যমান এবং ইন্টারঅ্যাক্টেবল UI উপাদান যোগ করুন যা গোপনীয়তা বিকল্প ফর্ম উপস্থাপন করে। যদি একটি গোপনীয়তা এন্ট্রি পয়েন্ট প্রয়োজন না হয়, তাহলে আপনার UI উপাদানটি দৃশ্যমান এবং ইন্টারঅ্যাক্টেবল নয় এমনভাবে কনফিগার করুন।
সুইফট
var isPrivacyOptionsRequired: Bool {
return ConsentInformation.shared.privacyOptionsRequirementStatus == .required
}
অবজেক্টিভ-সি
- (BOOL)isPrivacyOptionsRequired {
return UMPConsentInformation.sharedInstance.privacyOptionsRequirementStatus ==
UMPPrivacyOptionsRequirementStatusRequired;
}
গোপনীয়তা বিকল্পের প্রয়োজনীয়তার স্থিতির সম্পূর্ণ তালিকার জন্য, UMPPrivacyOptionsRequirementStatus দেখুন।
গোপনীয়তা বিকল্প ফর্মটি উপস্থাপন করুন
যখন ব্যবহারকারী আপনার উপাদানের সাথে ইন্টারঅ্যাক্ট করে, তখন গোপনীয়তা বিকল্প ফর্মটি উপস্থাপন করুন:
সুইফট
try await ConsentForm.presentPrivacyOptionsForm(from: viewController)
সুইফটইউআই
try await ConsentForm.presentPrivacyOptionsForm(from: nil)
অবজেক্টিভ-সি
[UMPConsentForm presentPrivacyOptionsFormFromViewController:viewController
completionHandler:completionHandler];
ব্যবহারকারীর সম্মতিতে বিজ্ঞাপনের অনুরোধ করুন
বিজ্ঞাপনের অনুরোধ করার আগে, ব্যবহারকারীর কাছ থেকে আপনি সম্মতি পেয়েছেন কিনা তা পরীক্ষা করতে UMPConsentInformation.sharedInstance.canRequestAds ব্যবহার করুন:
সুইফট
ConsentInformation.shared.canRequestAds
অবজেক্টিভ-সি
UMPConsentInformation.sharedInstance.canRequestAds;
সম্মতি সংগ্রহের সময় বিজ্ঞাপনের অনুরোধ করা যাবে কিনা তা পরীক্ষা করার জন্য নিম্নলিখিত স্থানগুলি তালিকাভুক্ত করা হল:
- বর্তমান অধিবেশনে UMP SDK সম্মতি সংগ্রহ করার পর।
- আপনি
requestConsentInfoUpdate(with:completionHandler:)কল করার পরপরই। UMP SDK পূর্ববর্তী অ্যাপ সেশনে সম্মতি পেয়ে থাকতে পারে।
সম্মতি সংগ্রহের প্রক্রিয়া চলাকালীন যদি কোনও ত্রুটি দেখা দেয়, তাহলে বিজ্ঞাপনের অনুরোধ করতে পারবেন কিনা তা পরীক্ষা করে দেখুন। UMP SDK পূর্ববর্তী অ্যাপ সেশনের সম্মতির স্থিতি ব্যবহার করে।
অপ্রয়োজনীয় বিজ্ঞাপন অনুরোধের কাজ রোধ করুন
সম্মতি সংগ্রহের পর এবং requestConsentInfoUpdate(with:completionHandler:) কল করার পর UMPConsentInformation.sharedInstance.canRequestAds চেক করার সময়, নিশ্চিত করুন যে আপনার লজিক অপ্রয়োজনীয় বিজ্ঞাপন অনুরোধগুলিকে আটকাচ্ছে যার ফলে উভয় চেকই true ফিরে আসতে পারে। উদাহরণস্বরূপ, একটি বুলিয়ান ভেরিয়েবলের সাথে।
পরীক্ষামূলক
আপনি যদি আপনার অ্যাপ ডেভেলপ করার সময় ইন্টিগ্রেশন পরীক্ষা করতে চান, তাহলে আপনার টেস্ট ডিভাইসটি প্রোগ্রাম্যাটিকভাবে নিবন্ধন করতে এই ধাপগুলি অনুসরণ করুন। আপনার অ্যাপটি প্রকাশ করার আগে এই টেস্ট ডিভাইস আইডি সেট করে এমন কোডটি সরিয়ে ফেলতে ভুলবেন না।
- কল করুন
requestConsentInfoUpdate(with:completionHandler:)। লগ আউটপুটে নিচের উদাহরণের মতো একটি বার্তা আছে কিনা তা পরীক্ষা করুন, যা আপনার ডিভাইস আইডি এবং এটিকে পরীক্ষামূলক ডিভাইস হিসেবে কীভাবে যুক্ত করবেন তা দেখায়:
<UMP SDK>To enable debug mode for this device, set: UMPDebugSettings.testDeviceIdentifiers = @[2077ef9a63d2b398840261c8221a0c9b]আপনার ক্লিপবোর্ডে আপনার পরীক্ষামূলক ডিভাইস আইডি কপি করুন।
আপনার কোড পরিবর্তন করে
UMPDebugSettings().testDeviceIdentifiersকল করুন এবং আপনার টেস্ট ডিভাইস আইডিগুলির একটি তালিকা পাস করুন।সুইফট
let parameters = RequestParameters() let debugSettings = DebugSettings() debugSettings.testDeviceIdentifiers = ["TEST-DEVICE-HASHED-ID"] parameters.debugSettings = debugSettings // Include the UMPRequestParameters in your consent request. ConsentInformation.shared.requestConsentInfoUpdate( with: parameters, completionHandler: { error in // ... })অবজেক্টিভ-সি
UMPRequestParameters *parameters = [[UMPRequestParameters alloc] init]; UMPDebugSettings *debugSettings = [[UMPDebugSettings alloc] init]; debugSettings.testDeviceIdentifiers = @[ @"TEST-DEVICE-HASHED-ID" ]; parameters.debugSettings = debugSettings; // Include the UMPRequestParameters in your consent request. [UMPConsentInformation.sharedInstance requestConsentInfoUpdateWithParameters:parameters completionHandler:^(NSError *_Nullable error){ // ... }];
জোর করে ভূগোল তৈরি করুন
UMP SDK আপনার অ্যাপের আচরণ পরীক্ষা করার একটি উপায় প্রদান করে যেন ডিভাইসটি বিভিন্ন অঞ্চলে অবস্থিত, যেমন EEA বা UK, geography ব্যবহার করে। মনে রাখবেন যে ডিবাগ সেটিংস শুধুমাত্র পরীক্ষামূলক ডিভাইসগুলিতে কাজ করে।
সুইফট
let parameters = RequestParameters()
let debugSettings = DebugSettings()
debugSettings.testDeviceIdentifiers = ["TEST-DEVICE-HASHED-ID"]
debugSettings.geography = .EEA
parameters.debugSettings = debugSettings
// Include the UMPRequestParameters in your consent request.
ConsentInformation.shared.requestConsentInfoUpdate(
with: parameters,
completionHandler: { error in
// ...
})
অবজেক্টিভ-সি
UMPRequestParameters *parameters = [[UMPRequestParameters alloc] init];
UMPDebugSettings *debugSettings = [[UMPDebugSettings alloc] init];
debugSettings.testDeviceIdentifiers = @[ @"TEST-DEVICE-HASHED-ID" ];
debugSettings.geography = UMPDebugGeographyEEA;
parameters.debugSettings = debugSettings;
// Include the UMPRequestParameters in your consent request.
[UMPConsentInformation.sharedInstance
requestConsentInfoUpdateWithParameters:parameters
completionHandler:^(NSError *_Nullable error){
// ...
}];
সম্মতির অবস্থা রিসেট করুন
UMP SDK দিয়ে আপনার অ্যাপ পরীক্ষা করার সময়, SDK-এর অবস্থা রিসেট করা আপনার জন্য সহায়ক হতে পারে যাতে আপনি ব্যবহারকারীর প্রথম ইনস্টল অভিজ্ঞতা অনুকরণ করতে পারেন। SDK এটি করার জন্য reset পদ্ধতি প্রদান করে।
সুইফট
ConsentInformation.shared.reset()
অবজেক্টিভ-সি
[UMPConsentInformation.sharedInstance reset];
GitHub-এ উদাহরণ
এই পৃষ্ঠায় বর্ণিত UMP SDK ইন্টিগ্রেশনের একটি সম্পূর্ণ উদাহরণ দেখুন