शुरू करना

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

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

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

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

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

  • क्या सहमति लेना ज़रूरी है. उदाहरण के लिए, पहली बार सहमति लेना ज़रूरी है या सहमति के लिए दिए गए पिछले फ़ैसले की समयसीमा खत्म हो गई है.
  • क्या निजता विकल्पों के एंट्री पॉइंट की ज़रूरत है. निजता से जुड़े कुछ मैसेज दिखाने के लिए, ऐप्लिकेशन को यह ज़रूरी है कि वे उपयोगकर्ताओं को निजता के विकल्पों में किसी भी समय बदलाव करने की अनुमति दें.
@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 {
      // Called when consent information is successfully updated.
    },
    (FormError error) {
      // Called when there's an error updating consent information.
    },
  );
}

निजता से जुड़ा मैसेज फ़ॉर्म लोड करना और दिखाना

सहमति का सबसे अप-टू-डेट स्टेटस मिलने के बाद, उपयोगकर्ता की सहमति इकट्ठा करने के लिए ज़रूरी फ़ॉर्म लोड करने के लिए, 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;
}

निजता विकल्पों की ज़रूरी शर्तों की पूरी सूची के लिए, PrivacyOptionsRequirementStatus देखें.

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

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

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

उपयोगकर्ता की सहमति के साथ विज्ञापन दिखाने का अनुरोध करना

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

await ConsentInformation.instance.canRequestAds()

यहां कुछ जगहों के बारे में बताया गया है जहां यह देखा जा सकता है कि सहमति लेते समय, विज्ञापन दिखाने का अनुरोध किया जा सकता है या नहीं:

  • UMP SDK टूल, मौजूदा सेशन में सहमति लेने के बाद.
  • requestConsentInfoUpdate() को कॉल करने के तुरंत बाद. हो सकता है कि UMP SDK टूल ने, ऐप्लिकेशन के पिछले सेशन में सहमति ली हो.
को कॉल नहीं किया है

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

विज्ञापन अनुरोध से जुड़े काम को बार-बार करने से रोकना

सहमति लेने और requestConsentInfoUpdate() को कॉल करने के बाद, canRequestAds() की जांच करते समय पक्का करें कि आपका लॉजिक, विज्ञापन के लिए किए जाने वाले ऐसे अनुरोधों को रोकता हो जिनकी ज़रूरत नहीं है. इन अनुरोधों की वजह से, दोनों जांचों में true दिख सकता है. उदाहरण के लिए, किसी बूलियन वैरिएबल के साथ.

टेस्ट करना

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

  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 टूल के इंटिग्रेशन का पूरा उदाहरण देखें.