UMP SDK टूल सेट अप करना

प्लैटफ़ॉर्म चुनें: Android नई सुविधा Android iOS Unity Flutter

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

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

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

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

एसडीके टूल इंपोर्ट करना

CocoaPods (पसंदीदा)

iOS प्रोजेक्ट में एसडीके टूल इंपोर्ट करने का सबसे आसान तरीका, CocoaPods का इस्तेमाल करना है. अपने प्रोजेक्ट का Podfile खोलें और अपने ऐप्लिकेशन के टारगेट में यह लाइन जोड़ें:

pod 'GoogleUserMessagingPlatform'

इसके बाद, यह कमांड चलाएं:

pod install --repo-update

अगर आपने CocoaPods का इस्तेमाल पहले कभी नहीं किया है, तो Podfile बनाने और इस्तेमाल करने के बारे में जानने के लिए, CocoaPods का इस्तेमाल करना लेख पढ़ें.

Swift Package Manager

UMP SDK टूल, Swift Package Manager के साथ भी काम करता है. Swift पैकेज इंपोर्ट करने के लिए, यह तरीका अपनाएं.

  1. Xcode में, फ़ाइल > पैकेज जोड़ें... पर जाकर, UMP SDK Swift पैकेज इंस्टॉल करें.

  2. दिखने वाले प्रॉम्प्ट में, UMP SDK Swift पैकेज के GitHub रिपॉज़िटरी को खोजें:

    https://github.com/googleads/swift-package-manager-google-user-messaging-platform.git
    
  3. UMP SDK Swift पैकेज का वह वर्शन चुनें जिसका आपको इस्तेमाल करना है. नए प्रोजेक्ट के लिए, हमारा सुझाव है कि अगले बड़े वर्शन तक का इस्तेमाल करें.

इसके बाद, Xcode आपके पैकेज की डिपेंडेंसी से जुड़ी समस्या को हल करेगा और उन्हें बैकग्राउंड में डाउनलोड करेगा. पैकेज की डिपेंडेंसी जोड़ने के बारे में ज़्यादा जानने के लिए, Apple's लेख पढ़ें.

मैन्युअल तरीके से डाउनलोड करना

एसडीके टूल को इंपोर्ट करने का दूसरा तरीका, इसे मैन्युअल तरीके से डाउनलोड करना है.

एसडीके टूल डाउनलोड करें

इसके बाद, फ़्रेमवर्क को अपने Xcode प्रोजेक्ट में खींचें. साथ ही, पक्का करें कि आपने ज़रूरत पड़ने पर आइटम कॉपी करें को चुना हो.

इसके बाद, इस फ़्रेमवर्क को अपनी ज़रूरत के हिसाब से किसी भी फ़ाइल में शामिल किया जा सकता है. इसके लिए, यह तरीका अपनाएं:

Swift

import UserMessagingPlatform

Objective-C

#include <UserMessagingPlatform/UserMessagingPlatform.h>

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

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

<key>GADApplicationIdentifier</key>
<string>ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy</string>

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

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

Swift


// Requesting an update to consent information should be called on every app launch.
ConsentInformation.shared.requestConsentInfoUpdate(with: parameters) {
  requestConsentError in
  // ...
}

SwiftUI


// Requesting an update to consent information should be called on every app launch.
ConsentInformation.shared.requestConsentInfoUpdate(with: parameters) {
  requestConsentError in
  // ...
}

Objective-C


// Requesting an update to consent information should be called on every app launch.
[UMPConsentInformation.sharedInstance
    requestConsentInfoUpdateWithParameters:parameters
                         completionHandler:^(NSError *_Nullable requestConsentError) {
                           // ...
                         }];

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

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

Swift


try await ConsentForm.loadAndPresentIfRequired(from: viewController)

SwiftUI


try await ConsentForm.loadAndPresentIfRequired(from: nil)

Objective-C


[UMPConsentForm
    loadAndPresentIfRequiredFromViewController:viewController
                             completionHandler:^(NSError *_Nullable loadAndPresentError) {
                                 // Consent gathering process is complete.
                                }];

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

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

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

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

Swift


var isPrivacyOptionsRequired: Bool {
  return ConsentInformation.shared.privacyOptionsRequirementStatus == .required
}

Objective-C


- (BOOL)isPrivacyOptionsRequired {
  return UMPConsentInformation.sharedInstance.privacyOptionsRequirementStatus ==
         UMPPrivacyOptionsRequirementStatusRequired;
}

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

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

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

Swift


try await ConsentForm.presentPrivacyOptionsForm(from: viewController)

SwiftUI


try await ConsentForm.presentPrivacyOptionsForm(from: nil)

Objective-C


[UMPConsentForm presentPrivacyOptionsFormFromViewController:viewController
                                          completionHandler:completionHandler];

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

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

Swift

ConsentInformation.shared.canRequestAds

Objective-C

UMPConsentInformation.sharedInstance.canRequestAds;

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

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

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

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

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

टेस्ट करना

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

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

    <UMP SDK>To enable debug mode for this device, set: UMPDebugSettings.testDeviceIdentifiers = @[2077ef9a63d2b398840261c8221a0c9b]
    
  3. अपने टेस्ट डिवाइस आईडी को क्लिपबोर्ड पर कॉपी करें.

  4. अपने कोड में बदलाव करें ताकि UMPDebugSettings().testDeviceIdentifiers को कॉल किया जा सके और अपने टेस्ट डिवाइस आईडी की सूची पास की जा सके.

    Swift

    let parameters = RequestParameters()
    let debugSettings = DebugSettings()
    
    debugSettings.testDeviceIdentifiers = ["TEST-DEVICE-HASHED-ID"]
    parameters.debugSettings = debugSettings
    
    // Include the UMPRequestParameters in your consent request.
    ConsentInformation.shared.requestConsentInfoUpdate(
        with: parameters,
        completionHandler: { error in
          // ...
        })
    

    Objective-C

    UMPRequestParameters *parameters = [[UMPRequestParameters alloc] init];
    UMPDebugSettings *debugSettings = [[UMPDebugSettings alloc] init];
    
    debugSettings.testDeviceIdentifiers = @[ @"TEST-DEVICE-HASHED-ID" ];
    parameters.debugSettings = debugSettings;
    
    // Include the UMPRequestParameters in your consent request.
    [UMPConsentInformation.sharedInstance
        requestConsentInfoUpdateWithParameters:parameters
                            completionHandler:^(NSError *_Nullable error){
                              // ...
    }];
    

किसी जगह या इलाके को फ़ोर्स करना

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

Swift

let parameters = RequestParameters()
let debugSettings = DebugSettings()

debugSettings.testDeviceIdentifiers = ["TEST-DEVICE-HASHED-ID"]
debugSettings.geography = .EEA
parameters.debugSettings = debugSettings

// Include the UMPRequestParameters in your consent request.
ConsentInformation.shared.requestConsentInfoUpdate(
    with: parameters,
    completionHandler: { error in
      // ...
    })

Objective-C

UMPRequestParameters *parameters = [[UMPRequestParameters alloc] init];
UMPDebugSettings *debugSettings = [[UMPDebugSettings alloc] init];

debugSettings.testDeviceIdentifiers = @[ @"TEST-DEVICE-HASHED-ID" ];
debugSettings.geography = UMPDebugGeographyEEA;
parameters.debugSettings = debugSettings;

// Include the UMPRequestParameters in your consent request.
[UMPConsentInformation.sharedInstance
    requestConsentInfoUpdateWithParameters:parameters
                         completionHandler:^(NSError *_Nullable error){
                           // ...
}];

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

Swift

ConsentInformation.shared.reset()

Objective-C

[UMPConsentInformation.sharedInstance reset];

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

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