تبلیغات بومی

تبلیغات بومی دارایی‌های تبلیغاتی هستند که از طریق مؤلفه‌های رابط کاربری که در پلتفرم بومی هستند به کاربران ارائه می‌شوند. آنها با استفاده از همان کلاس‌هایی که قبلاً در استوری‌بردهای خود استفاده می‌کردید نشان داده می‌شوند و می‌توانند برای مطابقت با طراحی بصری برنامه شما قالب‌بندی شوند. وقتی یک تبلیغ بومی بارگیری می‌شود، برنامه شما یک شی تبلیغاتی را دریافت می‌کند که حاوی دارایی‌های آن است و سپس برنامه (به جای SDK) مسئول نمایش آن‌ها است. این با سایر قالب‌های تبلیغاتی متفاوت است، که به شما اجازه نمی‌دهند ظاهر آگهی را سفارشی کنید.

این راهنما به شما نحوه استفاده از Google Mobile Ads SDK را برای پیاده سازی تبلیغات بومیدر یک برنامه iOS و همچنین برخی از موارد مهمی که در طول مسیر باید در نظر بگیرید، به شما نشان می دهد.

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

اگر قبلاً تبلیغات بومی را با موفقیت بارگیری می‌کنید، و فقط باید بدانید که چگونه آنها را نمایش دهید، به راحتی به الگوهای بومی یا راهنماهای پیشرفته بومی ما بروید.

پیش نیازها

همیشه با تبلیغات آزمایشی تست کنید

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

ساده ترین راه برای بارگیری تبلیغات آزمایشی استفاده از شناسه واحد آگهی آزمایشی اختصاصی ما برای همه تبلیغات پیشرفته بومی در iOS است:

ca-app-pub-3940256099942544/3986624511

این به‌طور ویژه پیکربندی شده است تا تبلیغات آزمایشی را برای هر درخواست بازگرداند، و شما می‌توانید هنگام کدنویسی، آزمایش و اشکال‌زدایی از آن در برنامه‌های خود استفاده کنید. فقط مطمئن شوید که قبل از انتشار برنامه خود، آن را با شناسه واحد تبلیغاتی خود جایگزین کنید.

برای کسب اطلاعات بیشتر در مورد نحوه عملکرد تبلیغات آزمایشی SDK Ads Mobile، به Test Ads مراجعه کنید.

در حال بارگذاری تبلیغات

تبلیغات بومی از طریق اشیاء GADAdLoader بارگیری می شوند که طبق پروتکل GADAdLoaderDelegate برای نمایندگان خود پیام ارسال می کنند.

بارگذاری آگهی را راه اندازی کنید

قبل از اینکه بتوانید یک تبلیغ را بارگیری کنید، باید بارگذاری آگهی را مقداردهی اولیه کنید. کد زیر نحوه راه اندازی اولیه GADAdLoader را نشان می دهد:

سریع

adLoader = GADAdLoader(adUnitID: "ca-app-pub-3940256099942544/3986624511",
    rootViewController: self,
    adTypes: [ .native ],
    options: [ ... ad loader options objects ... ])
adLoader.delegate = self

هدف-C

self.adLoader = [[GADAdLoader alloc]
      initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
    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 را به عنوان بنرها و بینابینی ها می پذیرد. شما می توانید از اشیاء درخواست برای افزودن اطلاعات هدف استفاده کنید، درست مانند سایر انواع تبلیغات.

زمان درخواست تبلیغات

برنامه‌هایی که آگهی‌های بومی را نمایش می‌دهند می‌توانند از قبل از زمانی که واقعاً نمایش داده شوند، آنها را درخواست کنند. در بسیاری از موارد، این عمل توصیه شده است. برای مثال، برنامه‌ای که فهرستی از آیتم‌ها با تبلیغات بومی ترکیب شده را نشان می‌دهد، می‌تواند تبلیغات بومی را برای کل فهرست بارگیری کند، زیرا می‌داند که برخی از آن‌ها تنها پس از پیمایش کاربر نمایش داده می‌شوند و برخی ممکن است اصلاً نمایش داده نشوند.

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

تعیین زمان پایان بارگیری

پس از اینکه یک برنامه با loadRequest: می‌تواند نتایج درخواست را از طریق تماس با:

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

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

علاوه بر این، GADAdLoaderDelegate پاسخ تماس adLoaderDidFinishLoading را ارائه می دهد. این روش نمایندگی نشان می‌دهد که یک بارکننده آگهی بارگیری تبلیغات را به پایان رسانده است و هیچ آگهی یا خطای دیگری برای درخواست گزارش نمی‌شود. در اینجا مثالی از نحوه استفاده از آن هنگام بارگیری چندین تبلیغ بومی در یک زمان آورده شده است:

سریع

class ViewController: UIViewController, GADNativeAdLoaderDelegate {

  var adLoader: GADAdLoader!

  override func viewDidLoad() {
    super.viewDidLoad()

    let multipleAdsOptions = GADMultipleAdsAdLoaderOptions()
    multipleAdsOptions.numberOfAds = 5

    adLoader = GADAdLoader(adUnitID: YOUR_AD_UNIT_ID, rootViewController: self,
        adTypes: [.native],
        options: [multipleAdsOptions])
    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:YOUR_AD_UNIT_ID
          rootViewController:self
                     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 application to become inactive and
  // open a new application.
}

هدف-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 application to become inactive and
  // open a new application.
}

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

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