ادغام Google Mobile Ads SDK در یک برنامه اولین قدم برای نمایش تبلیغات و کسب درآمد است. هنگامی که SDK را ادغام کردید، می توانید یک یا چند فرمت تبلیغاتی پشتیبانی شده را پیاده سازی کنید.
پیش نیازها
- از Xcode 16.0 یا بالاتر استفاده کنید
- iOS 12.0 یا بالاتر را هدف قرار دهید
SDK تبلیغات موبایل را وارد کنید
از یکی از روش های زیر برای وارد کردن Google Mobile Ads SDK استفاده کنید.
مدیر بسته سوئیفت
برای افزودن یک بسته وابستگی به پروژه خود، مراحل زیر را دنبال کنید:
در Xcode، با رفتن به File > Add Package Dependencies... بسته Swift Ads Google Mobile را نصب کنید.
در درخواستی که ظاهر می شود، مخزن GitHub Swift Package Ads Google Mobile را جستجو کنید:
https://github.com/googleads/swift-package-manager-google-mobile-ads.git
نسخه بسته Swift Ads Google Mobile را که میخواهید استفاده کنید، انتخاب کنید. برای پروژههای جدید، توصیه میکنیم از نسخه اصلی تا بعدی استفاده کنید.
CocoaPods
قبل از ادامه، Using CocoaPods را برای اطلاعات در مورد ایجاد و استفاده از Podfiles مرور کنید.
برای استفاده از CocoaPods مراحل زیر را دنبال کنید:
Podfile پروژه خود را باز کنید و این خط را به پیکربندی ساخت
target
برنامه خود اضافه کنید:pod 'Google-Mobile-Ads-SDK'
در ترمینال اجرا کنید:
pod install --repo-update
دانلود دستی
Google Mobile Ads SDK را دانلود کنید و چارچوبهای زیر را در پروژه Xcode خود
Embed & Sign
:-
GoogleMobileAds.xcframework
-
UserMessagingPlatform.xcframework
-
در تنظیمات ساخت پروژه شما:
- مسیر
/usr/lib/swift
را به مسیرهای جستجوی Runpath اضافه کنید. - پرچم پیوند دهنده
-ObjC
را به سایر پرچم های پیوند دهنده اضافه کنید.
- مسیر
Info.plist خود را به روز کنید
فایل Info.plist
برنامه خود را برای اضافه کردن دو کلید به روز کنید:
یک کلید
GADApplicationIdentifier
با مقدار رشته ای از شناسه برنامه Ad Manager شما که در رابط کاربری Ad Manager و به شکلca-app-pub-################~##########
یک کلید
SKAdNetworkItems
با مقادیرSKAdNetworkIdentifier
برای Google (cstr6suwn9.skadnetwork
) و خریداران شخص ثالثی را انتخاب کنید که این مقادیر را به Google ارائه کردهاند.
قطعه کامل
<key>GADApplicationIdentifier</key> <!-- Sample Ad Manager 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>
شناسه برنامه Ad Manager خود را جایگزین SAMPLE_APP_ID کنید. هنگام آزمایش، از نمونه شناسه برنامه نشان داده شده در مثال قبلی استفاده کنید.
برای عملکرد بهینه اولیه، مهم است که گروههای بازدهی خود را با برنامههای خاصی که در آنها استفاده میشوند مرتبط کنید. پیکربندیهای گروه بازدهی که iOS را هدف قرار میدهند و با هیچ برنامه خاصی مرتبط نیستند، به همه برنامههای iOS در حساب شما ارسال میشوند، که احتمالاً زمان لازم برای مقداردهی اولیه را طولانیتر میکند.
SDK تبلیغات موبایل را راه اندازی کنید
قبل از بارگیری تبلیغات، متد start()
را در GADMobileAds.sharedInstance
فراخوانی کنید، که SDK را مقداردهی اولیه میکند و پس از تکمیل اولیه (یا پس از یک بازه زمانی 30 ثانیهای)، یک کنترلکننده تکمیل را فراخوانی میکند. هر چه زودتر start()
فراخوانی کنید.
سویفت
// Initialize the Google Mobile Ads SDK.
MobileAds.shared.start()
SwiftUI
// Initialize the Google Mobile Ads SDK.
MobileAds.shared.start()
هدف-C
// Initialize the Google Mobile Ads SDK.
[GADMobileAds.sharedInstance startWithCompletionHandler:nil];
یک قالب تبلیغاتی را انتخاب کنید
اکنون SDK تبلیغات موبایل وارد و مقداردهی اولیه شده است و شما آماده اجرای یک تبلیغ هستید. Ad Manager قالبهای مختلف تبلیغاتی را ارائه میدهد، بنابراین میتوانید یکی را انتخاب کنید که با تجربه کاربری برنامهتان مطابقت دارد.
بنر
واحدهای تبلیغات بنری، تبلیغات مستطیلی را نشان میدهند که بخشی از طرحبندی برنامه را اشغال میکنند. آنها می توانند پس از مدت زمان مشخصی به طور خودکار بازخوانی شوند. این بدان معناست که کاربران یک تبلیغ جدید را در فواصل زمانی منظم مشاهده می کنند، حتی اگر در همان صفحه در برنامه شما بمانند. آنها همچنین ساده ترین قالب تبلیغاتی برای پیاده سازی هستند.
بینابینی
واحدهای تبلیغات بینابینی تبلیغات تمام صفحه را در برنامه شما نشان می دهند. آنها را در وقفه ها و جابجایی های طبیعی در رابط برنامه خود قرار دهید، مانند پس از اتمام سطح در یک برنامه بازی.
بومی
تبلیغات بومی تبلیغاتی هستند که در آنها میتوانید نحوه نمایش داراییهایی مانند سرفصلها و فراخوانهای اقدام را در برنامههای خود سفارشی کنید. با طراحی خود تبلیغ، می توانید یک نمایش تبلیغاتی طبیعی و بدون مزاحمت ایجاد کنید که می تواند به تجربه کاربری غنی اضافه کند.
Google Ad Manager دو راه برای پیاده سازی تبلیغات بومی ارائه می دهد: سبک های بومی و تبلیغات بومی استاندارد از طریق رندر سفارشی.
سبکهای بومی برای سادهسازی اجرای تبلیغات بومی طراحی شدهاند، و اگر در قالب تازه کار هستید، انتخاب خوبی است. رندر سفارشی برای به حداکثر رساندن آزادی شما در ایجاد ارائه های خود طراحی شده است.
پیاده سازی سبک های بومی پیاده سازی تبلیغات بومی (رندر سفارشی)
پاداش داده شد
واحدهای تبلیغاتی دارای پاداش، کاربران را قادر میسازد تا برای کسب جوایز درونبرنامهای، مانند سکه، زندگی اضافی یا امتیاز، بازی انجام دهند، نظرسنجی کنند یا ویدیو تماشا کنند. میتوانید پاداشهای مختلفی را برای واحدهای تبلیغاتی مختلف تعیین کنید و مقادیر پاداش و مواردی را که کاربر دریافت کرده است را مشخص کنید.
بینابینی با پاداش
بینابینی پاداشدار نوع جدیدی از قالبهای تبلیغاتی با انگیزه است که به شما امکان میدهد برای تبلیغاتی که بهطور خودکار در طول انتقال طبیعی برنامه ظاهر میشوند، پاداشهایی مانند سکه یا زندگی اضافی ارائه دهید.
برخلاف آگهیهای دارای پاداش، کاربران مجبور نیستند برای مشاهده یک بینابینی پاداشدار شرکت کنند.
به جای اعلان انتخاب در تبلیغات دارای پاداش، مطالب بینابینی دارای پاداش نیاز به یک صفحه مقدماتی دارند که پاداش را اعلام می کند و به کاربران این فرصت را می دهد که در صورت تمایل از انجام این کار انصراف دهند.
تبلیغات بینابینی با پاداش را پیاده سازی کنید
برنامه باز شد
برنامه باز یک قالب تبلیغاتی است که وقتی کاربران برنامه شما را باز می کنند یا به آن برمی گردند ظاهر می شود. آگهی روی صفحه بارگیری همپوشانی دارد.