শুরু করুন

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

পূর্বশর্ত

  • Android API স্তর 21 বা উচ্চতর

একটি বার্তা টাইপ তৈরি করুন

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

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

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

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

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

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

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

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

<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 আপনার অ্যাপের আচরণ পরীক্ষা করার একটি উপায় প্রদান করে যেন ডিভাইসটি DebugGeography ব্যবহার করে 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 ইন্টিগ্রেশনের একটি সম্পূর্ণ উদাহরণ দেখুন।