UMP SDK সেট-আপ করা

প্ল্যাটফর্ম বেছে নিন: Android iOS Unity Flutter Android (পুরনো)

Google User Messaging Platform (UMP) SDK হল একটি গোপনীয়তা ও মেসেজিং টুল যা আপনাকে গোপনীয়তা সংক্রান্ত পছন্দ ম্যানেজ করতে সাহায্য করে। আরও তথ্যের জন্য, গোপনীয়তা ও মেসেজিং সম্পর্কে দেখুন।

মেসেজের ধরন তৈরি করুন

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

আরও বিবরণের জন্য, গোপনীয়তা ও মেসেজিং সম্পর্কে দেখুন।

SDK ইমপোর্ট করুন

CocoaPods (হলে ভাল)

iOS প্রোজেক্টে SDK ইমপোর্ট করার সবচেয়ে সহজ উপায় হল CocoaPods ব্যবহার করা। আপনার প্রোজেক্টের Podfile খুলুন এবং আপনার অ্যাপের টার্গেটে এই লাইনটি যোগ করুন:

pod 'GoogleUserMessagingPlatform'

তারপর, এই কমান্ড রান করুন:

pod install --repo-update

আপনি CocoaPods-এ নতুন হলে, Podfiles কীভাবে তৈরি ও ব্যবহার করবেন সেই সম্পর্কে বিস্তারিত জানতে CocoaPods ব্যবহার করা দেখুন।

Swift প্যাকেজ ম্যানেজার

এছাড়াও, UMP SDK-তে Swift প্যাকেজ ম্যানেজার কাজ করে। Swift প্যাকেজ ইমপোর্ট করতে এইসব ধাপ অনুসরণ করুন।

  1. Xcode-এ, ফাইল > প্যাকেজ যোগ করুন... বিকল্পে গিয়ে UMP SDK Swift প্যাকেজ ইনস্টল করুন।

  2. যে প্রম্পটটি দেখানো হবে, সেখানে UMP SDK Swift Package GitHub রিপোজিটরি সার্চ করুন:

    https://github.com/googleads/swift-package-manager-google-user-messaging-platform.git
    
  3. আপনি UMP SDK Swift প্যাকেজের যে ভার্সন ব্যবহার করতে চান সেটি বেছে নিন। নতুন প্রোজেক্টের জন্য, আমরা পরবর্তী মেজর ভার্সন পর্যন্ত ব্যবহার করার সাজেশন দিই।

Xcode তখন আপনার প্যাকেজের ডিপেন্ডেন্সি সমাধান করে এবং ব্যাকগ্রাউন্ডে সেগুলি ডাউনলোড করে। প্যাকেজ ডিপেন্ডেন্সি কীভাবে যোগ করতে হয় সেই সম্পর্কে আরও জানতে, Apple-এর নিবন্ধ দেখুন।

ম্যানুয়াল ডাউনলোড

SDK ইমপোর্ট করার অন্য উপায় হল ম্যানুয়ালি করা।

SDK ডাউনলোড করুন

তারপর, ফ্রেমওয়ার্কটি আপনার Xcode প্রোজেক্টে টেনে আনুন, তবে প্রয়োজন হলে আইটেম কপি করুন বিকল্পটি বেছে নিতে ভুলবেন না।

তারপর আপনি নিম্নলিখিত কোড ব্যবহার করে যেকোনও ফাইলে ফ্রেমওয়ার্ক অন্তর্ভুক্ত করতে পারবেন:

Swift

import UserMessagingPlatform

Objective-C

#include <UserMessagingPlatform/UserMessagingPlatform.h>

অ্যাপ্লিকেশন আইডি যোগ করুন

আপনি নিজের অ্যাপ্লিকেশন আইডি AdMob UI-তে খুঁজে পাবেন। নিম্নলিখিত কোড স্নিপেট ব্যবহার করে আপনার Info.plist -এ আইডি যোগ করুন:

<key>GADApplicationIdentifier</key>
<string>ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy</string>

requestConsentInfoUpdate(with:completionHandler:) ব্যবহার করে, অ্যাপ চালু করার সময় প্রতিবার ব্যবহারকারীর সম্মতি সংক্রান্ত তথ্যের আপডেট অনুরোধ করা উচিত। এই অনুরোধ নিম্নলিখিত বিষয়গুলি চেক করে:

  • সম্মতি প্রয়োজন কিনা। যেমন, প্রথমবার সম্মতি প্রয়োজন অথবা আগের সম্মতির মেয়াদ শেষ হয়ে গেছে।
  • গোপনীয়তা বিকল্পের এন্ট্রি পয়েন্ট প্রয়োজন কিনা। কিছু গোপনীয়তা মেসেজের ক্ষেত্রে অ্যাপকে ব্যবহারকারীদের যেকোনও সময় তাদের গোপনীয়তা বিকল্প পরিবর্তন করার অনুমতি দিতে হয়।

Swift


// Requesting an update to consent information should be called on every app launch.
ConsentInformation.shared.requestConsentInfoUpdate(with: parameters) {
  requestConsentError in
  // ...
}

SwiftUI


// Requesting an update to consent information should be called on every app launch.
ConsentInformation.shared.requestConsentInfoUpdate(with: parameters) {
  requestConsentError in
  // ...
}

Objective-C


// Requesting an update to consent information should be called on every app launch.
[UMPConsentInformation.sharedInstance
    requestConsentInfoUpdateWithParameters:parameters
                         completionHandler:^(NSError *_Nullable requestConsentError) {
                           // ...
                         }];

গোপনীয়তা মেসেজ ফর্ম লোড করে দেখান

আপনি সবচেয়ে আপ-টু-ডেট সম্মতির স্ট্যাটাস পাওয়ার পরে, ব্যবহারকারীর সম্মতি সংগ্রহ করার জন্য প্রয়োজনীয় যেকোনও ফর্ম লোড করতে loadAndPresentIfRequired(from:) কল করুন। লোড হওয়ার পরে, ফর্মগুলি অবিলম্বে উপস্থিত হয়।

Swift


try await ConsentForm.loadAndPresentIfRequired(from: viewController)

SwiftUI


try await ConsentForm.loadAndPresentIfRequired(from: nil)

Objective-C


[UMPConsentForm
    loadAndPresentIfRequiredFromViewController:viewController
                             completionHandler:^(NSError *_Nullable loadAndPresentError) {
                                 // Consent gathering process is complete.
                                }];

গোপনীয়তা সংক্রান্ত বিকল্প

কিছু গোপনীয়তা মেসেজ ফর্ম প্রকাশক-রেন্ডার করা গোপনীয়তা বিকল্প এন্ট্রি পয়েন্ট থেকে দেখানো হয়, যার ফলে ব্যবহারকারীরা যেকোনও সময় তাদের গোপনীয়তা বিকল্প ম্যানেজ করতে পারেন। গোপনীয়তা বিকল্পের এন্ট্রি পয়েন্টে আপনার ব্যবহারকারীরা কোন মেসেজ দেখতে পাবেন সেই সম্পর্কে আরও জানতে, ব্যবহারকারীর মেসেজের উপলভ্য ধরন দেখুন।

গোপনীয়তা বিকল্পের এন্ট্রি পয়েন্ট প্রয়োজন কিনা তা চেক করুন

requestConsentInfoUpdate(with:completionHandler:) কল করার পরে, আপনার অ্যাপের জন্য গোপনীয়তা বিকল্পের এন্ট্রি পয়েন্ট প্রয়োজন কিনা তা নির্ধারণ করতে UMPConsentInformation.sharedInstance.privacyOptionsRequirementStatus চেক করুন। এন্ট্রি পয়েন্ট প্রয়োজন হলে, আপনার অ্যাপে একটি দৃশ্যমান এবং ইন্টার‍্যাক্ট করা যায় এমন UI এলিমেন্ট যোগ করুন যা গোপনীয়তা বিকল্প ফর্ম দেখায়। গোপনীয়তা এন্ট্রি পয়েন্টের প্রয়োজন না হলে, আপনার UI এলিমেন্টকে এমনভাবে কনফিগার করুন যাতে সেটি দেখা না যায় এবং ইন্টার‍্যাক্ট করা না যায়।

Swift


var isPrivacyOptionsRequired: Bool {
  return ConsentInformation.shared.privacyOptionsRequirementStatus == .required
}

Objective-C


- (BOOL)isPrivacyOptionsRequired {
  return UMPConsentInformation.sharedInstance.privacyOptionsRequirementStatus ==
         UMPPrivacyOptionsRequirementStatusRequired;
}

গোপনীয়তা সংক্রান্ত বিকল্পের প্রয়োজনীয়তার স্ট্যাটাসের সম্পূর্ণ তালিকা দেখতে, UMPPrivacyOptionsRequirementStatus দেখুন।

গোপনীয়তা সংক্রান্ত বিকল্পের ফর্ম দেখান

ব্যবহারকারী আপনার এলিমেন্টের সাথে ইন্টার‍্যাক্ট করলে, গোপনীয়তা সংক্রান্ত বিকল্পের ফর্ম দেখান:

Swift


try await ConsentForm.presentPrivacyOptionsForm(from: viewController)

SwiftUI


try await ConsentForm.presentPrivacyOptionsForm(from: nil)

Objective-C


[UMPConsentForm presentPrivacyOptionsFormFromViewController:viewController
                                          completionHandler:completionHandler];

ব্যবহারকারীর সম্মতি নিয়ে বিজ্ঞাপন দেখানোর অনুরোধ করা

বিজ্ঞাপনের অনুরোধ করার আগে, আপনি ব্যবহারকারীর থেকে সম্মতি পেয়েছেন কিনা তা চেক করতে UMPConsentInformation.sharedInstance.canRequestAds ব্যবহার করুন:

Swift

ConsentInformation.shared.canRequestAds

Objective-C

UMPConsentInformation.sharedInstance.canRequestAds;

সম্মতি সংগ্রহ করার সময় আপনি বিজ্ঞাপনের অনুরোধ করতে পারবেন কিনা তা চেক করার জন্য নিম্নলিখিত জায়গাগুলি তালিকাভুক্ত করা হয়েছে:

  • বর্তমান সেশনে UMP SDK সম্মতি সংগ্রহ করার পরে।
  • আপনি requestConsentInfoUpdate(with:completionHandler:)-কে কল করার ঠিক পরেই। UMP SDK হয়ত আগের অ্যাপ সেশনে সম্মতি পেয়েছে।

সম্মতি সংগ্রহ করার প্রসেস চলাকালীন কোনও সমস্যা হলে, আপনি বিজ্ঞাপন দেখানোর অনুরোধ করতে পারবেন কিনা তা চেক করে দেখুন। UMP SDK আগের অ্যাপ সেশন থেকে সম্মতির স্ট্যাটাস ব্যবহার করে।

অপ্রয়োজনীয় বিজ্ঞাপনের অনুরোধের কাজ আটকানো

সম্মতি সংগ্রহ করার পরে এবং requestConsentInfoUpdate(with:completionHandler:) কল করার পরে আপনি UMPConsentInformation.sharedInstance.canRequestAds চেক করার সময়, আপনার লজিক যাতে অপ্রয়োজনীয় বিজ্ঞাপনের অনুরোধ প্রতিরোধ করে তা নিশ্চিত করুন, যার ফলে দুটি চেকই true রিটার্ন করতে পারে। যেমন, বুলিয়ান ভেরিয়েবল ব্যবহার করে।

পরীক্ষা করা

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

  1. requestConsentInfoUpdate(with:completionHandler:)-এ কল করুন।
  2. নিচের উদাহরণের মতো মেসেজের জন্য লগ আউটপুট চেক করুন, যা আপনার ডিভাইস আইডি এবং কীভাবে এটি টেস্ট ডিভাইস হিসেবে যোগ করতে হয় তা দেখায়:

    <UMP SDK>To enable debug mode for this device, set: UMPDebugSettings.testDeviceIdentifiers = @[2077ef9a63d2b398840261c8221a0c9b]
    
  3. আপনার ক্লিপবোর্ডে টেস্ট ডিভাইসের আইডি কপি করুন।

  4. UMPDebugSettings().testDeviceIdentifiers-এ কল করতে আপনার কোড পরিবর্তন করুন এবং আপনার টেস্ট ডিভাইস আইডির তালিকা পাস করুন।

    Swift

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

    Objective-C

    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 ব্যবহার করে। মনে রাখবেন যে ডিবাগ সেটিংস শুধুমাত্র টেস্ট ডিভাইসে কাজ করে।

Swift

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

Objective-C

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 পদ্ধতি প্রদান করে।

Swift

ConsentInformation.shared.reset()

Objective-C

[UMPConsentInformation.sharedInstance reset];

GitHub-এ উদাহরণ

এই পৃষ্ঠায় কভার করা UMP SDK ইন্টিগ্রেশনের সম্পূর্ণ উদাহরণ দেখুন