UMP SDK সেট-আপ করা

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

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

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

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

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

SDK ইমপোর্ট করা

CocoaPods (হলে ভাল)

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

pod 'GoogleUserMessagingPlatform'

তারপর, নিম্নলিখিত কমান্ড রান করুন:

pod install --repo-update

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

Swift Package Manager

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 ইন্টিগ্রেশনের সম্পূর্ণ উদাহরণ দেখুন