শুরু করুন

প্ল্যাটফর্ম বেছে নিন: Android iOS

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

পূর্বশর্ত

  • Android API লেভেল 21 বা তার পরবর্তী যেকোনও ভার্সন

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

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

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

Gradle-এর মাধ্যমে ইনস্টল করা

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

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

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

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

আপনি Ad Manager 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-এর একটি ইনস্ট্যান্স ঘোষণা করুন:

Java

private final ConsentInformation consentInformation;

Kotlin

private lateinit var consentInformation: ConsentInformation

ConsentInformation ইনস্ট্যান্স চালু করুন:

Java

consentInformation = UserMessagingPlatform.getConsentInformation(context);

Kotlin

consentInformation = UserMessagingPlatform.getConsentInformation(context)

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

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

Java


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

Kotlin


// 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() কল করুন। লোড করার পরে, ফর্মটি সাথে সাথেই দেখা যায়।

Java


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

Kotlin


UserMessagingPlatform.loadAndShowConsentFormIfRequired(activity) { formError ->
  // Consent has been gathered.
}

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

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

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

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

Java


/** Helper function to determine if a privacy options entry point is required. */
public boolean isPrivacyOptionsRequired() {
  return consentInformation.getPrivacyOptionsRequirementStatus()
      == PrivacyOptionsRequirementStatus.REQUIRED;
}

Kotlin


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

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

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

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

Java


UserMessagingPlatform.showPrivacyOptionsForm(activity, onConsentFormDismissedListener);

Kotlin


UserMessagingPlatform.showPrivacyOptionsForm(activity, onConsentFormDismissedListener)

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

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

Java

consentInformation.canRequestAds();

Kotlin

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().addTestDeviceHashedId() করুন এবং আপনার টেস্ট ডিভাইস আইডির একটি তালিকা পাস করুন।

    Java

    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,
        // ...
    );
    

    Kotlin

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

Java

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,
    ...
);

Kotlin

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

Java

consentInformation.reset();

Kotlin

consentInformation.reset()

GitHub-এ উদাহরণ

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