শুরু করুন

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

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

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

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

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

প্রতিটি অ্যাপ লঞ্চের সময়, 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 the error is null, the consent information state was updated.
    if (consentError != null)
    {
        // Handle the error.
        UnityEngine.Debug.LogError(consentError);
        return;
    }
}

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

সর্বশেষ সম্মতির স্ট্যাটাস পাওয়ার পর, ব্যবহারকারীর সম্মতি সংগ্রহের জন্য প্রয়োজনীয় যেকোনো ফর্ম লোড করতে 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.
    });
}

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

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

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

  1. Update() কল করার পর, PrivacyOptionsRequirementStatus চেক করে দেখুন যে গোপনীয়তা বিকল্পের এন্ট্রি পয়েন্ট প্রয়োজন কিনা।
  2. প্রয়োজনে, গোপনীয়তা বিকল্পের প্রবেশ বিন্দু হিসেবে কাজ করার জন্য আপনার অ্যাপে একটি দৃশ্যমান এবং ইন্টারঅ্যাক্টেবল UI উপাদান যোগ করুন। যদি গোপনীয়তা প্রবেশ বিন্দুর প্রয়োজন না হয়, তাহলে আপনার 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.
        UpdatePrivacyButton();
    });
}

/// <summary>
/// Updates the privacy buttons visual state based on the consent information.
/// </summary>
void UpdatePrivacyButton()
{
    if (_privacyButton != null)
    {
        _privacyButton.interactable =
            ConsentInformation.PrivacyOptionsRequirementStatus ==
                PrivacyOptionsRequirementStatus.Required;
    }
}

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

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

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

  • বর্তমান অধিবেশনে UMP SDK সম্মতি সংগ্রহ করার পর।
  • Update() কল করার সাথে সাথেই। UMP SDK পূর্ববর্তী অ্যাপ সেশনে সম্মতি পেয়ে থাকতে পারে।

সম্মতি সংগ্রহের প্রক্রিয়া চলাকালীন যদি কোনও ত্রুটি দেখা দেয়, তাহলে বিজ্ঞাপনের অনুরোধ করতে পারবেন কিনা তা পরীক্ষা করে দেখুন। 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.
    

    আইওএস

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

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

GitHub-এ উদাহরণ

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