การรวมคำขอโฆษณาเนทีฟที่แสดงผลที่กำหนดเองและโฆษณาแบนเนอร์

คุณสามารถรวมโฆษณาเนทีฟและโฆษณาแบนเนอร์ในคำขอโฆษณาได้โดยทำการเปลี่ยนแปลงโค้ดเพียงเล็กน้อย

ข้อกำหนดเบื้องต้น

การโหลดโฆษณา

ระบบจะโหลดโฆษณาเนทีฟที่แสดงผลที่กำหนดเองผ่าน GADAdLoader ออบเจ็กต์ นอกจากนี้ คุณยังกำหนดค่าออบเจ็กต์ GADAdLoader เพื่อส่งคำขอโฆษณาที่อาจส่งผลให้แสดงโฆษณาแบนเนอร์หรือโฆษณาเนทีฟก็ได้ การเพิ่ม GADAdLoaderAdTypeGAMBanner ลงในพารามิเตอร์อาร์เรย์ adTypes พร้อมกับ ประเภทโฆษณาเนทีฟ เช่น GADAdLoaderAdTypeNative เมื่อสร้างออบเจ็กต์ GADAdLoader จะระบุว่าโฆษณาแบนเนอร์ควรแข่งขันกับโฆษณาเนทีฟ เพื่อแสดงตามคำขอ

Swift

adLoader = GADAdLoader(adUnitID: "/21775744923/example/native-and-banner",
    rootViewController: self,
    adTypes: [.native, .gamBanner],
    options: [... ad loader options objects ...])
adLoader.delegate = self

Objective-C

self.adLoader = [[GADAdLoader alloc]
      initWithAdUnitID:@"/21775744923/example/native-and-banner"
    rootViewController:rootViewController
               adTypes:@[ GADAdLoaderAdTypeNative, GADAdLoaderAdTypeGAMBanner ]
               options:@[ ... ad loader options objects ... ]];
self.adLoader.delegate = self;

GAMBannerAdLoaderDelegate

เมื่อส่งคำขอโฆษณาแบนเนอร์ผ่าน GADAdLoader ผู้รับมอบสิทธิ์ของตัวโหลดโฆษณาต้องเป็นไปตามโปรโตคอล GAMBannerAdLoaderDelegate โปรโตคอลนี้มีข้อความที่จะส่งเมื่อโหลดโฆษณาแบนเนอร์แล้ว ดังนี้

Swift

public func adLoader(_ adLoader: GADAdLoader,
    didReceive GAMBannerView: GAMBannerView)

Objective-C

- (void)adLoader:(GADAdLoader *)adLoader didReceiveGAMBannerView:(GAMBannerView *)bannerView;

ผู้รับมอบสิทธิ์ของตัวโหลดโฆษณาต้องระบุขนาดโฆษณาแบนเนอร์ที่จะขอโดยตอบกลับข้อความ validBannerSizesForAdLoader ดังที่แสดงด้านล่างด้วย

Swift

public func validBannerSizes(for adLoader: GADAdLoader) -> [NSValue] {
  return [NSValueFromGADAdSize(GADAdSizeBanner),
    NSValueFromGADAdSize(GADAdSizeMediumRectangle),
    NSValueFromGADAdSize(GADAdSizeFromCGSize(CGSize(width: 120, height: 20)))]
}

Objective-C

- (NSArray *)validBannerSizesForAdLoader:(GADAdLoader *)adLoader {
  return @[
    @(GADAdSizeBanner),
    @(GADAdSizeMediumRectangle),
    @(GADAdSizeFromCGSize(CGSizeMake(120, 20)))
  ];
}

การนับการแสดงผลด้วยตนเอง

หากต้องการเปิดใช้การนับการแสดงผลด้วยตนเอง ในโฆษณาแบนเนอร์ที่โหลดผ่าน GADAdLoader ให้ตั้งค่า GAMBannerViewOptions โดยตั้งค่า enableManualImpressions เป็น YES เมื่อเริ่มต้น GADAdLoader

Swift

let bannerViewOptions = GAMBannerViewOptions()
bannerViewOptions.enableManualImpressions = true
adLoader = GADAdLoader(
  adUnitID: "/21775744923/example/native-and-banner", rootViewController: self,
  adTypes: [.native, .gamBanner], options: [bannerViewOptions])

Objective-C

GAMBannerViewOptions *bannerViewOptions = [[GAMBannerViewOptions alloc] init];
bannerViewOptions.enableManualImpressions = YES;
self.adLoader = [[GADAdLoader alloc]
      initWithAdUnitID:@"/21775744923/example/native-and-banner"
    rootViewController:self
               adTypes:@[ GADAdLoaderAdTypeNative, GADAdLoaderAdTypeGAMBanner ]
               options:@[ bannerViewOptions ]];

หากโหลดโฆษณาแบนเนอร์ คุณสามารถเรียก recordManualImpression เมื่อพิจารณาแล้วว่าระบบแสดงโฆษณาได้สำเร็จและโฆษณาอยู่บนหน้าจอเพื่อทริกเกอร์การแสดงผลด้วยตนเองได้ ดังนี้

Swift

bannerView.recordImpression()

Objective-C

[self.bannerView recordImpression];