शुरू करें

यह गाइड उन पब्लिशर के लिए है जो AdMob की मदद से, iOS ऐप्लिकेशन से कमाई करना चाहते हैं और Firebase का इस्तेमाल नहीं कर रहे हैं. अगर आपको अपने ऐप्लिकेशन में Firebase को शामिल करना हो (या अगर आपके पास इस बारे में सोचना है), तो Firebase के साथ AdMob इस गाइड का वर्शन चुनें.

Google Mobile Ads SDK को किसी ऐप्लिकेशन में इंटिग्रेट करना, आपके लिए सबसे पहले विज्ञापन दिखाकर और कमाई करने में मदद करता है. SDK टूल को इंटिग्रेट करने के बाद, ये काम किए जा सकते हैं एक या उससे ज़्यादा यूआरएल के लिए का इस्तेमाल किया जा सकता है.

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

  • Xcode 15.3 या इसके बाद के वर्शन का इस्तेमाल करना
  • iOS 12.0 या इसके बाद के वर्शन को टारगेट करें

मोबाइल विज्ञापन SDK टूल इंपोर्ट करें

Google Mobile Ads SDK को इंपोर्ट करने के लिए, इनमें से किसी एक तरीके का इस्तेमाल करें.

CocoaPods (पसंदीदा)

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

pod 'Google-Mobile-Ads-SDK'

फिर कमांड लाइन से चलाएं:

pod install --repo-update

अगर आपने CocoaPods का पहले कभी इस्तेमाल नहीं किया है, तो जानकारी के लिए आधिकारिक दस्तावेज़ पॉडफ़ाइल बनाने और उन्हें इस्तेमाल करने का तरीका जानें.

Swift पैकेज मैनेजर

Google Mobile Ads SDK, Swift Package के साथ काम करता है मैनेजर का वर्शन 9.0.0. इन्हें फ़ॉलो करें Swift पैकेज इंपोर्ट करने का तरीका:

  1. Xcode में, Google Mobile Ads Swift पैकेज इंस्टॉल करने के लिए, फ़ाइल > पैकेज जोड़ें... पर जाएं.

  2. स्क्रीन पर दिखने वाले प्रॉम्प्ट में, Google Mobile Ads Swift पैकेज खोजें GitHub डेटा स्टोर करने की जगह:

    https://github.com/googleads/swift-package-manager-google-mobile-ads.git
    
  3. Google Mobile Ads Swift Package का वह वर्शन चुनें जिसका इस्तेमाल करना है. नए प्रोजेक्ट के लिए, हमारा सुझाव है कि आप अगले मेजर वर्शन तक का इस्तेमाल करें.

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

मैन्युअल डाउनलोड

  1. Google Mobile Ads SDK डाउनलोड करें और Embed & Sign अपने Xcode प्रोजेक्ट में ये फ़्रेमवर्क देखें:

    • GoogleMobileAds.xcframework
    • UserMessagingPlatform.xcframework
  2. अपने प्रोजेक्ट की बिल्ड सेटिंग में:

    • रनपाथ खोज पाथ के लिए /usr/lib/swift पाथ जोड़ें.
    • -ObjC लिंकर फ़्लैग को अन्य लिंकर फ़्लैग में जोड़ें.

अपनी Info.plist अपडेट करें

दो कुंजियां जोड़ने के लिए, अपने ऐप्लिकेशन की Info.plist फ़ाइल अपडेट करें:

  1. आपकी स्ट्रिंग वैल्यू के साथ GADApplicationIdentifier कुंजी AdMob app ID found in the AdMob UI.

  2. Google के लिए SKAdNetworkIdentifier वैल्यू वाली SKAdNetworkItems कुंजी (cstr6suwn9.skadnetwork) और तीसरे पक्ष के खरीदारों को चुनें जिन्होंने Google को ये वैल्यू उपलब्ध कराई हैं.

पूरा स्निपेट

<key>GADApplicationIdentifier</key>
<string>ca-app-pub-3940256099942544~1458002511</string>
<key>SKAdNetworkItems</key>
<array>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>cstr6suwn9.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>4fzdc2evr5.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>2fnua5tdw4.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>ydx93a7ass.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>p78axxw29g.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>v72qych5uu.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>ludvb6z3bs.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>cp8zw746q7.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>3sh42y64q3.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>c6k4g5qg8m.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>s39g8k73mm.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>3qy4746246.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>hs6bdukanm.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>mlmmfzh3r3.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>v4nxqhlyqp.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>wzmmz9fp6w.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>su67r6k2v3.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>yclnxrl5pm.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>7ug5zh24hu.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>gta9lk7p23.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>vutu7akeur.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>y5ghdn5j9k.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>v9wttpbfk9.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>n38lu8286q.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>47vhws6wlr.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>kbd757ywx3.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>9t245vhmpl.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>a2p9lx4jpn.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>22mmun2rn5.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>4468km3ulz.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>2u9pt9hc89.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>8s468mfl3y.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>ppxm28t8ap.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>uw77j35x4d.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>pwa73g5rt2.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>578prtvx9j.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>4dzt52r2t5.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>Tl55sbb4fm.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>e5fvkxwrpn.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>8c4e2ghe7u.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>3rd42ekr43.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>3qcr597p9d.skadnetwork</string>
  </dict>
</array>

अगर आपने AdMob नहीं बनाया है खाते और एक खाते को ऐप चुनना है, यह सही समय है ऐसा किया जा सकता है.

किसी असल ऐप्लिकेशन में, सैंपल ऐप्लिकेशन आईडी को अपने असल डेटा से बदलें AdMob ऐप्लिकेशन आईडी. अगर आपको सिर्फ़ Hello World ऐप्लिकेशन में SDK टूल के साथ एक्सपेरिमेंट करना है, तो सैंपल आईडी का इस्तेमाल किया जा सकता है.

Mobile Ads SDK शुरू करें

विज्ञापन लोड करने से पहले, GADMobileAds.sharedInstance पर startWithCompletionHandler: तरीका लागू करें. इससे SDK टूल शुरू हो जाता है और शुरू होने के बाद या 30 सेकंड के टाइम आउट के बाद, यह पूरा होने पर कॉलबैक करने वाले हैंडलर को कॉल करता है. इसे सिर्फ़ एक बार किया जाना चाहिए, खास तौर पर ऐप्लिकेशन लॉन्च के समय. आपको startWithCompletionHandler: को कॉल करना चाहिए जल्द से जल्द.

यहां AppDelegate में startWithCompletionHandler: तरीके को कॉल करने का उदाहरण दिया गया है:

AppDelegate का उदाहरण (उद्धरण)

Swift

import GoogleMobileAds

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

  func application(_ application: UIApplication,
      didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

    GADMobileAds.sharedInstance().start(completionHandler: nil)

    return true
  }
}

SwiftUI

import GoogleMobileAds

class AppDelegate: UIResponder, UIApplicationDelegate {

  func application(_ application: UIApplication,
      didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

    GADMobileAds.sharedInstance().start(completionHandler: nil)

    return true
  }
}

@main
struct YourApp: App {
  // To handle app delegate callbacks in an app that uses the SwiftUI lifecycle,
  // you must create an application delegate and attach it to your `App` struct
  // using `UIApplicationDelegateAdaptor`.
  @UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate

  var body: some Scene {
    WindowGroup {
      NavigationView {
        ContentView()
      }
    }
  }
}

Objective-C

@import GoogleMobileAds;

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

  [GADMobileAds.sharedInstance startWithCompletionHandler:nil];
  return YES;
}

@end

कोई विज्ञापन फ़ॉर्मैट चुनें

मोबाइल विज्ञापन SDK टूल को अब इंपोर्ट करके, शुरू कर दिया गया है. अब आप ये काम करने के लिए तैयार हैं एक विज्ञापन लागू करें. AdMob कई ऑफ़र अलग-अलग विज्ञापन फ़ॉर्मैट की जानकारी देते हैं, ताकि आप अपने ऐप्लिकेशन के उपयोगकर्ता के हिसाब से सबसे सही विज्ञापन फ़ॉर्मैट चुन सकें अनुभव.

SwiftUI डेवलपर के लिए, हमारा SwiftUI फ़ॉलो करें गाइड देखें.

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

बैनर विज्ञापन लागू करना

मध्यवर्ती

इंटरस्टीशियल विज्ञापन यूनिट आपके ऐप्लिकेशन में पूरे पेज के विज्ञापन दिखाती हैं. उन्हें प्राकृतिक माहौल में रखें आपके ऐप्लिकेशन के इंटरफ़ेस में ब्रेक और ट्रांज़िशन दिखते हैं. जैसे, लेवल पूरा होने के बाद किसी गेमिंग ऐप्लिकेशन में.

अचानक दिखने वाले (इंटरस्टीशियल) विज्ञापन लागू करना

मूल भाषा वाला

नेटिव विज्ञापन ऐसे विज्ञापन होते हैं जिनमें आप अपने हिसाब से ऐसेट चुन सकते हैं, जैसे कि हेडलाइन और कॉल-टू-ऐक्शन आपके ऐप्लिकेशन में दिखते हैं. विज्ञापन को खुद स्टाइल करके, ऐसे विज्ञापन बनाए जा सकते हैं जो उपयोगकर्ताओं को परेशान किए बिना, स्वाभाविक तरीके से दिखें. इससे उपयोगकर्ताओं को बेहतर अनुभव मिलता है.

नेटिव विज्ञापन लागू करना

इनाम दिया गया

इनाम वाली विज्ञापन यूनिट की मदद से, उपयोगकर्ता गेम खेल सकते हैं, सर्वे में हिस्सा ले सकते हैं या वीडियो देख सकते हैं ऐप में इनाम, जैसे कि सिक्के, खेलने के कुछ और मौके या पॉइंट हासिल कर सकते हैं. आप सेट कर सकते हैं अलग-अलग विज्ञापन यूनिट के लिए अलग-अलग इनाम होते हैं. साथ ही, इनाम की वैल्यू और जो उपयोगकर्ता को मिले हैं.

इनाम वाले विज्ञापन लागू करना

इनाम वाले इंटरस्टीशियल विज्ञापन

इनाम वाले इंटरस्टीशियल विज्ञापन, नए तरह से तैयार किए गए विज्ञापन फ़ॉर्मैट हैं. इनकी मदद से, ऐप्लिकेशन में स्वाभाविक तौर पर हुए ट्रांज़िशन के दौरान दिखने वाले विज्ञापनों के लिए, सिक्के या खेलने के कुछ और मौके जैसे इनाम दिए जा सकते हैं.

इनाम वाले विज्ञापनों के उलट, उपयोगकर्ताओं को इनाम वाले विज्ञापन देखने के लिए ऑप्ट इन करना ज़रूरी नहीं होता पेज पर अचानक दिखने वाले विज्ञापन.

इनाम वाले विज्ञापनों में ऑप्ट-इन करने के प्रॉम्प्ट के बजाय, इनाम वाले इंटरस्टीशियल विज्ञापनों को इस्तेमाल करने के लिए परिचय स्क्रीन, इनाम के बारे में बताती है. साथ ही, लोगों को ऑप्ट आउट करने का मौका देती है, अगर वे ऐसा करना चाहते हैं.

इनाम वाले इंटरस्टीशियल विज्ञापन लागू करना

ऐप्लिकेशन खोलने पर दिखने वाला विज्ञापन

ऐप्लिकेशन खोलने पर दिखने वाला विज्ञापन एक ऐसा विज्ञापन फ़ॉर्मैट है जो तब दिखता है, जब उपयोगकर्ता आपके ऐप्लिकेशन को खोलते हैं या उस पर वापस स्विच करते हैं है. विज्ञापन, लोड होने वाली स्क्रीन को ओवरले कर लेता है.

ऐप्लिकेशन खोलने पर दिखने वाले विज्ञापन लागू करना