تبلیغات بومی

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

هنگامی که یک آگهی بومی بارگذاری می شود ، برنامه شما یک شیء تبلیغاتی را دریافت می کند که حاوی دارایی های آن است ، و برنامه - به جای 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
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)
- (void)adLoader:(GADAdLoader *)adLoader
    didReceiveNativeAd:(GADNativeAd *)nativeAd;

درخواست تبلیغات

پس از شروع GADAdLoader خود ، با loadRequest: روش درخواست تبلیغ:

adLoader.load(GADRequest())
[self.adLoader loadRequest:[GADRequest request]];

متد loadRequest: در GADAdLoader همان اشیاء GADRequest به عنوان بنرها و بینابینی ها می پذیرد. شما می توانید از اشیاء درخواست برای افزودن اطلاعات هدف استفاده کنید، درست مانند سایر انواع تبلیغات.

بارگیری تبلیغات متعدد (اختیاری)

برای بارگذاری چندین تبلیغ در یک درخواست واحد ، هنگام شروع یک GADAdLoader شیء GADMultipleAdsAdLoaderOptions تنظیم کنید.

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 ])
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: ، می تواند با استفاده از تماس ها نتایج درخواست را دریافت کند:

درخواست برای یک آگهی منجر به یک تماس با یکی از آن روش ها می شود.

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

علاوه بر این، 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.
  }

}
@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)
- (void)adLoader:(GADAdLoader *)adLoader
    didFailToReceiveAdWithError:(NSError *)error;

از رویدادهای تبلیغاتی بومی مطلع شوید

برای اطلاع از وقایع مربوط به تعامل AD بومی ، ویژگی نماینده تبلیغات بومی را تنظیم کنید:

nativeAd.delegate = self
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.
}
- (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:

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

  • تبلیغات بومی را زمانی که دیگر استفاده نمی کنید از بین ببرید.

تبلیغ خود را نمایش دهید

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