শুরু করুন

প্ল্যাটফর্ম নির্বাচন করুন: অ্যান্ড্রয়েড আইওএস

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

পূর্বশর্ত

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

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

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

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

গ্র্যাডেল দিয়ে ইনস্টল করুন

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

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

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

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

আপনি আপনার অ্যাপ্লিকেশন আইডিটি অ্যাড ম্যানেজার 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 is complete.
}

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

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

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

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

জাভা


/** Helper function to determine if a privacy options entry point 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().addTestDeviceHashedId() কল করতে আপনার কোড পরিবর্তন করুন এবং আপনার পরীক্ষামূলক ডিভাইস আইডিগুলির একটি তালিকা পাস করুন।

    জাভা

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

জাভা

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

GitHub-এ উদাহরণ

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