شروع کنید

این راهنما برای ناشرانی است که می‌خواهند از یک برنامه iOS با AdMob کسب درآمد کنند و از Firebase استفاده نمی‌کنند. اگر قصد دارید Firebase را در برنامه خود قرار دهید (یا در نظر دارید)، به جای آن به نسخه AdMob با Firebase این راهنما مراجعه کنید.

ادغام Google Mobile Ads SDK در یک برنامه اولین گام برای نمایش تبلیغات و کسب درآمد است. هنگامی که SDK را ادغام کردید، می توانید به اجرای یک یا چند فرمت تبلیغاتی پشتیبانی شده ادامه دهید.

پیش نیازها

  • از Xcode 15.3 یا بالاتر استفاده کنید
  • iOS 12.0 یا بالاتر را هدف قرار دهید

SDK تبلیغات موبایل را وارد کنید

از یکی از روش های زیر برای وارد کردن Google Mobile Ads SDK استفاده کنید.

CocoaPods (ترجیحا)

ساده ترین راه برای وارد کردن SDK به پروژه iOS استفاده از CocoaPods است. Podfile پروژه خود را باز کنید و این خط را به هدف برنامه خود اضافه کنید:

pod 'Google-Mobile-Ads-SDK'

سپس از خط فرمان اجرا کنید:

pod install --repo-update

اگر با CocoaPods تازه کار هستید، برای اطلاعات در مورد نحوه ایجاد و استفاده از Podfiles به اسناد رسمی آنها مراجعه کنید.

مدیر بسته سوئیفت

Google Mobile Ads SDK از Swift Package Manager با شروع نسخه 9.0.0 پشتیبانی می کند. برای وارد کردن بسته سوئیفت مراحل زیر را دنبال کنید:

  1. در Xcode، بسته Swift Google Mobile Ads را با رفتن به File > Add Packages... نصب کنید.

  2. در درخواستی که ظاهر می شود، مخزن GitHub بسته Swift Ads Google Mobile را جستجو کنید:

    https://github.com/googleads/swift-package-manager-google-mobile-ads.git
    
  3. نسخه بسته Swift Ads Google Mobile را که می‌خواهید استفاده کنید، انتخاب کنید. برای پروژه‌های جدید، توصیه می‌کنیم از نسخه اصلی تا بعدی استفاده کنید.

پس از اتمام کار، Xcode شروع به رفع وابستگی های بسته شما و دانلود آنها در پس زمینه می کند. برای جزئیات بیشتر در مورد نحوه افزودن وابستگی بسته، به مقاله Apple مراجعه کنید.

دانلود دستی

  1. Google Mobile Ads SDK را دانلود کنید و چارچوب‌های زیر را در پروژه Xcode خود Embed & Sign :

    • GoogleMobileAds.xcframework
    • UserMessagingPlatform.xcframework
  2. در تنظیمات ساخت پروژه شما:

    • مسیر /usr/lib/swift را به مسیرهای جستجوی Runpath اضافه کنید.
    • پرچم پیوند دهنده -ObjC را به سایر پرچم های پیوند دهنده اضافه کنید.

Info.plist خود را به روز کنید

فایل Info.plist برنامه خود را برای اضافه کردن دو کلید به روز کنید:

  1. یک کلید GADApplicationIdentifier با مقدار رشته شماAdMob app ID found in the AdMob UI.

  2. یک کلید SKAdNetworkItems با مقادیر SKAdNetworkIdentifier برای Google ( 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 شناسه برنامه اگر فقط در حال آزمایش SDK در یک برنامه Hello World هستید، می توانید از شناسه نمونه استفاده کنید.

SDK تبلیغات موبایل را راه اندازی کنید

قبل از بارگیری تبلیغات، متد startWithCompletionHandler: را در GADMobileAds.sharedInstance فراخوانی کنید، که SDK را مقداردهی اولیه می‌کند و پس از تکمیل اولیه (یا پس از مهلت زمانی 30 ثانیه‌ای)، یک کنترل‌کننده تکمیل را فراخوانی می‌کند. این کار فقط باید یک بار انجام شود، ایده آل در هنگام راه اندازی برنامه. باید هر چه زودتر با startWithCompletionHandler: تماس بگیرید.

در اینجا مثالی از نحوه فراخوانی متد startWithCompletionHandler: در AppDelegate آورده شده است:

نمونه AppDelegate (گزیده)

سویفت

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()
      }
    }
  }
}

هدف-C

@import GoogleMobileAds;

@implementation AppDelegate

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

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

@end

یک قالب تبلیغ را انتخاب کنید

اکنون SDK تبلیغات موبایل وارد و مقداردهی اولیه شده است و شما آماده اجرای یک تبلیغ هستید. AdMob فرمت‌های تبلیغاتی مختلفی را ارائه می‌دهد، بنابراین می‌توانید یکی را انتخاب کنید که با تجربه کاربری برنامه‌تان مطابقت دارد.

برای توسعه دهندگان SwiftUI، راهنمای SwiftUI ما را دنبال کنید.

واحدهای تبلیغات بنری، تبلیغات مستطیلی را نشان می دهند که بخشی از طرح بندی برنامه را اشغال می کنند. آنها می توانند پس از مدت زمان مشخصی به طور خودکار بازخوانی شوند. این بدان معناست که کاربران یک تبلیغ جدید را در فواصل زمانی منظم مشاهده می کنند، حتی اگر در همان صفحه برنامه شما باقی بمانند. آنها همچنین ساده ترین قالب تبلیغاتی برای پیاده سازی هستند.

پیاده سازی تبلیغات بنری

بینابینی

واحدهای تبلیغات بینابینی تبلیغات تمام صفحه را در برنامه شما نشان می دهند. آنها را در وقفه ها و انتقال های طبیعی در رابط برنامه خود قرار دهید، مانند پس از اتمام سطح در یک برنامه بازی.

اجرای تبلیغات بینابینی

بومی

تبلیغات بومی تبلیغاتی هستند که در آنها می‌توانید نحوه نمایش دارایی‌هایی مانند سرفصل‌ها و فراخوان‌های اقدام را در برنامه‌های خود سفارشی کنید. با طراحی خود تبلیغ، می توانید یک نمایش تبلیغاتی طبیعی و بدون مزاحمت ایجاد کنید که می تواند به تجربه کاربری غنی اضافه کند.

تبلیغات بومی را پیاده سازی کنید

پاداش داده شد

واحدهای تبلیغاتی دارای پاداش، کاربران را قادر می‌سازد تا برای کسب جوایز درون‌برنامه‌ای مانند سکه، زندگی اضافی یا امتیاز، بازی انجام دهند، نظرسنجی کنند یا ویدیو تماشا کنند. می‌توانید پاداش‌های متفاوتی را برای واحدهای تبلیغاتی مختلف تعیین کنید و مقادیر پاداش و مواردی را که کاربر دریافت کرده است را مشخص کنید.

اجرای تبلیغات با پاداش

بینابینی با پاداش

بینابینی پاداش‌دار نوع جدیدی از قالب‌های تبلیغاتی با انگیزه است که به شما امکان می‌دهد برای تبلیغاتی که به‌طور خودکار در طول انتقال طبیعی برنامه ظاهر می‌شوند، پاداش‌هایی مانند سکه یا زندگی اضافی ارائه دهید.

برخلاف آگهی‌های دارای پاداش، کاربران مجبور نیستند برای مشاهده یک بینابینی پاداش‌دار شرکت کنند.

به جای اعلان انتخاب در تبلیغات دارای پاداش، مطالب بینابینی دارای پاداش نیاز به یک صفحه مقدماتی دارند که پاداش را اعلام می کند و به کاربران این فرصت را می دهد که در صورت تمایل از انجام این کار انصراف دهند.

تبلیغات بینابینی با پاداش را پیاده سازی کنید

برنامه باز شد

برنامه باز یک قالب تبلیغاتی است که وقتی کاربران برنامه شما را باز می کنند یا به آن برمی گردند ظاهر می شود. آگهی روی صفحه بارگیری همپوشانی دارد.

پیاده سازی تبلیغات باز برنامه

،

این راهنما برای ناشرانی است که می‌خواهند از یک برنامه iOS با AdMob کسب درآمد کنند و از Firebase استفاده نمی‌کنند. اگر قصد دارید Firebase را در برنامه خود قرار دهید (یا در نظر دارید)، به جای آن به نسخه AdMob با Firebase این راهنما مراجعه کنید.

ادغام Google Mobile Ads SDK در یک برنامه اولین گام برای نمایش تبلیغات و کسب درآمد است. هنگامی که SDK را ادغام کردید، می توانید به اجرای یک یا چند فرمت تبلیغاتی پشتیبانی شده ادامه دهید.

پیش نیازها

  • از Xcode 15.3 یا بالاتر استفاده کنید
  • iOS 12.0 یا بالاتر را هدف قرار دهید

SDK تبلیغات موبایل را وارد کنید

از یکی از روش های زیر برای وارد کردن Google Mobile Ads SDK استفاده کنید.

CocoaPods (ترجیحا)

ساده ترین راه برای وارد کردن SDK به پروژه iOS استفاده از CocoaPods است. Podfile پروژه خود را باز کنید و این خط را به هدف برنامه خود اضافه کنید:

pod 'Google-Mobile-Ads-SDK'

سپس از خط فرمان اجرا کنید:

pod install --repo-update

اگر با CocoaPods تازه کار هستید، برای اطلاعات در مورد نحوه ایجاد و استفاده از Podfiles به اسناد رسمی آنها مراجعه کنید.

مدیر بسته سوئیفت

Google Mobile Ads SDK از Swift Package Manager با شروع نسخه 9.0.0 پشتیبانی می کند. برای وارد کردن بسته سوئیفت مراحل زیر را دنبال کنید:

  1. در Xcode، بسته Swift Google Mobile Ads را با رفتن به File > Add Packages... نصب کنید.

  2. در درخواستی که ظاهر می شود، مخزن GitHub بسته Swift Ads Google Mobile را جستجو کنید:

    https://github.com/googleads/swift-package-manager-google-mobile-ads.git
    
  3. نسخه بسته Swift Ads Google Mobile را که می‌خواهید استفاده کنید، انتخاب کنید. برای پروژه‌های جدید، توصیه می‌کنیم از نسخه اصلی تا بعدی استفاده کنید.

پس از اتمام کار، Xcode شروع به رفع وابستگی های بسته شما و دانلود آنها در پس زمینه می کند. برای جزئیات بیشتر در مورد نحوه افزودن وابستگی بسته، به مقاله Apple مراجعه کنید.

دانلود دستی

  1. Google Mobile Ads SDK را دانلود کنید و چارچوب‌های زیر را در پروژه Xcode خود Embed & Sign :

    • GoogleMobileAds.xcframework
    • UserMessagingPlatform.xcframework
  2. در تنظیمات ساخت پروژه شما:

    • مسیر /usr/lib/swift را به مسیرهای جستجوی Runpath اضافه کنید.
    • پرچم پیوند دهنده -ObjC را به سایر پرچم های پیوند دهنده اضافه کنید.

Info.plist خود را به روز کنید

فایل Info.plist برنامه خود را برای اضافه کردن دو کلید به روز کنید:

  1. یک کلید GADApplicationIdentifier با مقدار رشته شماAdMob app ID found in the AdMob UI.

  2. یک کلید SKAdNetworkItems با مقادیر SKAdNetworkIdentifier برای Google ( 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 شناسه برنامه اگر فقط در حال آزمایش SDK در یک برنامه Hello World هستید، می توانید از شناسه نمونه استفاده کنید.

SDK تبلیغات موبایل را راه اندازی کنید

قبل از بارگیری تبلیغات، متد startWithCompletionHandler: را در GADMobileAds.sharedInstance فراخوانی کنید، که SDK را مقداردهی اولیه می‌کند و پس از تکمیل اولیه (یا پس از مهلت زمانی 30 ثانیه‌ای)، یک کنترل‌کننده تکمیل را فراخوانی می‌کند. این کار فقط باید یک بار انجام شود، ایده آل در هنگام راه اندازی برنامه. باید هر چه زودتر با startWithCompletionHandler: تماس بگیرید.

در اینجا مثالی از نحوه فراخوانی متد startWithCompletionHandler: در AppDelegate آورده شده است:

نمونه AppDelegate (گزیده)

سویفت

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()
      }
    }
  }
}

هدف-C

@import GoogleMobileAds;

@implementation AppDelegate

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

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

@end

یک قالب تبلیغ را انتخاب کنید

اکنون SDK تبلیغات موبایل وارد و مقداردهی اولیه شده است و شما آماده اجرای یک تبلیغ هستید. AdMob فرمت‌های تبلیغاتی مختلفی را ارائه می‌دهد، بنابراین می‌توانید یکی را انتخاب کنید که با تجربه کاربری برنامه‌تان مطابقت دارد.

برای توسعه دهندگان SwiftUI، راهنمای SwiftUI ما را دنبال کنید.

واحدهای تبلیغات بنری، تبلیغات مستطیلی را نشان می دهند که بخشی از طرح بندی برنامه را اشغال می کنند. آنها می توانند پس از مدت زمان مشخصی به طور خودکار بازخوانی شوند. این بدان معناست که کاربران یک تبلیغ جدید را در فواصل زمانی منظم مشاهده می کنند، حتی اگر در همان صفحه برنامه شما باقی بمانند. آنها همچنین ساده ترین قالب تبلیغاتی برای پیاده سازی هستند.

پیاده سازی تبلیغات بنری

بینابینی

واحدهای تبلیغات بینابینی تبلیغات تمام صفحه را در برنامه شما نشان می دهند. آنها را در وقفه ها و انتقال های طبیعی در رابط برنامه خود قرار دهید، مانند پس از اتمام سطح در یک برنامه بازی.

اجرای تبلیغات بینابینی

بومی

تبلیغات بومی تبلیغاتی هستند که در آنها می‌توانید نحوه نمایش دارایی‌هایی مانند سرفصل‌ها و فراخوان‌های اقدام را در برنامه‌های خود سفارشی کنید. با طراحی خود تبلیغ، می توانید یک نمایش تبلیغاتی طبیعی و بدون مزاحمت ایجاد کنید که می تواند به تجربه کاربری غنی اضافه کند.

تبلیغات بومی را پیاده سازی کنید

پاداش داده شد

واحدهای تبلیغاتی دارای پاداش، کاربران را قادر می‌سازد تا برای کسب جوایز درون‌برنامه‌ای مانند سکه، زندگی اضافی یا امتیاز، بازی انجام دهند، نظرسنجی کنند یا ویدیو تماشا کنند. می‌توانید پاداش‌های متفاوتی را برای واحدهای تبلیغاتی مختلف تعیین کنید و مقادیر پاداش و مواردی را که کاربر دریافت کرده است را مشخص کنید.

اجرای تبلیغات با پاداش

بینابینی با پاداش

بینابینی پاداش‌دار نوع جدیدی از قالب‌های تبلیغاتی با انگیزه است که به شما امکان می‌دهد برای تبلیغاتی که به‌طور خودکار در طول انتقال طبیعی برنامه ظاهر می‌شوند، پاداش‌هایی مانند سکه یا زندگی اضافی ارائه دهید.

برخلاف آگهی‌های دارای پاداش، کاربران مجبور نیستند برای مشاهده یک بینابینی پاداش‌دار شرکت کنند.

به جای اعلان انتخاب در تبلیغات دارای پاداش، مطالب بینابینی دارای پاداش نیاز به یک صفحه مقدماتی دارند که پاداش را اعلام می کند و به کاربران این فرصت را می دهد که در صورت تمایل از انجام این کار انصراف دهند.

تبلیغات بینابینی با پاداش را پیاده سازی کنید

برنامه باز شد

برنامه باز یک قالب تبلیغاتی است که وقتی کاربران برنامه شما را باز می کنند یا به آن برمی گردند ظاهر می شود. آگهی روی صفحه بارگیری همپوشانی دارد.

پیاده سازی تبلیغات باز برنامه

،

این راهنما برای ناشرانی است که می‌خواهند از یک برنامه iOS با AdMob کسب درآمد کنند و از Firebase استفاده نمی‌کنند. اگر قصد دارید Firebase را در برنامه خود قرار دهید (یا در نظر دارید)، به جای آن به نسخه AdMob با Firebase این راهنما مراجعه کنید.

ادغام Google Mobile Ads SDK در یک برنامه اولین گام برای نمایش تبلیغات و کسب درآمد است. هنگامی که SDK را ادغام کردید، می توانید به اجرای یک یا چند فرمت تبلیغاتی پشتیبانی شده ادامه دهید.

پیش نیازها

  • از Xcode 15.3 یا بالاتر استفاده کنید
  • iOS 12.0 یا بالاتر را هدف قرار دهید

SDK تبلیغات موبایل را وارد کنید

از یکی از روش های زیر برای وارد کردن Google Mobile Ads SDK استفاده کنید.

CocoaPods (ترجیحا)

ساده ترین راه برای وارد کردن SDK به پروژه iOS استفاده از CocoaPods است. Podfile پروژه خود را باز کنید و این خط را به هدف برنامه خود اضافه کنید:

pod 'Google-Mobile-Ads-SDK'

سپس از خط فرمان اجرا کنید:

pod install --repo-update

اگر با CocoaPods تازه کار هستید، برای اطلاعات در مورد نحوه ایجاد و استفاده از Podfiles به اسناد رسمی آنها مراجعه کنید.

مدیر بسته سوئیفت

Google Mobile Ads SDK از Swift Package Manager با شروع نسخه 9.0.0 پشتیبانی می کند. برای وارد کردن بسته سوئیفت مراحل زیر را دنبال کنید:

  1. در Xcode، بسته Swift Google Mobile Ads را با رفتن به File > Add Packages... نصب کنید.

  2. در درخواستی که ظاهر می شود، مخزن GitHub بسته Swift Ads Google Mobile را جستجو کنید:

    https://github.com/googleads/swift-package-manager-google-mobile-ads.git
    
  3. نسخه بسته Swift Ads Google Mobile را که می‌خواهید استفاده کنید، انتخاب کنید. برای پروژه‌های جدید، توصیه می‌کنیم از نسخه اصلی تا بعدی استفاده کنید.

پس از اتمام کار، Xcode شروع به رفع وابستگی های بسته شما و دانلود آنها در پس زمینه می کند. برای جزئیات بیشتر در مورد نحوه افزودن وابستگی بسته، به مقاله Apple مراجعه کنید.

دانلود دستی

  1. Google Mobile Ads SDK را دانلود کنید و چارچوب‌های زیر را در پروژه Xcode خود Embed & Sign :

    • GoogleMobileAds.xcframework
    • UserMessagingPlatform.xcframework
  2. در تنظیمات ساخت پروژه شما:

    • مسیر /usr/lib/swift را به مسیرهای جستجوی Runpath اضافه کنید.
    • پرچم پیوند دهنده -ObjC را به سایر پرچم های پیوند دهنده اضافه کنید.

Info.plist خود را به روز کنید

فایل Info.plist برنامه خود را برای اضافه کردن دو کلید به روز کنید:

  1. یک کلید GADApplicationIdentifier با مقدار رشته شماAdMob app ID found in the AdMob UI.

  2. یک کلید SKAdNetworkItems با مقادیر SKAdNetworkIdentifier برای Google ( 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 شناسه برنامه اگر فقط در حال آزمایش SDK در یک برنامه Hello World هستید، می توانید از شناسه نمونه استفاده کنید.

SDK تبلیغات موبایل را راه اندازی کنید

قبل از بارگیری تبلیغات، متد startWithCompletionHandler: را در GADMobileAds.sharedInstance فراخوانی کنید، که SDK را مقداردهی اولیه می‌کند و پس از تکمیل اولیه (یا پس از مهلت زمانی 30 ثانیه‌ای)، یک کنترل‌کننده تکمیل را فراخوانی می‌کند. این کار فقط باید یک بار انجام شود، ایده آل در هنگام راه اندازی برنامه. باید هر چه زودتر با startWithCompletionHandler: تماس بگیرید.

در اینجا مثالی از نحوه فراخوانی متد startWithCompletionHandler: در AppDelegate آورده شده است:

نمونه AppDelegate (گزیده)

سویفت

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()
      }
    }
  }
}

هدف-C

@import GoogleMobileAds;

@implementation AppDelegate

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

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

@end

یک قالب تبلیغ را انتخاب کنید

اکنون SDK تبلیغات موبایل وارد و مقداردهی اولیه شده است و شما آماده اجرای یک تبلیغ هستید. AdMob فرمت‌های تبلیغاتی مختلفی را ارائه می‌دهد، بنابراین می‌توانید یکی را انتخاب کنید که با تجربه کاربری برنامه‌تان مطابقت دارد.

برای توسعه دهندگان SwiftUI، راهنمای SwiftUI ما را دنبال کنید.

واحدهای تبلیغات بنری، تبلیغات مستطیلی را نشان می دهند که بخشی از طرح بندی برنامه را اشغال می کنند. آنها می توانند پس از مدت زمان مشخصی به طور خودکار بازخوانی شوند. این بدان معناست که کاربران یک تبلیغ جدید را در فواصل زمانی منظم مشاهده می کنند، حتی اگر در همان صفحه برنامه شما باقی بمانند. آنها همچنین ساده ترین قالب تبلیغاتی برای پیاده سازی هستند.

پیاده سازی تبلیغات بنری

بینابینی

واحدهای تبلیغات بینابینی تبلیغات تمام صفحه را در برنامه شما نشان می دهند. آنها را در وقفه ها و انتقال های طبیعی در رابط برنامه خود قرار دهید، مانند پس از اتمام سطح در یک برنامه بازی.

اجرای تبلیغات بینابینی

بومی

تبلیغات بومی تبلیغاتی هستند که در آنها می‌توانید نحوه نمایش دارایی‌هایی مانند سرفصل‌ها و فراخوان‌های اقدام را در برنامه‌های خود سفارشی کنید. با طراحی خود تبلیغ، می توانید یک نمایش تبلیغاتی طبیعی و بدون مزاحمت ایجاد کنید که می تواند به تجربه کاربری غنی اضافه کند.

تبلیغات بومی را پیاده سازی کنید

پاداش داده شد

واحدهای تبلیغاتی دارای پاداش، کاربران را قادر می‌سازد تا برای کسب جوایز درون‌برنامه‌ای مانند سکه، زندگی اضافی یا امتیاز، بازی انجام دهند، نظرسنجی کنند یا ویدیو تماشا کنند. می‌توانید پاداش‌های متفاوتی را برای واحدهای تبلیغاتی مختلف تعیین کنید و مقادیر پاداش و مواردی را که کاربر دریافت کرده است را مشخص کنید.

اجرای تبلیغات با پاداش

بینابینی با پاداش

بینابینی پاداش‌دار نوع جدیدی از قالب‌های تبلیغاتی با انگیزه است که به شما امکان می‌دهد برای تبلیغاتی که به‌طور خودکار در طول انتقال طبیعی برنامه ظاهر می‌شوند، پاداش‌هایی مانند سکه یا زندگی اضافی ارائه دهید.

برخلاف آگهی‌های دارای پاداش، کاربران مجبور نیستند برای مشاهده یک بینابینی پاداش‌دار شرکت کنند.

به جای اعلان انتخاب در تبلیغات دارای پاداش، مطالب بینابینی دارای پاداش نیاز به یک صفحه مقدماتی دارند که پاداش را اعلام می کند و به کاربران این فرصت را می دهد که در صورت تمایل از انجام این کار انصراف دهند.

تبلیغات بینابینی با پاداش را پیاده سازی کنید

برنامه باز شد

برنامه باز یک قالب تبلیغاتی است که وقتی کاربران برنامه شما را باز می کنند یا به آن برمی گردند ظاهر می شود. آگهی روی صفحه بارگیری همپوشانی دارد.

پیاده سازی تبلیغات باز برنامه

،

این راهنما برای ناشرانی است که می‌خواهند از یک برنامه iOS با AdMob کسب درآمد کنند و از Firebase استفاده نمی‌کنند. اگر قصد دارید Firebase را در برنامه خود قرار دهید (یا در نظر دارید)، به جای آن به نسخه AdMob با Firebase این راهنما مراجعه کنید.

ادغام Google Mobile Ads SDK در یک برنامه اولین گام برای نمایش تبلیغات و کسب درآمد است. هنگامی که SDK را ادغام کردید، می توانید به اجرای یک یا چند فرمت تبلیغاتی پشتیبانی شده ادامه دهید.

پیش نیازها

  • از Xcode 15.3 یا بالاتر استفاده کنید
  • iOS 12.0 یا بالاتر را هدف قرار دهید

SDK تبلیغات موبایل را وارد کنید

از یکی از روش های زیر برای وارد کردن Google Mobile Ads SDK استفاده کنید.

CocoaPods (ترجیحا)

ساده ترین راه برای وارد کردن SDK به پروژه iOS استفاده از CocoaPods است. Podfile پروژه خود را باز کنید و این خط را به هدف برنامه خود اضافه کنید:

pod 'Google-Mobile-Ads-SDK'

سپس از خط فرمان اجرا کنید:

pod install --repo-update

اگر با CocoaPods تازه کار هستید، برای اطلاعات در مورد نحوه ایجاد و استفاده از Podfiles به اسناد رسمی آنها مراجعه کنید.

مدیر بسته سوئیفت

Google Mobile Ads SDK از Swift Package Manager با شروع نسخه 9.0.0 پشتیبانی می کند. برای وارد کردن بسته سوئیفت مراحل زیر را دنبال کنید:

  1. در Xcode، بسته Swift Google Mobile Ads را با رفتن به File > Add Packages... نصب کنید.

  2. در درخواستی که ظاهر می شود، مخزن GitHub بسته Swift Ads Google Mobile را جستجو کنید:

    https://github.com/googleads/swift-package-manager-google-mobile-ads.git
    
  3. نسخه بسته Swift Ads Google Mobile را که می‌خواهید استفاده کنید، انتخاب کنید. برای پروژه‌های جدید، توصیه می‌کنیم از نسخه اصلی تا بعدی استفاده کنید.

پس از اتمام کار، Xcode شروع به رفع وابستگی های بسته شما و دانلود آنها در پس زمینه می کند. برای جزئیات بیشتر در مورد نحوه افزودن وابستگی بسته، به مقاله Apple مراجعه کنید.

دانلود دستی

  1. Google Mobile Ads SDK را دانلود کنید و چارچوب‌های زیر را در پروژه Xcode خود Embed & Sign :

    • GoogleMobileAds.xcframework
    • UserMessagingPlatform.xcframework
  2. در تنظیمات ساخت پروژه شما:

    • مسیر /usr/lib/swift را به مسیرهای جستجوی Runpath اضافه کنید.
    • پرچم پیوند دهنده -ObjC را به سایر پرچم های پیوند دهنده اضافه کنید.

Info.plist خود را به روز کنید

فایل Info.plist برنامه خود را برای اضافه کردن دو کلید به روز کنید:

  1. یک کلید GADApplicationIdentifier با مقدار رشته شماAdMob app ID found in the AdMob UI.

  2. یک کلید SKAdNetworkItems با مقادیر SKAdNetworkIdentifier برای Google ( 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 شناسه برنامه اگر فقط در حال آزمایش SDK در یک برنامه Hello World هستید، می توانید از شناسه نمونه استفاده کنید.

SDK تبلیغات موبایل را راه اندازی کنید

قبل از بارگیری تبلیغات، متد startWithCompletionHandler: را در GADMobileAds.sharedInstance فراخوانی کنید، که SDK را مقداردهی اولیه می‌کند و پس از تکمیل اولیه (یا پس از مهلت زمانی 30 ثانیه‌ای)، یک کنترل‌کننده تکمیل را فراخوانی می‌کند. این کار فقط باید یک بار انجام شود، ایده آل در هنگام راه اندازی برنامه. باید هر چه زودتر با startWithCompletionHandler: تماس بگیرید.

در اینجا مثالی از نحوه فراخوانی متد startWithCompletionHandler: در AppDelegate آورده شده است:

نمونه AppDelegate (گزیده)

سویفت

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()
      }
    }
  }
}

هدف-C

@import GoogleMobileAds;

@implementation AppDelegate

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

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

@end

یک قالب تبلیغ را انتخاب کنید

اکنون SDK تبلیغات موبایل وارد و مقداردهی اولیه شده است و شما آماده اجرای یک تبلیغ هستید. AdMob فرمت‌های تبلیغاتی مختلفی را ارائه می‌دهد، بنابراین می‌توانید یکی را انتخاب کنید که با تجربه کاربری برنامه‌تان مطابقت دارد.

برای توسعه دهندگان SwiftUI، راهنمای SwiftUI ما را دنبال کنید.

واحدهای تبلیغات بنری، تبلیغات مستطیلی را نشان می دهند که بخشی از طرح بندی برنامه را اشغال می کنند. آنها می توانند پس از مدت زمان مشخصی به طور خودکار بازخوانی شوند. این بدان معناست که کاربران یک تبلیغ جدید را در فواصل زمانی منظم مشاهده می کنند، حتی اگر در همان صفحه برنامه شما باقی بمانند. آنها همچنین ساده ترین قالب تبلیغاتی برای پیاده سازی هستند.

پیاده سازی تبلیغات بنری

بینابینی

واحدهای تبلیغات بینابینی تبلیغات تمام صفحه را در برنامه شما نشان می دهند. آنها را در وقفه ها و انتقال های طبیعی در رابط برنامه خود قرار دهید، مانند پس از اتمام سطح در یک برنامه بازی.

اجرای تبلیغات بینابینی

بومی

تبلیغات بومی تبلیغاتی هستند که در آنها می‌توانید نحوه نمایش دارایی‌هایی مانند سرفصل‌ها و فراخوان‌های اقدام را در برنامه‌های خود سفارشی کنید. با طراحی خود تبلیغ، می توانید یک نمایش تبلیغاتی طبیعی و بدون مزاحمت ایجاد کنید که می تواند به تجربه کاربری غنی اضافه کند.

تبلیغات بومی را پیاده سازی کنید

پاداش داده شد

واحدهای تبلیغاتی دارای پاداش، کاربران را قادر می‌سازد تا برای کسب جوایز درون‌برنامه‌ای مانند سکه، زندگی اضافی یا امتیاز، بازی انجام دهند، نظرسنجی کنند یا ویدیو تماشا کنند. می‌توانید پاداش‌های متفاوتی را برای واحدهای تبلیغاتی مختلف تعیین کنید و مقادیر پاداش و مواردی را که کاربر دریافت کرده است را مشخص کنید.

اجرای تبلیغات با پاداش

بینابینی با پاداش

بینابینی پاداش‌دار نوع جدیدی از قالب‌های تبلیغاتی با انگیزه است که به شما امکان می‌دهد برای تبلیغاتی که به‌طور خودکار در طول انتقال طبیعی برنامه ظاهر می‌شوند، پاداش‌هایی مانند سکه یا زندگی اضافی ارائه دهید.

برخلاف آگهی‌های دارای پاداش، کاربران مجبور نیستند برای مشاهده یک بینابینی پاداش‌دار شرکت کنند.

به جای اعلان انتخاب در تبلیغات دارای پاداش، مطالب بینابینی دارای پاداش نیاز به یک صفحه مقدماتی دارند که پاداش را اعلام می کند و به کاربران این فرصت را می دهد که در صورت تمایل از انجام این کار انصراف دهند.

تبلیغات بینابینی با پاداش را پیاده سازی کنید

برنامه باز شد

برنامه باز یک قالب تبلیغاتی است که وقتی کاربران برنامه شما را باز می کنند یا به آن برمی گردند ظاهر می شود. آگهی روی صفحه بارگیری همپوشانی دارد.

پیاده سازی تبلیغات باز برنامه