شروع کنید

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

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

پیش‌نیازها

  • از Xcode نسخه ۱۶.۰ یا بالاتر استفاده کنید
  • هدف iOS 12.0 یا بالاتر

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

برای وارد کردن SDK تبلیغات موبایلی گوگل، از یکی از روش‌های زیر استفاده کنید.

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

برای اضافه کردن یک وابستگی پکیج به پروژه خود، مراحل زیر را دنبال کنید:

  1. در Xcode، با رفتن به مسیر File > Add Package Dependencies...، بسته‌ی Swift مربوط به تبلیغات موبایلی گوگل را نصب کنید.

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

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

کوکوپادز

قبل از ادامه، برای کسب اطلاعات در مورد ایجاد و استفاده از Podfiles ، بخش «استفاده از CocoaPods» را مرور کنید.

برای استفاده از CocoaPods ، مراحل زیر را دنبال کنید:

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

    pod 'Google-Mobile-Ads-SDK'
  2. در ترمینال، اجرا کنید:

    pod install --repo-update

دانلود دستی

  1. کیت توسعه نرم‌افزاری تبلیغات موبایلی گوگل (Google Mobile Ads SDK) را دانلود کنید و فریم‌ورک‌های زیر را در پروژه Xcode خود Embed & Sign :

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

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

اطلاعات خود را به‌روزرسانی کنید.

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

  1. یک کلید GADApplicationIdentifier با مقدار رشته‌ای از شناسه برنامه AdMob شما که در رابط کاربری AdMob یافت می‌شود .

  2. یک کلید SKAdNetworkItems با مقادیر SKAdNetworkIdentifier برای گوگل ( cstr6suwn9.skadnetwork ) و خریداران شخص ثالث منتخبی که این مقادیر را در اختیار گوگل قرار داده‌اند.

قطعه کد کامل

<key>GADApplicationIdentifier</key>
<!-- Sample AdMob app ID: ca-app-pub-3940256099942544~1458002511 -->
<string>SAMPLE_APP_ID</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>f38h382jlk.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>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>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>44jx6755aq.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>k674qkevps.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>kbmxgpxpgc.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>uw77j35x4d.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>c3frkrj4fj.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>97r2b46745.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>3qcr597p9d.skadnetwork</string>
  </dict>
</array>

SAMPLE_APP_ID با شناسه برنامه AdMob خود جایگزین کنید. هنگام آزمایش، از شناسه برنامه نمونه نشان داده شده در مثال قبلی استفاده کنید.

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

مقداردهی اولیه SDK تبلیغات موبایلی گوگل

قبل از بارگذاری تبلیغات، متد start() را در GADMobileAds.sharedInstance فراخوانی کنید، که SDK را مقداردهی اولیه می‌کند و پس از اتمام مقداردهی اولیه (یا پس از یک وقفه 30 ثانیه‌ای)، یک completion handler را فراخوانی می‌کند. start() را در اسرع وقت فراخوانی کنید.

سویفت

// Initialize the Google Mobile Ads SDK.
MobileAds.shared.start()

سویفت‌یو‌آی

// Initialize the Google Mobile Ads SDK.
MobileAds.shared.start()

هدف-سی

// Initialize the Google Mobile Ads SDK.
[GADMobileAds.sharedInstance startWithCompletionHandler:nil];

انتخاب قالب تبلیغ

اکنون کیت توسعه نرم‌افزاری تبلیغات موبایلی گوگل (Google Mobile Ads SDK) وارد و مقداردهی اولیه شده است و شما آماده پیاده‌سازی یک تبلیغ هستید. ادموب (AdMob) فرمت‌های تبلیغاتی مختلفی را ارائه می‌دهد، بنابراین می‌توانید فرمتی را انتخاب کنید که به بهترین وجه با تجربه کاربری برنامه شما مطابقت داشته باشد.

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

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

بینابینی

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

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

بومی

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

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

پاداش داده شده

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

تبلیغات جایزه‌دار (Rewarded Ads) را پیاده‌سازی کنید

تبلیغات بینابینی پاداش‌دار

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

برخلاف تبلیغات جایزه‌دار، کاربران برای مشاهده‌ی تبلیغات بینابینی جایزه‌دار ملزم به انتخاب نیستند.

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

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

برنامه باز است

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

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