شروع کنید، شروع کنید

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

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

پیش نیازها

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

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 Package Ads Google Mobile را جستجو کنید:

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

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

دانلود دستی

  1. فریم ورک SDK را مستقیما دانلود و از حالت فشرده خارج کنید و چارچوب های زیر را در پروژه Xcode خود وارد کنید:

    • GoogleAppMeasurement.xcframework
    • GoogleAppMeasurementIdentitySupport.xcframework
    • GoogleMobileAds.xcframework
    • GoogleUtilities.xcframework
    • nanopb.xcframework
    • PromisesObjC.xcframework
    • UserMessagingPlatform.xcframework
  2. در تنظیمات ساخت پروژه خود، پرچم پیوند دهنده -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>4pfyvq9l8r.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>5a6flpkh64.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>f38h382jlk.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>hs6bdukanm.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>yclnxrl5pm.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>t38b2kh725.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>n6fk4nfna4.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>eh6m2bh4zr.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>klf5c3l5u5.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>ppxm28t8ap.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>ecpz2srf59.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>mlmmfzh3r3.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>e5fvkxwrpn.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>8c4e2ghe7u.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>zq492l623r.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>3rd42ekr43.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>3qcr597p9d.skadnetwork</string>
  </dict>
</array>

اگر هنوز یک حساب AdMob ایجاد نکرده‌اید و برنامه‌ای ثبت نکرده‌اید ، اکنون زمان خوبی برای انجام این کار است.

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

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

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

مثال AppDelegate.m (گزیده)

سریع

import GoogleMobileAds

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

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

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

    return true
  }

}

هدف-C

@import GoogleMobileAds;

@implementation AppDelegate

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

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

@end

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

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

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

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

یک بنر پیاده سازی کنید

بینابینی

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

بینابینی را اجرا کنید

بومی

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

Native Adsپیاده سازی کنید

پاداش داده شد

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

اجرای تبلیغات با پاداش پیاده سازی تبلیغات پاداش (API های جدید)