শুরু করুন

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

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

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

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

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

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

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

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

অ্যাপ স্টার্টে কীভাবে স্থিতি পরীক্ষা করবেন তার একটি উদাহরণ এখানে দেওয়া হল:

void Start()
{
    // Create a ConsentRequestParameters object.
    ConsentRequestParameters request = new ConsentRequestParameters();

    // Check the current consent information status.
    ConsentInformation.Update(request, OnConsentInfoUpdated);
}

void OnConsentInfoUpdated(FormError consentError)
{
    if (consentError != null)
    {
        // Handle the error.
        UnityEngine.Debug.LogError(consentError);
        return;
    }

    // If the error is null, the consent information state was updated.
    // You are now ready to check if a form is available.
}

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

আপনি সর্বাধিক আপ-টু-ডেট সম্মতির স্থিতি পাওয়ার পরে, ব্যবহারকারীর সম্মতি সংগ্রহের জন্য প্রয়োজনীয় যে কোনও ফর্ম লোড করতে LoadAndShowConsentFormIfRequired() এ কল করুন। লোড করার পরে, ফর্মগুলি অবিলম্বে উপস্থিত হয়।

void Start()
{
    // Create a ConsentRequestParameters object.
    ConsentRequestParameters request = new ConsentRequestParameters();

    // Check the current consent information status.
    ConsentInformation.Update(request, OnConsentInfoUpdated);
}

void OnConsentInfoUpdated(FormError consentError)
{
    if (consentError != null)
    {
        // Handle the error.
        UnityEngine.Debug.LogError(consentError);
        return;
    }

    // If the error is null, the consent information state was updated.
    // You are now ready to check if a form is available.
    ConsentForm.LoadAndShowConsentFormIfRequired((FormError formError) =>
    {
        if (formError != null)
        {
            // Consent gathering failed.
            UnityEngine.Debug.LogError(consentError);
            return;
        }

        // Consent has been gathered.
    });
}

ব্যবহারকারীর পছন্দ বা ফর্মটি খারিজ করার পরে যদি আপনার কোনো কাজ সম্পাদন করতে হয়, তাহলে সেই যুক্তিটি আপনার ফর্মের জন্য `Action<FormError>` কলব্যাকে রাখুন।

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

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

একটি গোপনীয়তা বিকল্প এন্ট্রি পয়েন্ট বাস্তবায়ন করতে, নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:

  1. PrivacyOptionsRequirementStatus স্থিতি পরীক্ষা করুন।
  2. যদি একটি গোপনীয়তা বিকল্প এন্ট্রি পয়েন্ট প্রয়োজন হয়, আপনার অ্যাপে একটি দৃশ্যমান এবং ইন্টারঅ্যাক্টেবল UI উপাদান যোগ করুন।
  3. ShowPrivacyOptionsForm() ব্যবহার করে গোপনীয়তা বিকল্প ফর্মটি ট্রিগার করুন।

নিম্নলিখিত কোড উদাহরণ এই পদক্ষেপগুলি প্রদর্শন করে:

[SerializeField, Tooltip("Button to show the privacy options form.")]
private Button _privacyButton;

private void Start()
{
  // Enable the privacy settings button.
  if (_privacyButton != null)
  {
      _privacyButton.onClick.AddListener(UpdatePrivacyButton);
      // Disable the privacy settings button by default.
      _privacyButton.interactable = false;
  }
}

/// <summary>
/// Shows the privacy options form to the user.
/// </summary>
public void ShowPrivacyOptionsForm()
{
    Debug.Log("Showing privacy options form.");

    ConsentForm.ShowPrivacyOptionsForm((FormError showError) =>
    {
        if (showError != null)
        {
            Debug.LogError("Error showing privacy options form with error: " + showError.Message);
        }
        // Enable the privacy settings button.
        if (_privacyButton != null)
        {
            _privacyButton.interactable =
                ConsentInformation.PrivacyOptionsRequirementStatus ==
                PrivacyOptionsRequirementStatus.Required;
        }
    });
}

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

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

  • বর্তমান অধিবেশনে সম্মতির পর।
  • আপনি Update() কল করার পরপরই। পূর্ববর্তী অধিবেশনে সম্ভাব্য সম্মতি পাওয়া গেছে। লেটেন্সি সর্বোত্তম অনুশীলন হিসাবে, আমরা সুপারিশ করি যে কলব্যাক সম্পূর্ণ হওয়ার জন্য অপেক্ষা করবেন না যাতে আপনি আপনার অ্যাপ চালু হওয়ার পরে যত তাড়াতাড়ি সম্ভব বিজ্ঞাপন লোড করা শুরু করতে পারেন।

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

void Start()
{
    // Create a ConsentRequestParameters object.
    ConsentRequestParameters request = new ConsentRequestParameters();

    // Check the current consent information status.
    ConsentInformation.Update(request, OnConsentInfoUpdated);
}

void OnConsentInfoUpdated(FormError consentError)
{
    if (consentError != null)
    {
        // Handle the error.
        UnityEngine.Debug.LogError(consentError);
        return;
    }

    // If the error is null, the consent information state was updated.
    // You are now ready to check if a form is available.
    ConsentForm.LoadAndShowConsentFormIfRequired((FormError formError) =>
    {
        if (formError != null)
        {
            // Consent gathering failed.
            UnityEngine.Debug.LogError(consentError);
            return;
        }

        // Consent has been gathered.
        if (ConsentInformation.CanRequestAds())
        {
            MobileAds.Initialize((InitializationStatus initstatus) =>
            {
              // TODO: Request an ad.
            });
        }
    });
    
}

টেস্টিং

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

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

    অ্যান্ড্রয়েড

    Use new ConsentDebugSettings.Builder().addTestDeviceHashedId("33BE2250B43518CCDA7DE426D04EE231")
    to set this as a debug device.
    

    iOS

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

  4. DebugGeography.TestDeviceHashedIds কল করতে আপনার কোড পরিবর্তন করুন এবং আপনার পরীক্ষার ডিভাইস আইডিগুলির একটি তালিকায় পাস করুন৷

    void Start()
    {
        var debugSettings = new ConsentDebugSettings
        {
            TestDeviceHashedIds =
            new List<string>
            {
                "TEST-DEVICE-HASHED-ID"
            }
        };
    
        // Create a ConsentRequestParameters object.
        ConsentRequestParameters request = new ConsentRequestParameters
        {
            ConsentDebugSettings = debugSettings,
        };
    
        // Check the current consent information status.
        ConsentInformation.Update(request, OnConsentInfoUpdated);
    }
    

একটি ভূগোল জোর করে

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

void Start()
{
    var debugSettings = new ConsentDebugSettings
    {
        // Geography appears as in EEA for debug devices.
        DebugGeography = DebugGeography.EEA,
        TestDeviceHashedIds = new List<string>
        {
            "TEST-DEVICE-HASHED-ID"
        }
    };

    // Create a ConsentRequestParameters object.
    ConsentRequestParameters request = new ConsentRequestParameters
    {
        ConsentDebugSettings = debugSettings,
    };

    // Check the current consent information status.
    ConsentInformation.Update(request, OnConsentInfoUpdated);
}

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

ConsentInformation.Reset();