शुरू करें

Google की ईयू उपयोगकर्ता की सहमति से जुड़ी नीति के तहत, आपको यूके के साथ-साथ, यूरोपियन इकनॉमिक एरिया (ईईए) में अपने उपयोगकर्ताओं को कुछ जानकारी देनी होगी. साथ ही, जहां कानूनी तौर पर ज़रूरी है वहां कुकी या अन्य लोकल स्टोरेज का इस्तेमाल करने और विज्ञापन दिखाने के लिए निजी डेटा (जैसे कि AdID) का इस्तेमाल करने के लिए उनकी सहमति लेनी होगी. इस नीति में, ईयू के ई-निजता निर्देश और जनरल डेटा प्रोटेक्शन रेगुलेशन (जीडीपीआर) की ज़रूरी शर्तों के बारे में बताया गया है.

Google, User Messaging Platform (UMP) SDK टूल की सुविधा देता है, ताकि इस नीति के तहत अपनी ज़िम्मेदारी पूरी करने में पब्लिशर की मदद की जा सके. UMP SDK को IAB के नए मानकों के हिसाब से अपडेट किया गया है. ये सभी कॉन्फ़िगरेशन अब निजता और मैसेज सेवा में आसानी से मैनेज किए जा सकते हैं. AdMob

ज़रूरी शर्तें

मैसेज का टाइप बनाएं

किसी एक उपयोगकर्ता मैसेज के टाइप की मदद से उपयोगकर्ता मैसेज बनाएं अपने AdMob खाते के निजता और मैसेज सेवा टैब में जाएं. UMP SDK आपके प्रोजेक्ट में सेट किए गए AdMob ऐप्लिकेशन आईडी से बनाए गए उपयोगकर्ता मैसेज को दिखाने की कोशिश करता है. अगर आपके ऐप्लिकेशन के लिए कोई मैसेज कॉन्फ़िगर नहीं किया गया है, तो 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 (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() को कॉल करें. अगर सहमति की स्थिति ज़रूरी है, तो SDK टूल एक फ़ॉर्म लोड करता है और तुरंत उसे में से दिखाता है. फ़ॉर्म खारिज होने के बाद, Action<FormError> callback कॉल किया जाता है. अगर सहमति ज़रूरी नहीं है, तो Action<FormError> callback . इसे तुरंत कॉल कर दिया जाता है.

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> callback में डालें.

विज्ञापन जोड़ने का अनुरोध करें

अपने ऐप्लिकेशन में विज्ञापनों का अनुरोध करने से पहले, देख लें कि आपने CanRequestAds()का इस्तेमाल करके, उपयोगकर्ता से सहमति ली है या नहीं. सहमति इकट्ठा करते समय, इन दो बातों पर ध्यान देना ज़रूरी है:

  1. मौजूदा सेशन के लिए सहमति लेने के बाद.
  2. आपके कॉल करने के तुरंत बाद 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. अपने ऐप्लिकेशन के सेटिंग पेज पर एक बटन जैसा यूज़र इंटरफ़ेस (यूआई) एलिमेंट लागू करें, जो निजता के विकल्पों वाले फ़ॉर्म को ट्रिगर कर सके.
  2. LoadAndShowConsentFormIfRequired() पूरा होने के बाद,PrivacyOptionsRequirementStatus देखें कि आपको वह यूज़र इंटरफ़ेस (यूआई) एलिमेंट दिखाना है या नहीं जो निजता विकल्प वाला फ़ॉर्म दिखा सकता है.
  3. जब कोई उपयोगकर्ता आपके यूज़र इंटरफ़ेस (यूआई) एलिमेंट से इंटरैक्ट करता है, तो फ़ॉर्म दिखाने के लिएShowPrivacyOptionsForm() को कॉल करें, ताकि उपयोगकर्ता जब चाहे अपनी निजता सेटिंग को अपडेट कर सके.

इस उदाहरण में, Button से निजता के विकल्पों वाला फ़ॉर्म दिखाने का तरीका बताया गया है.

[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;
        }
    });
}

टेस्ट करना

अगर आपको अपने ऐप्लिकेशन में इंटिग्रेशन की जांच करनी है, तो अपने टेस्ट डिवाइस को प्रोग्राम के हिसाब से रजिस्टर करें. इसके लिए, यह तरीका अपनाएं. अपने ऐप्लिकेशन को रिलीज़ करने से पहले, इन टेस्ट डिवाइस आईडी को सेट करने वाले कोड को ज़रूर हटा दें.

  1. Update()पर कॉल करें.
  2. नीचे दिए गए उदाहरण से मिलते-जुलते मैसेज के लिए लॉग आउटपुट देखें. इसमें आपका डिवाइस आईडी और उसे टेस्ट डिवाइस के तौर पर जोड़ने का तरीका बताया गया है:

    Android

    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 पर सेट किया जा सके और उसे टेस्ट डिवाइस आईडी की सूची को पास किया जा सके.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 टूल की मदद से, ऐप्लिकेशन के काम करने का तरीका टेस्ट किया जा सकता है. इससे यह समझने में मदद मिलती है कि the DebugGeography field on ConsentDebugSettingsका इस्तेमाल करके, डिवाइस ईईए या यूके में मौजूद है या नहीं. ध्यान दें कि डीबग सेटिंग सिर्फ़ टेस्ट डिवाइसों पर काम करती हैं.

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