Google User Messaging Platform (UMP) SDK, निजता और मैसेज सेवा से जुड़ा एक टूल है. इससे आपको निजता के विकल्प मैनेज करने में मदद मिलती है. ज़्यादा जानकारी के लिए, निजता और मैसेज सेवा के बारे में जानकारी लेख पढ़ें. UMP के सैंपल ऐप्लिकेशन में, UMP SDK टूल के साथ काम करने वाले IMA को लागू करने का तरीका देखा जा सकता है.
ज़रूरी शर्तें
- Android का एपीआई लेवल 21 या इसके बाद का वर्शन
मैसेज टाइप बनाना
अपने Ad Manager खाते के निजता और मैसेज सेवा टैब में जाकर, उपयोगकर्ता मैसेज के उपलब्ध टाइप में से किसी एक का इस्तेमाल करके, उपयोगकर्ता मैसेज बनाएं. UMP SDK, आपके प्रोजेक्ट में सेट किए गए Interactive Media Ads ऐप्लिकेशन आईडी से बनाए गए निजता मैसेज को दिखाने की कोशिश करता है.
ज़्यादा जानकारी के लिए, निजता और मैसेज सेवा के बारे में जानकारी लेख पढ़ें.
Gradle की मदद से इंस्टॉल करना
अपने मॉड्यूल के ऐप्लिकेशन-लेवल की Gradle फ़ाइल में, Google User Messaging Platform SDK (UMP SDK) के लिए डिपेंडेंसी जोड़ें. आम तौर पर, यह app/build.gradle
होती है:
dependencies {
implementation("com.google.android.ump:user-messaging-platform:3.1.0")
}
अपने ऐप्लिकेशन के build.gradle
में बदलाव करने के बाद, अपने प्रोजेक्ट को Gradle फ़ाइलों के साथ सिंक करना न भूलें.
ऐप्लिकेशन आईडी जोड़ना
ऐप्लिकेशन आईडी, Ad Manager यूज़र इंटरफ़ेस (यूआई) में देखा जा सकता है.
इस कोड स्निपेट का इस्तेमाल करके, अपने 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 is complete.
}
निजता के विकल्प
निजता से जुड़े कुछ मैसेज फ़ॉर्म, पब्लिशर के रेंडर किए गए निजता विकल्पों के एंट्री पॉइंट से दिखाए जाते हैं. इससे उपयोगकर्ता, किसी भी समय निजता विकल्पों को मैनेज कर पाते हैं. निजता विकल्पों के एंट्री पॉइंट पर, आपके उपयोगकर्ताओं को कौनसा मैसेज दिखता है, इस बारे में ज़्यादा जानने के लिए, उपयोगकर्ताओं के लिए उपलब्ध मैसेज टाइप देखें.
देखें कि निजता विकल्पों का एंट्री पॉइंट ज़रूरी है या नहीं
requestConsentInfoUpdate()
को कॉल करने के बाद,
getPrivacyOptionsRequirementStatus()
की जांच करें. इससे यह पता चलेगा कि आपके ऐप्लिकेशन के लिए, निजता के विकल्पों वाला एंट्री पॉइंट ज़रूरी है या नहीं. अगर एंट्री पॉइंट ज़रूरी है, तो अपने ऐप्लिकेशन में दिखने वाला और इंटरैक्ट किया जा सकने वाला यूज़र इंटरफ़ेस (यूआई) एलिमेंट जोड़ें. इससे निजता के विकल्पों वाला फ़ॉर्म दिखेगा. अगर निजता एंट्री पॉइंट की ज़रूरत नहीं है, तो अपने यूज़र इंटरफ़ेस (यूआई) एलिमेंट को इस तरह कॉन्फ़िगर करें कि वह दिखे नहीं और उसके साथ इंटरैक्ट न किया जा सके.
Java
/** Helper function to determine if a privacy options entry point 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
मिल सकता है. उदाहरण के लिए, बूलियन वैरिएबल के साथ.
टेस्ट करना
अगर आपको डेवलपमेंट के दौरान अपने ऐप्लिकेशन में इंटिग्रेशन की जांच करनी है, तो प्रोग्राम के हिसाब से अपने टेस्ट डिवाइस को रजिस्टर करने के लिए, यह तरीका अपनाएं. अपने ऐप्लिकेशन को रिलीज़ करने से पहले, टेस्ट डिवाइस के आईडी सेट करने वाले कोड को हटाना न भूलें.
requestConsentInfoUpdate()
पर कॉल करें.नीचे दिए गए उदाहरण की तरह दिखने वाले मैसेज के लिए, लॉग आउटपुट देखें. इसमें आपका डिवाइस आईडी और उसे टेस्ट डिवाइस के तौर पर जोड़ने का तरीका बताया गया है:
Use new ConsentDebugSettings.Builder().addTestDeviceHashedId("33BE2250B43518CCDA7DE426D04EE231") to set this as a debug device.
अपने टेस्ट डिवाइस का आईडी क्लिपबोर्ड पर कॉपी करें.
अपने कोड में बदलाव करके,
ConsentDebugSettings.Builder().addTestDeviceHashedId()
को कॉल करें और अपने टेस्ट डिवाइस आईडी की सूची पास करें.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 टूल, DebugGeography का इस्तेमाल करके, आपके ऐप्लिकेशन के व्यवहार को इस तरह से टेस्ट करने का तरीका उपलब्ध कराता है जैसे कि डिवाइस अलग-अलग क्षेत्रों में मौजूद हो. जैसे, ईईए या यूके. ध्यान दें कि डीबग सेटिंग सिर्फ़ टेस्ट डिवाइसों पर काम करती हैं.
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 टूल के इंटिग्रेशन का पूरा उदाहरण, UmpExample में देखें.