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

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

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

  • SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google เวอร์ชัน 7.20.0 ขึ้นไป
  • ทำตามคู่มือเริ่มต้นใช้งานให้เสร็จสมบูรณ์

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

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

Swift

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

Objective-C

self.adLoader = [[GADAdLoader alloc]
      initWithAdUnitID:@"/6499/example/nativeandbanner"
    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: "/6499/example/nativeandbanner", rootViewController: self,
  adTypes: [.native, .gamBanner], options: [bannerViewOptions])

Objective-C

GAMBannerViewOptions *bannerViewOptions = [[GAMBannerViewOptions alloc] init];
bannerViewOptions.enableManualImpressions = YES;
self.adLoader = [[GADAdLoader alloc]
      initWithAdUnitID:@"/6499/example/nativeandbanner"
    rootViewController:self
               adTypes:@[ GADAdLoaderAdTypeNative, GADAdLoaderAdTypeGAMBanner ]
               options:@[ bannerViewOptions ]];

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

Swift

bannerView.recordImpression()

Objective-C

[self.bannerView recordImpression];