تبلیغات بومی داراییهای تبلیغاتی هستند که از طریق مؤلفههای رابط کاربری بومی پلتفرم به کاربران ارائه میشوند. آنها با استفاده از همان کلاسهایی که قبلاً در استوریبردهای خود استفاده میکردید نشان داده میشوند و میتوانند برای مطابقت با طراحی بصری برنامه شما قالببندی شوند.
وقتی یک تبلیغ بومی بارگیری میشود، برنامه شما یک شی تبلیغاتی دریافت میکند که حاوی داراییهای آن است و برنامه - به جای Google Mobile Ads SDK - مسئول نمایش آنهاست.
به طور کلی، دو بخش برای اجرای موفقیت آمیز تبلیغات بومی وجود دارد: بارگیری یک تبلیغ با استفاده از SDK و سپس نمایش محتوای تبلیغات در برنامه شما.
این صفحه نحوه استفاده از SDK برای بارگیری تبلیغات بومی را نشان می دهد.
پیش نیازها
- راهنمای شروع را کامل کنید.
همیشه با تبلیغات آزمایشی تست کنید
هنگام ساخت و آزمایش برنامه های خود، مطمئن شوید که از تبلیغات آزمایشی به جای تبلیغات زنده و تولیدی استفاده می کنید.
ساده ترین راه برای بارگیری تبلیغات آزمایشی استفاده از شناسه واحد آگهی آزمایشی اختصاصی ما برای تبلیغات بومی در iOS است:
ca-app-pub-3940256099942544/3986624511
این به طور ویژه پیکربندی شده است تا تبلیغات آزمایشی را برای هر درخواست بازگرداند، و میتوانید هنگام کدنویسی، آزمایش و اشکالزدایی از آن در برنامههای خود استفاده کنید. فقط مطمئن شوید که قبل از انتشار برنامه خود، آن را با شناسه واحد تبلیغاتی خود جایگزین کنید.
برای اطلاعات بیشتر در مورد نحوه عملکرد تبلیغات آزمایشی SDK تبلیغات موبایلی Google، به آگهیهای آزمایشی مراجعه کنید.
بارگذاری تبلیغات
تبلیغات بومی با کلاس GADAdLoader
بارگذاری می شوند که طبق پروتکل GADAdLoaderDelegate
برای نمایندگان خود پیام ارسال می کنند.
بارگذاری آگهی را راه اندازی کنید
قبل از اینکه بتوانید یک تبلیغ را بارگیری کنید، باید بارگذاری آگهی را مقداردهی اولیه کنید. کد زیر نحوه راه اندازی اولیه GADAdLoader
را نشان می دهد:
سویفت
adLoader = GADAdLoader(adUnitID: "ca-app-pub-3940256099942544/3986624511",
// The UIViewController parameter is optional.
rootViewController: rootViewController,
adTypes: [ .native ],
options: [ ... ad loader options objects ... ])
adLoader.delegate = self
هدف-C
self.adLoader = [[GADAdLoader alloc]
initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
// The UIViewController parameter is nullable.
rootViewController:rootViewController
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ ... ad loader options objects ... ]];
self.adLoader.delegate = self;
شما به یک شناسه واحد تبلیغات (میتوانید از شناسه آزمایشی استفاده کنید)، ثابتهایی برای ارسال در آرایه adTypes
برای تعیین قالبهای بومی که میخواهید درخواست کنید، و هر گزینهای که میخواهید در پارامتر options
تنظیم کنید، نیاز دارید. لیست مقادیر ممکن برای پارامتر options
را می توان در صفحه تنظیمات گزینه های تبلیغات بومی یافت.
آرایه adTypes
باید حاوی این ثابت باشد:
نماینده لودر تبلیغات را پیاده سازی کنید
نماینده لودر تبلیغات باید پروتکلهای مخصوص نوع تبلیغ شما را پیادهسازی کند. برای تبلیغات بومی، پروتکل GADNativeAdLoaderDelegate
شامل پیامی است که هنگام بارگیری آگهی بومی برای نماینده ارسال میشود.
سویفت
public func adLoader(_ adLoader: GADAdLoader,
didReceive nativeAd: GADNativeAd)
هدف-C
- (void)adLoader:(GADAdLoader *)adLoader
didReceiveNativeAd:(GADNativeAd *)nativeAd;
درخواست تبلیغات
هنگامی که GADAdLoader
شما مقداردهی اولیه شد، متد loadRequest:
آن را برای درخواست تبلیغ فراخوانی کنید:
سویفت
adLoader.load(GADRequest())
هدف-C
[self.adLoader loadRequest:[GADRequest request]];
متد loadRequest:
در GADAdLoader
همان اشیاء GADRequest
را به عنوان بنرها و بینابینی ها می پذیرد. شما می توانید از اشیاء درخواست برای افزودن اطلاعات هدف استفاده کنید، درست مانند سایر انواع تبلیغات.
بارگیری تبلیغات متعدد (اختیاری)
برای بارگیری چند آگهی در یک درخواست واحد، شی GADMultipleAdsAdLoaderOptions
را هنگام مقداردهی اولیه یک GADAdLoader
تنظیم کنید.
سویفت
let multipleAdOptions = GADMultipleAdsAdLoaderOptions()
multipleAdOptions.numberOfAds = 5;
adLoader = GADAdLoader(adUnitID: "ca-app-pub-3940256099942544/3986624511",
// The UIViewController parameter is optional.
rootViewController: self,
adTypes: [ .native ],
options: [ multipleAdOptions ])
هدف-C
GADMultipleAdsAdLoaderOptions *multipleAdsOptions =
[[GADMultipleAdsAdLoaderOptions alloc] init];
multipleAdsOptions.numberOfAds = 5;
self.adLoader = [[GADAdLoader alloc]
initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
// The UIViewController parameter is nullable.
rootViewController:rootViewController
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ multipleAdsOptions ]];
تعداد آگهیها در هر درخواست محدود شده است، و تضمین نمیشود که SDK تعداد دقیق آگهیهای درخواستی را برگرداند.
تبلیغات بازگردانده شده Google همگی با یکدیگر متفاوت خواهند بود، اگرچه آگهیهای موجودی رزرو شده یا خریداران شخص ثالث تضمین نمیشود که منحصر به فرد باشند.
اگر از میانجیگری استفاده میکنید، از کلاس GADMultipleAdsAdLoaderOptions
استفاده نکنید، زیرا درخواستهای چند آگهی بومی در حال حاضر برای شناسههای واحد تبلیغاتی که برای میانجیگری پیکربندی شدهاند کار نمیکنند.
تعیین زمان پایان بارگیری
پس از اینکه یک برنامه با loadRequest:
میتواند نتایج درخواست را با استفاده از تماسهایی به:
-
adLoader:didFailToReceiveAdWithError:
درGADAdLoaderDelegate
-
adLoader:didReceiveNativeAd:
درGADNativeAdLoaderDelegate
درخواست برای یک آگهی منجر به یک تماس با یکی از آن روش ها می شود.
درخواست برای تبلیغات چندگانه منجر به حداقل یک تماس مجدد به روش های فوق می شود، اما بیش از حداکثر تعداد آگهی های درخواستی.
علاوه بر این، GADAdLoaderDelegate
پاسخ تماس adLoaderDidFinishLoading
را ارائه می دهد. این روش نمایندگی نشان میدهد که یک بارکننده آگهی بارگیری تبلیغات را به پایان رسانده است و هیچ آگهی یا خطای دیگری برای درخواست گزارش نمیشود. در اینجا مثالی از نحوه استفاده از آن هنگام بارگیری چندین تبلیغ بومی در یک زمان آورده شده است:
سویفت
class ViewController: UIViewController, GADNativeAdLoaderDelegate {
var adLoader: GADAdLoader!
override func viewDidLoad() {
super.viewDidLoad()
let multipleAdOptions = GADMultipleAdsAdLoaderOptions()
multipleAdOptions.numberOfAds = 5;
adLoader = GADAdLoader(adUnitID: "ca-app-pub-3940256099942544/3986624511",
// The UIViewController parameter is optional.
rootViewController: rootViewController,
adTypes: [ .native ],
options: [ multipleAdOptions ])
adLoader.delegate = self
adLoader.load(GADRequest())
}
func adLoader(_ adLoader: GADAdLoader,
didReceive nativeAd: GADNativeAd) {
// A native ad has loaded, and can be displayed.
}
func adLoaderDidFinishLoading(_ adLoader: GADAdLoader) {
// The adLoader has finished loading ads, and a new request can be sent.
}
}
هدف-C
@interface ViewController () <GADNativeAdLoaderDelegate, GADVideoControllerDelegate>
@property(nonatomic, strong) GADAdLoader *adLoader;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
GADMultipleAdsAdLoaderOptions *multipleAdsOptions =
[[GADMultipleAdsAdLoaderOptions alloc] init];
multipleAdsOptions.numberOfAds = 5;
self.adLoader = [[GADAdLoader alloc]
initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
// The UIViewController parameter is nullable.
rootViewController:rootViewController
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ multipleAdsOptions ]];
self.adLoader.delegate = self;
[self.adLoader loadRequest:[GADRequest request]];
}
- (void)adLoader:(GADAdLoader *)adLoader
didReceiveNativeAd:(GADNativeAd *)nativeAd {
// A native ad has loaded, and can be displayed.
}
- (void)adLoaderDidFinishLoading:(GADAdLoader *) adLoader {
// The adLoader has finished loading ads, and a new request can be sent.
}
@end
رسیدگی به درخواست های ناموفق
پروتکل های بالا پروتکل GADAdLoaderDelegate
را گسترش می دهند، که پیامی را تعریف می کند که زمانی که تبلیغات بارگیری نمی شود ارسال می شود.
سویفت
public func adLoader(_ adLoader: GADAdLoader,
didFailToReceiveAdWithError error: NSError)
هدف-C
- (void)adLoader:(GADAdLoader *)adLoader
didFailToReceiveAdWithError:(NSError *)error;
از رویدادهای تبلیغاتی بومی مطلع شوید
برای اطلاع از رویدادهای مربوط به تعاملات تبلیغاتی بومی، ویژگی نمایندگی تبلیغ بومی را تنظیم کنید:
سویفت
nativeAd.delegate = self
هدف-C
nativeAd.delegate = self;
سپس GADNativeAdDelegate
برای دریافت تماس های نماینده زیر پیاده سازی کنید:
سویفت
func nativeAdDidRecordImpression(_ nativeAd: GADNativeAd) {
// The native ad was shown.
}
func nativeAdDidRecordClick(_ nativeAd: GADNativeAd) {
// The native ad was clicked on.
}
func nativeAdWillPresentScreen(_ nativeAd: GADNativeAd) {
// The native ad will present a full screen view.
}
func nativeAdWillDismissScreen(_ nativeAd: GADNativeAd) {
// The native ad will dismiss a full screen view.
}
func nativeAdDidDismissScreen(_ nativeAd: GADNativeAd) {
// The native ad did dismiss a full screen view.
}
func nativeAdWillLeaveApplication(_ nativeAd: GADNativeAd) {
// The native ad will cause the app to become inactive and
// open a new app.
}
هدف-C
- (void)nativeAdDidRecordImpression:(GADNativeAd *)nativeAd {
// The native ad was shown.
}
- (void)nativeAdDidRecordClick:(GADNativeAd *)nativeAd {
// The native ad was clicked on.
}
- (void)nativeAdWillPresentScreen:(GADNativeAd *)nativeAd {
// The native ad will present a full screen view.
}
- (void)nativeAdWillDismissScreen:(GADNativeAd *)nativeAd {
// The native ad will dismiss a full screen view.
}
- (void)nativeAdDidDismissScreen:(GADNativeAd *)nativeAd {
// The native ad did dismiss a full screen view.
}
- (void)nativeAdWillLeaveApplication:(GADNativeAd *)nativeAd {
// The native ad will cause the app to become inactive and
// open a new app.
}
بهترین شیوه ها
هنگام بارگذاری تبلیغات از این قوانین پیروی کنید.
برنامههایی که از تبلیغات بومی در فهرست استفاده میکنند، باید فهرست تبلیغات را از قبل ذخیره کنند.
هنگام پیش کش کردن تبلیغات، حافظه پنهان خود را پاک کنید و پس از یک ساعت دوباره بارگیری کنید.
loadRequest:
که توسطGADAdLoader
adLoaderDidFinishLoading:
حافظه پنهان تبلیغات بومی را فقط به موارد مورد نیاز محدود کنید. به عنوان مثال هنگام پیش کش کردن، فقط تبلیغاتی را ذخیره کنید که بلافاصله روی صفحه قابل مشاهده هستند. تبلیغات بومی دارای حافظه زیادی هستند و ذخیره تبلیغات بومی بدون از بین بردن آنها منجر به استفاده بیش از حد از حافظه می شود.
تبلیغات بومی را زمانی که دیگر استفاده نمی کنید از بین ببرید.
تبلیغ خود را نمایش دهید
هنگامی که یک تبلیغ را بارگذاری کردید، تنها چیزی که باقی می ماند نمایش آن برای کاربران است. برای مشاهده نحوه انجام، به راهنمای پیشرفته بومی ما مراجعه کنید.