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

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

পূর্বশর্ত

  • অ্যান্ড্রয়েড এপিআই লেভেল ২১ বা তার বেশি

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

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

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

Gradle দিয়ে ইনস্টল করুন

আপনার মডিউলের অ্যাপ-লেভেল গ্রেডল ফাইলে (সাধারণত app/build.gradle ) Google User Messaging Platform SDK-এর ডিপেন্ডেন্সি যোগ করুন:

dependencies {
  implementation("com.google.android.ump:user-messaging-platform:4.0.0")
}

আপনার অ্যাপের build.gradle ফাইলে পরিবর্তন করার পর, Gradle ফাইলগুলির সাথে আপনার প্রজেক্টটি সিঙ্ক করতে ভুলবেন না।

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

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

<manifest>
  <application>
    <meta-data
        android:name="com.google.android.gms.ads.APPLICATION_ID"
        android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
  </application>
</manifest>

ব্যবহারকারীর সম্মতির তথ্য পেতে, নিম্নলিখিতগুলি করুন:

ConsentInformation এর একটি ইনস্ট্যান্স ঘোষণা করুন:

জাভা

private final ConsentInformation consentInformation;

কোটলিন

private lateinit val consentInformation: ConsentInformation

ConsentInformation ইনস্ট্যান্সটি প্রারম্ভিক করুন:

জাভা

consentInformation = UserMessagingPlatform.getConsentInformation(context);

কোটলিন

consentInformation = UserMessagingPlatform.getConsentInformation(context)

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

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

জাভা


// Requesting an update to consent information should be called on every app launch.
consentInformation.requestConsentInfoUpdate(
    activity,
    params,
    () -> // Called when consent information is successfully updated.
    requestConsentError -> // Called when there's an error updating consent information.

কোটলিন


// Requesting an update to consent information should be called on every app launch.
consentInformation.requestConsentInfoUpdate(
  activity,
  params,
  {
    // Called when consent information is successfully updated.
  },
  { requestConsentError ->
    // Called when there's an error updating consent information.
  },
)

গোপনীয়তা বার্তা ফর্মটি লোড করুন এবং উপস্থাপন করুন

সর্বশেষ সম্মতি স্থিতি পাওয়ার পর, ব্যবহারকারীর সম্মতি সংগ্রহের জন্য প্রয়োজনীয় ফর্মগুলো লোড করতে loadAndShowConsentFormIfRequired() ফাংশনটি কল করুন। লোড হওয়ার পর ফর্মগুলো তাৎক্ষণিকভাবে প্রদর্শিত হবে।

জাভা


UserMessagingPlatform.loadAndShowConsentFormIfRequired(
    activity,
    formError -> {
      // Consent gathering process is complete.
    });

কোটলিন


UserMessagingPlatform.loadAndShowConsentFormIfRequired(activity) { formError ->
  // Consent gathering process is complete.
}

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

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

গোপনীয়তা বিকল্প প্রবেশের জন্য কোনো পয়েন্ট প্রয়োজন কিনা তা পরীক্ষা করুন।

requestConsentInfoUpdate() কল করার পর, আপনার অ্যাপের জন্য কোনো প্রাইভেসি অপশন এন্ট্রি পয়েন্ট প্রয়োজন কিনা তা জানতে getPrivacyOptionsRequirementStatus() চেক করুন। যদি এন্ট্রি পয়েন্ট প্রয়োজন হয়, তাহলে আপনার অ্যাপে একটি দৃশ্যমান এবং ইন্টারঅ্যাক্টেবল UI এলিমেন্ট যোগ করুন যা প্রাইভেসি অপশন ফর্মটি প্রদর্শন করবে। যদি প্রাইভেসি এন্ট্রি পয়েন্ট প্রয়োজন না হয়, তাহলে আপনার UI এলিমেন্টটিকে অদৃশ্য এবং ইন্টারঅ্যাক্টেবল হিসেবে কনফিগার করুন।

জাভা


/** Helper variable to determine if the privacy options form is required. */
public boolean isPrivacyOptionsRequired() {
  return consentInformation.getPrivacyOptionsRequirementStatus()
      == PrivacyOptionsRequirementStatus.REQUIRED;
}

কোটলিন


/** Helper variable to determine if the privacy options form is required. */
val isPrivacyOptionsRequired: Boolean
  get() =
    consentInformation.privacyOptionsRequirementStatus ==
      ConsentInformation.PrivacyOptionsRequirementStatus.REQUIRED

গোপনীয়তার বিকল্পগুলির আবশ্যিক স্থিতিগুলির সম্পূর্ণ তালিকার জন্য, ConsentInformation.PrivacyOptionsRequirementStatus দেখুন।

গোপনীয়তার বিকল্প ফর্মটি উপস্থাপন করুন

যখন ব্যবহারকারী আপনার এলিমেন্টের সাথে ইন্টারঅ্যাক্ট করে, তখন প্রাইভেসি অপশন ফর্মটি উপস্থাপন করুন:

জাভা


UserMessagingPlatform.showPrivacyOptionsForm(activity, onConsentFormDismissedListener);

কোটলিন


UserMessagingPlatform.showPrivacyOptionsForm(activity, onConsentFormDismissedListener)

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

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

জাভা

consentInformation.canRequestAds();

কোটলিন

consentInformation.canRequestAds()

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

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

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

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

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

পরীক্ষা

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

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

    Use new ConsentDebugSettings.Builder().addTestDeviceHashedId("33BE2250B43518CCDA7DE426D04EE231") to set this as a debug device.
    
  3. আপনার টেস্ট ডিভাইস আইডিটি ক্লিপবোর্ডে কপি করুন।

  4. আপনার কোডটি পরিবর্তন করে ConsentDebugSettings.Builder().TestDeviceHashedIds কল করুন এবং আপনার টেস্ট ডিভাইস আইডিগুলোর একটি তালিকা পাস করুন।

    জাভা

    ConsentDebugSettings debugSettings = new ConsentDebugSettings.Builder(this)
        .addTestDeviceHashedId("TEST-DEVICE-HASHED-ID")
        .build();
    
    ConsentRequestParameters params = new ConsentRequestParameters
        .Builder()
        .setConsentDebugSettings(debugSettings)
        .build();
    
    consentInformation = UserMessagingPlatform.getConsentInformation(this);
    // Include the ConsentRequestParameters in your consent request.
    consentInformation.requestConsentInfoUpdate(
        this,
        params,
        // ...
    );
    

    কোটলিন

    val debugSettings = ConsentDebugSettings.Builder(this)
        .addTestDeviceHashedId("TEST-DEVICE-HASHED-ID")
        .build()
    
    val params = ConsentRequestParameters
        .Builder()
        .setConsentDebugSettings(debugSettings)
        .build()
    
    consentInformation = UserMessagingPlatform.getConsentInformation(this)
    // Include the ConsentRequestParameters in your consent request.
    consentInformation.requestConsentInfoUpdate(
        this,
        params,
        // ...
    )
    

ভূগোলকে বাধ্য করুন

UMP SDK-এর মাধ্যমে setDebugGeography() ব্যবহার করে আপনার অ্যাপের আচরণ পরীক্ষা করা যায়, যেন ডিভাইসটি ইউরোপীয় অর্থনৈতিক অঞ্চল (EEA), যুক্তরাজ্য (UK) এবং সুইজারল্যান্ডের মতো বিভিন্ন অঞ্চলে অবস্থিত। মনে রাখবেন যে, ডিবাগ সেটিংস শুধুমাত্র টেস্ট ডিভাইসেই কাজ করে।

জাভা

ConsentDebugSettings debugSettings = new ConsentDebugSettings.Builder(this)
    .setDebugGeography(ConsentDebugSettings.DebugGeography.DEBUG_GEOGRAPHY_EEA)
    .addTestDeviceHashedId("TEST-DEVICE-HASHED-ID")
    .build();

ConsentRequestParameters params = new ConsentRequestParameters
    .Builder()
    .setConsentDebugSettings(debugSettings)
    .build();

consentInformation = UserMessagingPlatform.getConsentInformation(this);
// Include the ConsentRequestParameters in your consent request.
consentInformation.requestConsentInfoUpdate(
    this,
    params,
    ...
);

কোটলিন

val debugSettings = ConsentDebugSettings.Builder(this)
    .setDebugGeography(ConsentDebugSettings.DebugGeography.DEBUG_GEOGRAPHY_EEA)
    .addTestDeviceHashedId("TEST-DEVICE-HASHED-ID")
    .build()

val params = ConsentRequestParameters
    .Builder()
    .setConsentDebugSettings(debugSettings)
    .build()

consentInformation = UserMessagingPlatform.getConsentInformation(this)
// Include the ConsentRequestParameters in your consent request.
consentInformation.requestConsentInfoUpdate(
    this,
    params,
    ...
)

UMP SDK ব্যবহার করে আপনার অ্যাপ পরীক্ষা করার সময়, একজন ব্যবহারকারীর প্রথম ইনস্টলের অভিজ্ঞতা অনুকরণ করার জন্য SDK-এর অবস্থা রিসেট করা সহায়ক হতে পারে। এই কাজটি করার জন্য SDK-তে reset() মেথডটি রয়েছে।

জাভা

consentInformation.reset();

কোটলিন

consentInformation.reset()

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

এই পৃষ্ঠায় বর্ণিত UMP SDK ইন্টিগ্রেশনের একটি পূর্ণাঙ্গ উদাহরণ Java BannerExample এবং Kotlin BannerExample- এ দেখুন।