این راهنما برای ناشرانی است که میخواهند از برنامه iOS با AdMob کسب درآمد کنند و از Firebase استفاده نمیکنند. اگر قصد دارید Firebase را در برنامه خود قرار دهید (یا در نظر دارید)، به جای آن به نسخه AdMob با Firebase این راهنما مراجعه کنید.
ادغام Google Mobile Ads SDK در یک برنامه اولین قدم برای نمایش تبلیغات و کسب درآمد است. هنگامی که SDK را ادغام کردید، می توانید یک یا چند فرمت تبلیغاتی پشتیبانی شده را پیاده سازی کنید.
پیش نیازها
- از Xcode 14.1 یا بالاتر استفاده کنید
- iOS 11.0 یا بالاتر را هدف قرار دهید
- توصیه می شود: یک حساب AdMob ایجاد کنید و یک برنامه را ثبت کنید .
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 پشتیبانی می کند. برای وارد کردن بسته سوئیفت مراحل زیر را دنبال کنید.
در Xcode، بسته Swift Google Mobile Ads را با رفتن به File > Add Packages... نصب کنید.
در درخواستی که ظاهر می شود، مخزن GitHub Swift Package Ads Google Mobile را جستجو کنید:
https://github.com/googleads/swift-package-manager-google-mobile-ads.git
نسخه بسته Swift Ads Google Mobile را که میخواهید استفاده کنید، انتخاب کنید. برای پروژههای جدید، توصیه میکنیم از نسخه اصلی تا بعدی استفاده کنید.
پس از اتمام کار، Xcode شروع به رفع وابستگی های بسته شما و دانلود آنها در پس زمینه می کند. برای جزئیات بیشتر در مورد نحوه افزودن وابستگی های بسته، به مقاله اپل مراجعه کنید.
دانلود دستی
فریم ورک SDK را مستقیما دانلود و از حالت فشرده خارج کنید و چارچوب های زیر را در پروژه Xcode خود وارد کنید:
-
GoogleAppMeasurement.xcframework
-
GoogleAppMeasurementIdentitySupport.xcframework
-
GoogleMobileAds.xcframework
-
GoogleUtilities.xcframework
-
nanopb.xcframework
-
PromisesObjC.xcframework
-
UserMessagingPlatform.xcframework
-
در تنظیمات ساخت پروژه خود، پرچم پیوند دهنده
-ObjC
را به سایر پرچمهای پیوند دهنده اضافه کنید:
Info.plist خود را به روز کنید
فایل Info.plist
برنامه خود را برای اضافه کردن دو کلید به روز کنید:
یک کلید
GADApplicationIdentifier
با مقدار رشته ایAdMob app ID found in the AdMob UIشما.یک کلید
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 تعدادی قالب تبلیغاتی مختلف را ارائه میدهد، بنابراین میتوانید یکی را انتخاب کنید که به بهترین وجه با تجربه کاربری برنامهتان مطابقت دارد.
بنر
تبلیغات مستطیلی که در بالا یا پایین صفحه نمایش دستگاه ظاهر می شوند. تبلیغات بنری در حالی که کاربران در حال تعامل با برنامه هستند روی صفحه می مانند و می توانند پس از مدت زمان معینی به طور خودکار بازخوانی شوند. اگر در زمینه تبلیغات موبایلی تازه کار هستید، آنها مکان خوبی برای شروع هستند.
بینابینی
تبلیغات تمام صفحه که رابط یک برنامه را تا زمانی که توسط کاربر بسته شود پوشش می دهند. آنها به بهترین وجه در توقف های طبیعی در جریان اجرای برنامه، مانند بین سطوح یک بازی یا درست پس از اتمام یک کار، استفاده می شوند.
بومی
تبلیغات قابل تنظیم که با ظاهر و احساس برنامه شما مطابقت دارند. شما تصمیم می گیرید که چگونه و در کجا قرار گیرند، بنابراین طرح بندی با طراحی برنامه شما سازگارتر است.
پاداش داده شد
تبلیغاتی که به کاربران برای تماشای ویدیوهای کوتاه و تعامل با تبلیغات و نظرسنجیهای قابل پخش پاداش میدهد. برای کسب درآمد از کاربران رایگان بازی خوب است.
اجرای تبلیغات با پاداش | پیاده سازی تبلیغات پاداش (API های جدید) |