ادغام SDK تبلیغات موبایلی گوگل در یک برنامه، اولین قدم برای نمایش تبلیغات و کسب درآمد است. پس از ادغام SDK، میتوانید یک یا چند فرمت تبلیغاتی پشتیبانی شده را پیادهسازی کنید.
پیشنیازها
- از Xcode نسخه ۱۶.۰ یا بالاتر استفاده کنید
- هدف iOS 12.0 یا بالاتر
وارد کردن SDK تبلیغات موبایلی گوگل
برای وارد کردن SDK تبلیغات موبایلی گوگل، از یکی از روشهای زیر استفاده کنید.
مدیر بسته سوئیفت
برای اضافه کردن یک وابستگی پکیج به پروژه خود، مراحل زیر را دنبال کنید:
در Xcode، با رفتن به مسیر File > Add Package Dependencies...، بستهی Swift مربوط به تبلیغات موبایلی گوگل را نصب کنید.
در پنجرهای که ظاهر میشود، مخزن گیتهاب بستهی Swift Ads Mobile Ads گوگل را جستجو کنید:
https://github.com/googleads/swift-package-manager-google-mobile-ads.gitنسخهای از بسته Swift تبلیغات موبایلی گوگل را که میخواهید استفاده کنید، انتخاب کنید. برای پروژههای جدید، توصیه میکنیم از نسخه اصلی Up to Next استفاده کنید.
کوکوپادز
قبل از ادامه، برای کسب اطلاعات در مورد ایجاد و استفاده از Podfiles ، بخش «استفاده از CocoaPods» را مرور کنید.
برای استفاده از 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 Search Paths اضافه کنید. - پرچم پیونددهندهی
-ObjCرا به پرچمهای پیونددهندهی دیگر اضافه کنید.
- مسیر
اطلاعات خود را بهروزرسانی کنید.
فایل Info.plist برنامه خود را بهروزرسانی کنید تا دو کلید اضافه شود:
یک کلید
GADApplicationIdentifierبا مقدار رشتهای از شناسه برنامه Ad Manager شما که در رابط کاربری Ad Manager یافت میشود و به شکلca-app-pub-################~##########.یک کلید
SKAdNetworkItemsبا مقادیرSKAdNetworkIdentifierبرای گوگل (cstr6suwn9.skadnetwork) و خریداران شخص ثالث منتخبی که این مقادیر را در اختیار گوگل قرار دادهاند.
قطعه کد کامل
<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>SAMPLE_APP_ID با شناسه برنامه Ad Manager خود جایگزین کنید. هنگام آزمایش، از شناسه برنامه نمونه نشان داده شده در مثال قبلی استفاده کنید.
برای عملکرد بهینه اولیهسازی، مهم است که گروههای yield خود را با برنامههای خاصی که در آنها استفاده میشوند مرتبط کنید. پیکربندیهای گروه yield که iOS را هدف قرار میدهند و با هیچ برنامه خاصی مرتبط نیستند، به همه برنامههای iOS در حساب شما ارسال میشوند و به طور بالقوه زمان لازم برای اولیهسازی را طولانیتر میکنند.
مقداردهی اولیه 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) وارد و مقداردهی اولیه شده است و شما آماده پیادهسازی یک تبلیغ هستید. مدیر تبلیغات (Ad Manager) فرمتهای تبلیغاتی مختلفی را ارائه میدهد، بنابراین میتوانید فرمتی را انتخاب کنید که به بهترین وجه با تجربه کاربری برنامه شما مطابقت داشته باشد.
بنر
واحدهای تبلیغاتی بنری، تبلیغات مستطیلی شکلی را نمایش میدهند که بخشی از طرحبندی برنامه را اشغال میکنند. آنها میتوانند پس از مدت زمان مشخصی به طور خودکار بهروزرسانی شوند. این بدان معناست که کاربران حتی اگر در همان صفحه در برنامه شما باقی بمانند، در فواصل منظم یک تبلیغ جدید را مشاهده میکنند. آنها همچنین سادهترین قالب تبلیغاتی برای پیادهسازی هستند.
بینابینی
واحدهای تبلیغاتی بینابینی، تبلیغات تمام صفحه را در برنامه شما نشان میدهند. آنها را در وقفهها و انتقالهای طبیعی در رابط برنامه خود قرار دهید، مانند بعد از اتمام مرحله در یک برنامه بازی.
تبلیغات بینابینی را پیادهسازی کنید
بومی
تبلیغات بومی، تبلیغاتی هستند که در آنها میتوانید نحوهی نمایش عناصری مانند تیترها و فراخوانهای عمل را در برنامههای خود سفارشی کنید. با طراحی تبلیغ توسط خودتان، میتوانید یک نمایش تبلیغ طبیعی و بدون مزاحمت ایجاد کنید که میتواند به یک تجربه کاربری غنی بیفزاید.
مدیر تبلیغات گوگل دو روش برای پیادهسازی تبلیغات بومی ارائه میدهد: سبکهای بومی و تبلیغات بومی استاندارد از طریق رندر سفارشی.
سبکهای بومی (Native) برای سادهسازی پیادهسازی تبلیغات بومی طراحی شدهاند و اگر در این قالب تازهکار هستید، انتخاب بسیار خوبی هستند. رندر سفارشی (Custom rendering) برای به حداکثر رساندن آزادی شما در ایجاد ارائههایتان طراحی شده است.
پیادهسازی سبکهای بومی پیادهسازی تبلیغات بومی (رندر سفارشی)
پاداش داده شده
واحدهای تبلیغاتی پاداشدار به کاربران این امکان را میدهند که بازی کنند، در نظرسنجیها شرکت کنند یا ویدیو تماشا کنند تا جوایز درونبرنامهای مانند سکه، جان اضافی یا امتیاز کسب کنند. میتوانید جوایز مختلفی را برای واحدهای تبلیغاتی مختلف تعیین کنید و مقادیر پاداش و اقلام دریافتی کاربر را مشخص کنید.
تبلیغات جایزهدار (Rewarded Ads) را پیادهسازی کنید
تبلیغات بینابینی پاداشدار
تبلیغات بینابینی پاداشی نوع جدیدی از قالب تبلیغات تشویقی است که به شما امکان میدهد برای تبلیغاتی که به طور خودکار در حین انتقال طبیعی برنامه ظاهر میشوند، جوایزی مانند سکه یا جان اضافی ارائه دهید.
برخلاف تبلیغات جایزهدار، کاربران برای مشاهدهی تبلیغات بینابینی جایزهدار ملزم به انتخاب نیستند.
به جای دکمهی انتخاب در تبلیغات جایزهدار، تبلیغات بینابینی جایزهدار به یک صفحهی معرفی نیاز دارند که جایزه را اعلام میکند و به کاربران این امکان را میدهد که در صورت تمایل انصراف دهند.
تبلیغات بینابینی پاداشدار را پیادهسازی کنید
برنامه باز است
باز شدن برنامه، نوعی تبلیغ است که هنگام باز شدن یا بازگشت کاربران به برنامه شما ظاهر میشود. این تبلیغ، صفحه بارگذاری را میپوشاند.
تبلیغات باز برنامه را پیاده سازی کنید