आरंभ करें

Google User Messaging Platform (UMP) SDK टूल, निजता और मैसेज सेवा के लिए एक टूल है. इससे आपको निजता के विकल्प मैनेज करने में मदद मिलती है. ज़्यादा जानकारी के लिए, निजता और मैसेज सेवा के बारे में जानकारी देखें.

मैसेज टाइप बनाना

अपने AdMob खाते के निजता और मैसेज सेवा टैब में जाकर, उपयोगकर्ताओं के लिए उपलब्ध मैसेज टाइप में से किसी एक का इस्तेमाल करके, उपयोगकर्ता मैसेज बनाएं. UMP SDK टूल, आपके प्रोजेक्ट में सेट किए गए AdMob ऐप्लिकेशन आईडी से बनाया गया निजता मैसेज दिखाने की कोशिश करता है.

ज़्यादा जानकारी के लिए, निजता और मैसेज सेवा के बारे में जानकारी देखें.

सहमति लेने के लिए, नीचे दिया गया तरीका अपनाएं:

  1. उपयोगकर्ता की हाल ही की सहमति की जानकारी का अनुरोध.
  2. अगर ज़रूरी हो, तो सहमति फ़ॉर्म लोड करें और उसे लोगों को दिखाएं.

आपको हर ऐप्लिकेशन लॉन्च के समय, requestConsentInfoUpdate() का इस्तेमाल करके उपयोगकर्ता की सहमति से जुड़ी जानकारी अपडेट करने का अनुरोध करना चाहिए. इस अनुरोध में इन चीज़ों की जांच की जाती है:

  • सहमति ज़रूरी है या नहीं. उदाहरण के लिए, पहली बार सहमति लेना ज़रूरी है या सहमति के लिए दिए गए पिछले फ़ैसले की समयसीमा खत्म हो गई है.
  • क्या निजता विकल्पों के एंट्री पॉइंट की ज़रूरत है. निजता से जुड़े कुछ मैसेज दिखाने के लिए, ऐप्लिकेशन को यह ज़रूरी है कि वे उपयोगकर्ताओं को निजता के विकल्पों में किसी भी समय बदलाव करने की अनुमति दें.

अगर ज़रूरी हो, तो निजता से जुड़ा मैसेज फ़ॉर्म लोड करें और उसे प्रज़ेंट करें

सहमति का सबसे अप-टू-डेट स्टेटस मिलने के बाद, उपयोगकर्ता की सहमति इकट्ठा करने के लिए ज़रूरी फ़ॉर्म लोड करने के लिए, loadAndShowConsentFormIfRequired() को कॉल करें. लोड होने के बाद, फ़ॉर्म तुरंत दिखने लगते हैं.

नीचे दिए गए कोड में, उपयोगकर्ता की सहमति से जुड़ी नई जानकारी का अनुरोध करने का तरीका बताया गया है. अगर ज़रूरी हो, तो कोड लोड होता है और निजता मैसेज फ़ॉर्म दिखाता है:

@override
void initState() {
  super.initState();

  // Create a ConsentRequestParameters object.
  final params = ConsentRequestParameters();

  // Request an update to consent information on every app launch.
  ConsentInformation.instance.requestConsentInfoUpdate(
    params,
    () async {
      ConsentForm.loadAndShowConsentFormIfRequired((loadAndShowError) {
        if (loadAndShowError != null) {
          // Consent gathering failed.
        }

        // Consent has been gathered.
      });
    },
    (FormError error) {
      // Handle the error.
    },
  );
}

निजता के विकल्प

निजता से जुड़े कुछ मैसेज फ़ॉर्म, पब्लिशर के रेंडर किए गए निजता विकल्पों के एंट्री पॉइंट से दिखाए जाते हैं. इससे उपयोगकर्ता, निजता के विकल्पों को कभी भी मैनेज कर सकते हैं. इस बारे में ज़्यादा जानने के लिए कि निजता के विकल्पों के एंट्री पॉइंट पर, आपके उपयोगकर्ताओं को कौनसा मैसेज दिखता है, उपयोगकर्ताओं के लिए उपलब्ध मैसेज टाइप देखें.

देखें कि निजता विकल्पों के एंट्री पॉइंट की ज़रूरत है या नहीं

requestConsentInfoUpdate() को कॉल करने के बाद, getPrivacyOptionsRequirementStatus() को देखकर यह तय करें कि आपके ऐप्लिकेशन के लिए, निजता विकल्प के एंट्री पॉइंट की ज़रूरत है या नहीं:

/// Helper variable to determine if the privacy options entry point is required.
Future<bool> isPrivacyOptionsRequired() async {
  return await ConsentInformation.instance
      .getPrivacyOptionsRequirementStatus() ==
      PrivacyOptionsRequirementStatus.required;
}

अपने ऐप्लिकेशन में कोई दिखने वाला एलिमेंट जोड़ना

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

ConsentInformation.instance.requestConsentInfoUpdate(
  params,
  () async {
    ConsentForm.loadAndShowConsentFormIfRequired((loadAndShowError) {
      if (loadAndShowError != null) {
        // Consent gathering failed.
      }

      // Consent has been gathered.

      // Redraw the app bar actions if a privacy options entry point is required.
      if (await isPrivacyOptionsRequired()) {
        setState(() {
          _isPrivacyOptionsRequired = true;
        });
      }
    });
  },
  // ...

निजता के विकल्पों का फ़ॉर्म दिखाना

जब उपयोगकर्ता आपके एलिमेंट से इंटरैक्ट करता है, तो निजता के विकल्पों वाला फ़ॉर्म दिखाएं:

ConsentForm.showPrivacyOptionsForm((formError) {
  if (formError != null) {
    debugPrint("${formError.errorCode}: ${formError.message}");
  }
});

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

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

  • मौजूदा सेशन में सहमति लेने के बाद.
  • आपके requestConsentInfoUpdate() कॉल करने के तुरंत बाद. ऐसा हो सकता है कि पिछले सेशन में सहमति मिल गई हो. हमारा सुझाव है कि आप कॉलबैक के पूरा होने का इंतज़ार न करें. यह इंतज़ार करने का सबसे अच्छा तरीका है, ताकि आपके ऐप्लिकेशन के लॉन्च होने के बाद, विज्ञापन जल्द से जल्द लोड होने लगें.
को कॉल नहीं किया जाता

अगर सहमति इकट्ठा करने की प्रोसेस के दौरान कोई गड़बड़ी होती है, तो आपको अब भी जांच करनी चाहिए कि विज्ञापनों का अनुरोध किया जा सकता है या नहीं. UMP SDK टूल, पिछले सेशन की सहमति की स्थिति का इस्तेमाल करता है.

यहां दिया गया कोड यह जांच करता है कि सहमति इकट्ठा करने की प्रोसेस के दौरान विज्ञापनों का अनुरोध किया जा सकता है या नहीं:

ConsentInformation.instance.requestConsentInfoUpdate(
  params,
  () async {
    ConsentForm.loadAndShowConsentFormIfRequired((loadAndShowError) {
      if (loadAndShowError != null) {
        // Consent gathering failed.
      }

      // Consent has been gathered.
      if (await ConsentInformation.instance.canRequestAds()) {
        _initializeGoogleMobileAdsSDK()
      }
      // ...
    });
  },
  (FormError error) {},
);

// Check if you can initialize the Mobile Ads SDK in parallel while
// checking for new consent information. Consent obtained in the
// previous session can be used to request ads.
if (await ConsentInformation.instance.canRequestAds()) {
  _initializeGoogleMobileAdsSDK()
}

उपयोगकर्ता की सहमति मिलने के बाद, यह कोड Google Mobile Ads SDK टूल को सेट अप करता है:

void _initializeGoogleMobileAdsSDK() async {
  if (_isMobileAdsInitializeCalled) {
    return;
  }

  _isMobileAdsInitializeCalled = true;

  // Initialize the Mobile Ads SDK.
  MobileAds.instance.initialize();

  // Load an ad.
  _loadAd();
}

टेस्ट करना

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

  1. requestConsentInfoUpdate() पर कॉल करें.
  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. अपने कोड में बदलाव करके, ConsentDebugSettings.testIdentifiers को कॉल करें और अपने टेस्ट डिवाइस आईडी की सूची डालें.

    ConsentDebugSettings debugSettings = ConsentDebugSettings(
      testIdentifiers: ["TEST-DEVICE-HASHED-ID"],
    );
    
    ConsentRequestParameters params =
        ConsentRequestParameters(consentDebugSettings: debugSettings);
    
    ConsentInformation.instance.requestConsentInfoUpdate(params, () async {
      // ...
    };
    

किसी देश या इलाके के लिए ज़रूरी शर्तें तय करना

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

ConsentDebugSettings debugSettings = ConsentDebugSettings(
  debugGeography: DebugGeography.debugGeographyEea,
  testIdentifiers: ["TEST-DEVICE-HASHED-ID"],
);

ConsentRequestParameters params =
    ConsentRequestParameters(consentDebugSettings: debugSettings);

ConsentInformation.instance.requestConsentInfoUpdate(params, () async {
  // ...
};

UMP SDK टूल से अपने ऐप्लिकेशन की जांच करते समय, SDK टूल की स्थिति को रीसेट करने से आपको मदद मिल सकती है. इससे, उपयोगकर्ता के पहली बार इंस्टॉल करने के अनुभव को सिम्युलेट किया जा सकता है. SDK टूल, ऐसा करने के लिए reset() तरीका उपलब्ध कराता है.

ConsentInformation.instance.reset();

GitHub पर मौजूद उदाहरण

हमारे Flutter के उदाहरणों में, इस पेज पर बताए गए UMP SDK टूल के इंटिग्रेशन का पूरा उदाहरण देखें.