शुरू करना

प्लैटफ़ॉर्म चुनें: Android iOS Unity Flutter

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

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

  • Android का एपीआई लेवल 21 या इसके बाद का वर्शन

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

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

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

Gradle की मदद से इंस्टॉल करना

अपने मॉड्यूल की ऐप्लिकेशन-लेवल की Gradle फ़ाइल में, Google User Messaging Platform SDK के लिए डिपेंडेंसी जोड़ें. आम तौर पर, यह app/build.gradle होती है:

dependencies {
  implementation("com.google.android.ump:user-messaging-platform:3.1.0")
}

अपने ऐप्लिकेशन के build.gradle में बदलाव करने के बाद, अपने प्रोजेक्ट को Gradle फ़ाइलों के साथ सिंक करना न भूलें.

ऐप्लिकेशन आईडी जोड़ना

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

<manifest>
  <application>
    <meta-data
        android:name="com.google.android.gms.ads.APPLICATION_ID"
        android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
  </application>
</manifest>

उपयोगकर्ता की सहमति की जानकारी पाने के लिए, यह तरीका अपनाएं:

ConsentInformation का कोई इंस्टेंस घोषित करें:

Java

private final ConsentInformation consentInformation;

Kotlin

private lateinit val consentInformation: ConsentInformation

ConsentInformation इंस्टेंस शुरू करें:

Java

consentInformation = UserMessagingPlatform.getConsentInformation(context);

Kotlin

consentInformation = UserMessagingPlatform.getConsentInformation(context)

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

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

Java


// Requesting an update to consent information should be called on every app launch.
consentInformation.requestConsentInfoUpdate(
    activity,
    params,
    () -> // Called when consent information is successfully updated.
    requestConsentError -> // Called when there's an error updating consent information.

Kotlin


// Requesting an update to consent information should be called on every app launch.
consentInformation.requestConsentInfoUpdate(
  activity,
  params,
  {
    // Called when consent information is successfully updated.
  },
  { requestConsentError ->
    // Called when there's an error updating consent information.
  },
)

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

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

Java


UserMessagingPlatform.loadAndShowConsentFormIfRequired(
    activity,
    formError -> {
      // Consent gathering process is complete.
    });

Kotlin


UserMessagingPlatform.loadAndShowConsentFormIfRequired(activity) { formError ->
  // Consent gathering process is complete.
}

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

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

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

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

Java


/** Helper variable to determine if the privacy options form is required. */
public boolean isPrivacyOptionsRequired() {
  return consentInformation.getPrivacyOptionsRequirementStatus()
      == PrivacyOptionsRequirementStatus.REQUIRED;
}

Kotlin


/** Helper variable to determine if the privacy options form is required. */
val isPrivacyOptionsRequired: Boolean
  get() =
    consentInformation.privacyOptionsRequirementStatus ==
      ConsentInformation.PrivacyOptionsRequirementStatus.REQUIRED

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

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

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

Java


UserMessagingPlatform.showPrivacyOptionsForm(activity, onConsentFormDismissedListener);

Kotlin


UserMessagingPlatform.showPrivacyOptionsForm(activity, onConsentFormDismissedListener)

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

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

Java

consentInformation.canRequestAds();

Kotlin

consentInformation.canRequestAds()

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

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

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

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

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

टेस्ट करना

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

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

    Use new ConsentDebugSettings.Builder().addTestDeviceHashedId("33BE2250B43518CCDA7DE426D04EE231") to set this as a debug device.
    
  3. अपने टेस्ट डिवाइस का आईडी क्लिपबोर्ड पर कॉपी करें.

  4. अपने कोड में बदलाव करके, ConsentDebugSettings.Builder().TestDeviceHashedIds को कॉल करें और अपने टेस्ट डिवाइस आईडी की सूची पास करें.

    Java

    ConsentDebugSettings debugSettings = new ConsentDebugSettings.Builder(this)
        .addTestDeviceHashedId("TEST-DEVICE-HASHED-ID")
        .build();
    
    ConsentRequestParameters params = new ConsentRequestParameters
        .Builder()
        .setConsentDebugSettings(debugSettings)
        .build();
    
    consentInformation = UserMessagingPlatform.getConsentInformation(this);
    // Include the ConsentRequestParameters in your consent request.
    consentInformation.requestConsentInfoUpdate(
        this,
        params,
        // ...
    );
    

    Kotlin

    val debugSettings = ConsentDebugSettings.Builder(this)
        .addTestDeviceHashedId("TEST-DEVICE-HASHED-ID")
        .build()
    
    val params = ConsentRequestParameters
        .Builder()
        .setConsentDebugSettings(debugSettings)
        .build()
    
    consentInformation = UserMessagingPlatform.getConsentInformation(this)
    // Include the ConsentRequestParameters in your consent request.
    consentInformation.requestConsentInfoUpdate(
        this,
        params,
        // ...
    )
    

किसी देश या इलाके को टारगेट करना

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

Java

ConsentDebugSettings debugSettings = new ConsentDebugSettings.Builder(this)
    .setDebugGeography(ConsentDebugSettings.DebugGeography.DEBUG_GEOGRAPHY_EEA)
    .addTestDeviceHashedId("TEST-DEVICE-HASHED-ID")
    .build();

ConsentRequestParameters params = new ConsentRequestParameters
    .Builder()
    .setConsentDebugSettings(debugSettings)
    .build();

consentInformation = UserMessagingPlatform.getConsentInformation(this);
// Include the ConsentRequestParameters in your consent request.
consentInformation.requestConsentInfoUpdate(
    this,
    params,
    ...
);

Kotlin

val debugSettings = ConsentDebugSettings.Builder(this)
    .setDebugGeography(ConsentDebugSettings.DebugGeography.DEBUG_GEOGRAPHY_EEA)
    .addTestDeviceHashedId("TEST-DEVICE-HASHED-ID")
    .build()

val params = ConsentRequestParameters
    .Builder()
    .setConsentDebugSettings(debugSettings)
    .build()

consentInformation = UserMessagingPlatform.getConsentInformation(this)
// Include the ConsentRequestParameters in your consent request.
consentInformation.requestConsentInfoUpdate(
    this,
    params,
    ...
)

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

Java

consentInformation.reset();

Kotlin

consentInformation.reset()

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

इस पेज पर दिए गए UMP SDK टूल के इंटिग्रेशन का पूरा उदाहरण, यहां देखें: Java BannerExample और Kotlin BannerExample.