UMP SDK সেট আপ করুন, UMP SDK সেট আপ করুন

গুগল ইউজার মেসেজিং প্ল্যাটফর্ম (ইউএমপি) এসডিকে হলো একটি প্রাইভেসি ও মেসেজিং টুল যা আপনাকে গোপনীয়তার পছন্দগুলো পরিচালনা করতে সাহায্য করে। আরও তথ্যের জন্য, ‘গোপনীয়তা ও মেসেজিং সম্পর্কে’ দেখুন।

একটি বার্তার ধরণ তৈরি করুন

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

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

SDK আমদানি করুন

কোকোপডস (পছন্দনীয়)

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

pod 'GoogleUserMessagingPlatform'

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

pod install --repo-update

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

সুইফট প্যাকেজ ম্যানেজার

UMP SDK সুইফট প্যাকেজ ম্যানেজারকেও সমর্থন করে। সুইফট প্যাকেজ ইম্পোর্ট করতে এই ধাপগুলো অনুসরণ করুন।

  1. Xcode-এ, File > Add Packages... -এ গিয়ে UMP SDK Swift Package-টি ইনস্টল করুন।

  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 ডাউনলোড করুন

এরপর, ফ্রেমওয়ার্কটি আপনার Xcode প্রজেক্টে ড্র্যাগ করে আনুন এবং প্রয়োজনে ‘Copy items if needed’ অপশনটি সিলেক্ট করতে ভুলবেন না।

এরপর আপনি নিম্নলিখিত পদ্ধতি ব্যবহার করে আপনার প্রয়োজন অনুযায়ী যেকোনো ফাইলে ফ্রেমওয়ার্কটি অন্তর্ভুক্ত করতে পারেন:

সুইফট

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

SwiftUI


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

SwiftUI


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)

SwiftUI


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 রিটার্ন করতে পারে। উদাহরণস্বরূপ, একটি বুলিয়ান ভেরিয়েবল ব্যবহার করে এটি করা যেতে পারে।

পরীক্ষা

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

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

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

  4. আপনার কোডটি পরিবর্তন করে 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-এর মাধ্যমে আপনি geography ব্যবহার করে আপনার অ্যাপের আচরণ পরীক্ষা করতে পারবেন, যেন ডিভাইসটি ইউরোপীয় অর্থনৈতিক অঞ্চল (EEA), যুক্তরাজ্য (UK) এবং সুইজারল্যান্ডের মতো বিভিন্ন অঞ্চলে অবস্থিত। উল্লেখ্য যে, ডিবাগ সেটিংস শুধুমাত্র পরীক্ষামূলক ডিভাইসগুলিতেই কাজ করে।

সুইফট

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];

গিটহাবে উদাহরণ

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