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

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

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

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

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

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

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

CocoaPods (इसे प्राथमिकता दी जाती है)

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

pod 'GoogleUserMessagingPlatform'

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

pod install --repo-update

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

Swift Package Manager

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

  1. Xcode में, UMP SDK Swift पैकेज इंस्टॉल करने के लिए, File > Add Packages... पर जाएं.

  2. इसके बाद, जो प्रॉम्प्ट दिखेगा उसमें UMP SDK Swift Package GitHub रिपॉज़िटरी खोजें:

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

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

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

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

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

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

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

Swift

import UserMessagingPlatform

Objective-C

#include <UserMessagingPlatform/UserMessagingPlatform.h>

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

Ad Manager के यूज़र इंटरफ़ेस (यूआई) में, अपना ऐप्लिकेशन आईडी देखा जा सकता है. इस कोड स्निपेट का इस्तेमाल करके, आईडी को अपने 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 का इस्तेमाल करके, यह मान लिया जाता है कि डिवाइस यूरोपियन इकनॉमिक एरिया (ईईए), यूनाइटेड किंगडम (यूके), और स्विट्ज़रलैंड जैसे अलग-अलग इलाकों में मौजूद है. ध्यान दें कि डीबग सेटिंग सिर्फ़ टेस्ट डिवाइसों पर काम करती हैं.

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 की मदद से अपने ऐप्लिकेशन की जांच करते समय, आपको SDK की स्थिति को रीसेट करना मददगार लग सकता है. इससे, उपयोगकर्ता के पहली बार ऐप्लिकेशन इंस्टॉल करने के अनुभव को सिम्युलेट किया जा सकता है. एसडीके, ऐसा करने के लिए reset तरीका उपलब्ध कराता है.

Swift

ConsentInformation.shared.reset()

Objective-C

[UMPConsentInformation.sharedInstance reset];

GitHub पर उदाहरण

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