โฆษณาแบนเนอร์คือโฆษณาสี่เหลี่ยมผืนผ้าที่ยึดพื้นที่ส่วนหนึ่งของเลย์เอาต์ของแอป โฆษณาเหล่านี้จะยังคงแสดงบนหน้าจอโดยอาจตรึงอยู่ที่ด้านบนหรือด้านล่างของหน้าจอ หรือแทรกอยู่ในเนื้อหาขณะที่ผู้ใช้เลื่อนดู โฆษณาแบนเนอร์จะรีเฟรชโดยอัตโนมัติหลังจากเวลาผ่านไปช่วงหนึ่ง ดูภาพรวมของโฆษณาแบนเนอร์ สำหรับข้อมูลเพิ่มเติม
คู่มือนี้จะแสดงวิธีเริ่มต้นใช้งานโฆษณาแบนเนอร์แบบปรับขนาดได้ที่ยึดตามตำแหน่งเดิม ซึ่งจะเพิ่มประสิทธิภาพให้สูงสุดด้วยการปรับขนาดโฆษณาให้เหมาะสมกับอุปกรณ์แต่ละประเภทโดยใช้ความกว้างโฆษณาที่คุณระบุ
แบนเนอร์แบบปรับขนาดได้ที่ยึดตำแหน่งไว้
โฆษณาแบนเนอร์ยึดตําแหน่งที่ปรับเปลี่ยนได้คือโฆษณาที่มีสัดส่วนภาพคงที่ ไม่ใช่โฆษณาขนาดคงที่ตามปกติ สัดส่วนภาพคล้ายกับมาตรฐานอุตสาหกรรมขนาด 320x50 เมื่อคุณระบุความกว้างเต็มที่มีอยู่ ระบบจะแสดงโฆษณาที่มีความสูงเหมาะสมที่สุดสำหรับความกว้างนั้น ความสูงที่เหมาะสมจะไม่เปลี่ยนแปลงในคำขอจากอุปกรณ์เดียวกัน และคุณไม่จำเป็นต้องขยับมุมมองโดยรอบเมื่อโฆษณารีเฟรช
ข้อกำหนดเบื้องต้น
- ทำตามคู่มือเริ่มต้นใช้งาน
ทดสอบด้วยโฆษณาทดสอบเสมอ
เมื่อสร้างและทดสอบแอป โปรดใช้โฆษณาทดสอบแทนโฆษณาเวอร์ชันที่ใช้งานจริง หากไม่ดำเนินการดังกล่าวอาจส่งผลให้บัญชีถูกระงับ
วิธีที่ง่ายที่สุดในการโหลดโฆษณาทดสอบคือการใช้รหัสหน่วยโฆษณาทดสอบสําหรับแบนเนอร์ iOS โดยเฉพาะ ดังนี้
/21775744923/example/adaptive-banner
อุปกรณ์นี้ได้รับการกําหนดค่ามาเป็นพิเศษให้แสดงโฆษณาทดสอบสําหรับคําขอทุกรายการ และคุณใช้อุปกรณ์นี้ในแอปของคุณเองได้ขณะเขียนโค้ด ทดสอบ และแก้ไขข้อบกพร่อง เพียงตรวจสอบว่าคุณได้แทนที่รหัสดังกล่าวด้วยรหัสหน่วยโฆษณาของคุณเองก่อนเผยแพร่แอป
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำงานของโฆษณาทดสอบของ SDK โฆษณาบนอุปกรณ์เคลื่อนที่ โปรดดูโฆษณาทดสอบ
สร้าง GAMแบนเนอร์View
โฆษณาแบนเนอร์จะแสดงในออบเจ็กต์ GAMBannerView
ดังนั้นขั้นตอนแรกในการผสานรวมโฆษณาแบนเนอร์คือการใส่ GAMBannerView
ในลำดับชั้นการแสดงผล ซึ่งโดยปกติจะดำเนินการแบบเป็นโปรแกรมหรือผ่าน Interface Builder
แบบเป็นโปรแกรม
นอกจากนี้ GAMBannerView
ยังสร้างอินสแตนซ์ได้โดยตรง
ตัวอย่างต่อไปนี้สร้าง GAMBannerView
Swift
import GoogleMobileAds
import UIKit
class ViewController: UIViewController {
var bannerView: GAMBannerView!
override func viewDidLoad() {
super.viewDidLoad()
let viewWidth = view.frame.inset(by: view.safeAreaInsets).width
// Here the current interface orientation is used. Use
// GADLandscapeAnchoredAdaptiveBannerAdSizeWithWidth or
// GADPortraitAnchoredAdaptiveBannerAdSizeWithWidth if you prefer to load an ad of a
// particular orientation,
let adaptiveSize = GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(viewWidth)
bannerView = GAMBannerView(adSize: adaptiveSize)
addBannerViewToView(bannerView)
}
func addBannerViewToView(_ bannerView: GAMBannerView) {
bannerView.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(bannerView)
// This example doesn't give width or height constraints, as the provided
// ad size gives the banner an intrinsic content size to size the view.
view.addConstraints(
[NSLayoutConstraint(item: bannerView,
attribute: .bottom,
relatedBy: .equal,
toItem: view.safeAreaLayoutGuide,
attribute: .bottom,
multiplier: 1,
constant: 0),
NSLayoutConstraint(item: bannerView,
attribute: .centerX,
relatedBy: .equal,
toItem: view,
attribute: .centerX,
multiplier: 1,
constant: 0)
])
}
}
SwiftUI
หากต้องการใช้ GAMBannerView
ให้สร้าง UIViewRepresentable
โดยทำดังนี้
private struct BannerView: UIViewRepresentable {
let adSize: GADAdSize
init(_ adSize: GADAdSize) {
self.adSize = adSize
}
func makeUIView(context: Context) -> UIView {
// Wrap the GADBannerView in a UIView. GADBannerView automatically reloads a new ad when its
// frame size changes; wrapping in a UIView container insulates the GADBannerView from size
// changes that impact the view returned from makeUIView.
let view = UIView()
view.addSubview(context.coordinator.bannerView)
return view
}
func updateUIView(_ uiView: UIView, context: Context) {
context.coordinator.bannerView.adSize = adSize
}
func makeCoordinator() -> BannerCoordinator {
return BannerCoordinator(self)
}
หากต้องการจัดการการเริ่มต้นและลักษณะการทำงานของ GAMBannerView
ให้สร้าง Coordinator
ดังนี้
class BannerCoordinator: NSObject, GADBannerViewDelegate {
private(set) lazy var bannerView: GADBannerView = {
let banner = GADBannerView(adSize: parent.adSize)
banner.adUnitID = "ca-app-pub-3940256099942544/2435281174"
banner.load(GADRequest())
banner.delegate = self
return banner
}()
let parent: BannerView
init(_ parent: BannerView) {
self.parent = parent
}
หากต้องการดูความกว้างของมุมมอง ให้ใช้ GeometryReader
คลาสนี้จะคำนวณขนาดโฆษณาที่เหมาะสมสำหรับการวางแนวอุปกรณ์ปัจจุบัน ระบบจะตั้งค่า frame
เป็นค่าความสูงที่คำนวณจากขนาดโฆษณา
var body: some View {
GeometryReader { geometry in
let adSize = GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(geometry.size.width)
VStack {
Spacer()
BannerView(adSize)
.frame(height: adSize.size.height)
}
}
Objective-C
โปรดทราบว่าในกรณีนี้ เราจะไม่ระบุข้อจำกัดความกว้างหรือความสูง เนื่องจากขนาดโฆษณาที่ระบุจะให้แบนเนอร์มีขนาดเนื้อหาตามธรรมชาติเพื่อปรับขนาดวิว
@import GoogleMobileAds;
@interface ViewController ()
@property(nonatomic, strong) GAMBannerView *bannerView;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Here safe area is taken into account, hence the view frame is used after the
// view has been laid out.
CGRect frame = UIEdgeInsetsInsetRect(self.view.frame, self.view.safeAreaInsets);
CGFloat viewWidth = frame.size.width;
// Here the current interface orientation is used. If the ad is being preloaded
// for a future orientation change or different orientation, the function for the
// relevant orientation should be used.
GADAdSize adaptiveSize = GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(viewWidth);
// In this case, we instantiate the banner with desired ad size.
self.bannerView = [[GAMBannerView alloc] initWithAdSize:adaptiveSize];
[self addBannerViewToView:self.bannerView];
}
- (void)addBannerViewToView:(UIView *)bannerView {
bannerView.translatesAutoresizingMaskIntoConstraints = NO;
[self.view addSubview:bannerView];
// This example doesn't give width or height constraints, as the provided
// ad size gives the banner an intrinsic content size to size the view.
[self.view addConstraints:@[
[NSLayoutConstraint constraintWithItem:bannerView
attribute:NSLayoutAttributeBottom
relatedBy:NSLayoutRelationEqual
toItem:self.view.safeAreaLayoutGuide
attribute:NSLayoutAttributeBottom
multiplier:1
constant:0],
[NSLayoutConstraint constraintWithItem:bannerView
attribute:NSLayoutAttributeCenterX
relatedBy:NSLayoutRelationEqual
toItem:self.view
attribute:NSLayoutAttributeCenterX
multiplier:1
constant:0]
]];
}
@end
Interface Builder
คุณสามารถเพิ่ม GAMBannerView
ลงในสตอรี่บอร์ดหรือไฟล์ xib ได้ เมื่อใช้วิธีนี้ โปรดเพิ่มเฉพาะข้อจำกัดตำแหน่งบนแบนเนอร์ เช่น เมื่อแสดงแบนเนอร์แบบปรับขนาดได้ที่ด้านล่างของหน้าจอ ให้ตั้งค่ามุมมองแบนเนอร์ด้านล่างให้เท่ากับด้านบนของคู่มือเลย์เอาต์ด้านล่าง และตั้งค่าข้อจำกัดของ centerX
ให้เท่ากับ centerX
ของมุมมองพิเศษ
ระบบจะยังคงกำหนดขนาดโฆษณาของแบนเนอร์แบบเป็นโปรแกรม ดังนี้
Swift
bannerView.adSize = GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(viewWidth)
Objective-C
self.bannerView.adSize = GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(viewWidth);
โหลดโฆษณา
เมื่อ GAMBannerView
อยู่ในตําแหน่งและมีการกำหนดค่าพร็อพเพอร์ตี้แล้ว ก็ถึงเวลาโหลดโฆษณา ซึ่งทำได้ด้วยการเรียกใช้ loadRequest:
บนออบเจ็กต์ GAMRequest
ดังนี้
Swift
override func viewDidLoad() {
super.viewDidLoad()
// Set the ad unit ID and view controller that contains the GAMBannerView.
bannerView.adUnitID = "/21775744923/example/adaptive-banner"
bannerView.rootViewController = self
bannerView.load(GAMRequest())
}
SwiftUI
banner.adUnitID = "ca-app-pub-3940256099942544/2435281174"
banner.load(GADRequest())
Objective-C
- (void)viewDidLoad {
[super viewDidLoad];
// Set the ad unit ID and view controller that contains the GAMBannerView.
self.bannerView.adUnitID = @"/21775744923/example/adaptive-banner";
self.bannerView.rootViewController = self;
[self.bannerView loadRequest:[GAMRequest request]];
}
ออบเจ็กต์ GAMRequest แสดงถึงคําขอโฆษณารายการเดียว และมีพร็อพเพอร์ตี้สําหรับข้อมูลต่างๆ เช่น ข้อมูลการกําหนดเป้าหมาย
หากโฆษณาโหลดไม่สําเร็จ คุณไม่จําเป็นต้องขอโฆษณาอื่นอย่างชัดเจน ตราบใดที่คุณกําหนดค่าหน่วยโฆษณาให้รีเฟรช Google Mobile Ads SDK จะเป็นไปตามอัตราการรีเฟรชที่คุณระบุไว้ใน UI ของ Ad Manager หากไม่ได้เปิดใช้การรีเฟรช คุณจะต้องส่งคำขอใหม่
เหตุการณ์โฆษณา
การใช้ GADBannerViewDelegate
ช่วยให้คุณรอฟังเหตุการณ์ในวงจรของลูกค้าได้ เช่น เมื่อปิดโฆษณาหรือผู้ใช้ออกจากแอป
ลงทะเบียนเข้าร่วมกิจกรรมในแบนเนอร์
หากต้องการลงทะเบียนเหตุการณ์โฆษณาแบนเนอร์ ให้ตั้งค่าพร็อพเพอร์ตี้ delegate
ใน
GAMBannerView
เป็นออบเจ็กต์ที่ใช้โปรโตคอล
GADBannerViewDelegate
โดยทั่วไปแล้ว คลาสที่ใช้โฆษณาแบนเนอร์จะทำหน้าที่เป็นคลาสผู้รับมอบสิทธิ์ด้วย ในกรณีนี้ คุณสามารถตั้งค่าพร็อพเพอร์ตี้ delegate
เป็น self
ได้
Swift
import GoogleMobileAds
import UIKit
class ViewController: UIViewController, GADBannerViewDelegate {
var bannerView: GAMBannerView!
override func viewDidLoad() {
super.viewDidLoad()
// ...
bannerView.delegate = self
}
}
SwiftUI
banner.delegate = self
Objective-C
@import GoogleMobileAds;
@interface ViewController () <GADBannerViewDelegate>
@property(nonatomic, strong) GAMBannerView *bannerView;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// ...
self.bannerView.delegate = self;
}
ใช้เหตุการณ์แบนเนอร์
วิธีการแต่ละรายการใน GADBannerViewDelegate
มีการทำเครื่องหมายว่าไม่บังคับ คุณจึงติดตั้งใช้งานเฉพาะวิธีการที่ต้องการได้ ตัวอย่างนี้ใช้แต่ละเมธอดและบันทึกข้อความไปยังคอนโซล
Swift
func bannerViewDidReceiveAd(_ bannerView: GADBannerView) {
print("bannerViewDidReceiveAd")
}
func bannerView(_ bannerView: GADBannerView, didFailToReceiveAdWithError error: Error) {
print("bannerView:didFailToReceiveAdWithError: \(error.localizedDescription)")
}
func bannerViewDidRecordImpression(_ bannerView: GADBannerView) {
print("bannerViewDidRecordImpression")
}
func bannerViewWillPresentScreen(_ bannerView: GADBannerView) {
print("bannerViewWillPresentScreen")
}
func bannerViewWillDismissScreen(_ bannerView: GADBannerView) {
print("bannerViewWillDIsmissScreen")
}
func bannerViewDidDismissScreen(_ bannerView: GADBannerView) {
print("bannerViewDidDismissScreen")
}
Objective-C
- (void)bannerViewDidReceiveAd:(GADBannerView *)bannerView {
NSLog(@"bannerViewDidReceiveAd");
}
- (void)bannerView:(GADBannerView *)bannerView didFailToReceiveAdWithError:(NSError *)error {
NSLog(@"bannerView:didFailToReceiveAdWithError: %@", [error localizedDescription]);
}
- (void)bannerViewDidRecordImpression:(GADBannerView *)bannerView {
NSLog(@"bannerViewDidRecordImpression");
}
- (void)bannerViewWillPresentScreen:(GADBannerView *)bannerView {
NSLog(@"bannerViewWillPresentScreen");
}
- (void)bannerViewWillDismissScreen:(GADBannerView *)bannerView {
NSLog(@"bannerViewWillDismissScreen");
}
- (void)bannerViewDidDismissScreen:(GADBannerView *)bannerView {
NSLog(@"bannerViewDidDismissScreen");
}
ดูตัวอย่างการมอบสิทธิ์โฆษณาเพื่อการใช้เมธอดการมอบสิทธิ์แบนเนอร์ในแอปเดโมของ iOS API
กรณีการใช้งาน
ตัวอย่างกรณีการใช้งานเมธอดเหตุการณ์โฆษณามีดังนี้
เพิ่มแบนเนอร์ลงในลําดับชั้นของมุมมองเมื่อได้รับโฆษณา
คุณอาจต้องรอสักครู่ก่อนที่จะเพิ่ม GAMBannerView
ลงในลําดับชั้นของมุมมองจนกว่าจะได้รับการโฆษณา ซึ่งทำได้โดยฟังเหตุการณ์ bannerViewDidReceiveAd:
Swift
func bannerViewDidReceiveAd(_ bannerView: GADBannerView) {
// Add banner to view and add constraints.
addBannerViewToView(bannerView)
}
Objective-C
- (void)bannerViewDidReceiveAd:(GAMBannerView *)bannerView {
// Add bannerView to view and add constraints as above.
[self addBannerViewToView:self.bannerView];
}
สร้างภาพเคลื่อนไหวของโฆษณาแบนเนอร์
นอกจากนี้ คุณยังใช้เหตุการณ์ bannerViewDidReceiveAd:
เพื่อแสดงภาพเคลื่อนไหวของโฆษณาแบนเนอร์ได้เมื่อโฆษณาแสดงผลแล้ว ดังที่แสดงในตัวอย่างต่อไปนี้
Swift
func bannerViewDidReceiveAd(_ bannerView: GADBannerView) {
bannerView.alpha = 0
UIView.animate(withDuration: 1, animations: {
bannerView.alpha = 1
})
}
Objective-C
- (void)bannerViewDidReceiveAd:(GAMBannerView *)bannerView {
bannerView.alpha = 0;
[UIView animateWithDuration:1.0 animations:^{
bannerView.alpha = 1;
}];
}
หยุดแอปชั่วคราวและเล่นต่อ
โปรโตคอล GADBannerViewDelegate
มีวิธีการแจ้งเตือนคุณเกี่ยวกับเหตุการณ์ต่างๆ เช่น เมื่อการคลิกทําให้ระบบแสดงหรือปิดการวางซ้อน หากต้องการติดตามว่าเหตุการณ์เหล่านี้เกิดจากโฆษณาหรือไม่ ให้ลงทะเบียนใช้GADBannerViewDelegate
วิธีการเหล่านี้
หากต้องการตรวจจับงานนำเสนอซ้อนทับหรือการเรียกใช้เบราว์เซอร์ภายนอกทุกประเภท ไม่ใช่เฉพาะที่มาจากการคลิกโฆษณา แอปควรฟังวิธีการที่เทียบเท่าใน UIViewController
หรือ UIApplication
ได้ดีกว่า ต่อไปนี้คือตารางที่แสดงเมธอด iOS ที่เทียบเท่าซึ่งเรียกใช้พร้อมกันกับเมธอด GADBannerViewDelegate
เมธอด GADBannerViewDelegate | วิธีการสำหรับ iOS |
---|---|
bannerViewWillPresentScreen: |
viewWillDisappear: ของ UIViewController |
bannerViewWillDismissScreen: |
viewWillAppear: ของ UIViewController |
bannerViewDidDismissScreen: |
viewDidAppear: ของ UIViewController |
การนับการแสดงผลด้วยตนเอง
คุณสามารถส่งคำสั่ง ping ของการแสดงผลไปยัง Ad Manager ด้วยตนเองได้หากคุณมีเงื่อนไขพิเศษว่าจะบันทึกการแสดงผลเมื่อใด ซึ่งทำได้โดยเปิดใช้ GAMBannerView
สําหรับการแสดงผลด้วยตนเองก่อนโหลดโฆษณา
Swift
bannerView.enableManualImpressions = true
Objective-C
self.bannerView.enableManualImpressions = YES;
เมื่อพิจารณาแล้วว่าโฆษณาแสดงบนหน้าจอเรียบร้อยแล้ว คุณก็เรียกการแสดงผลด้วยตนเองได้ ดังนี้
Swift
bannerView.recordImpression()
Objective-C
[self.bannerView recordImpression];
เหตุการณ์ของแอป
เหตุการณ์ของแอปทำให้คุณสามารถสร้างโฆษณาที่จะส่งข้อความไปยังโค้ดของแอปได้ จากนั้นแอปจะดําเนินการตามข้อความเหล่านี้ได้
คุณเฝ้าติดตามเหตุการณ์ในแอปเฉพาะของ Ad Manager ได้โดยใช้ GADAppEventDelegate
เหตุการณ์เหล่านี้อาจเกิดขึ้นได้ทุกเมื่อตลอดอายุการใช้งานของโฆษณา แม้แต่ก่อนที่ระบบจะเรียกใช้bannerViewDidReceiveAd:
ของออบเจ็กต์GADBannerViewDelegate
Swift
// Implement your app event within this method. The delegate will be
// notified when the SDK receives an app event message from the ad.
// Called when the banner receives an app event.
optional public func bannerView(_ banner: GAMBannerView,
didReceiveAppEvent name: String, withInfo info: String?)
Objective-C
// Implement your app event within this method. The delegate will be
// notified when the SDK receives an app event message from the ad.
@optional
// Called when the banner receives an app event.
- (void)bannerView:(GAMBannerView *)banner
didReceiveAppEvent:(NSString *)name
withInfo:(NSString *)info;
วิธีการเหตุการณ์ของแอปสามารถติดตั้งใช้งานใน ViewController ได้ดังนี้
Swift
import GoogleMobileAds
class ViewController: UIViewController, GADAppEventDelegate {}
Objective-C
@import GoogleMobileAds;
@interface ViewController : UIViewController <GADAppEventDelegate> {}
@end
อย่าลืมกำหนดผู้รับมอบสิทธิ์โดยใช้พร็อพเพอร์ตี้ appEventDelegate
ก่อนที่จะส่งคำขอโฆษณา
Swift
bannerView.appEventDelegate = self
Objective-C
self.bannerView.appEventDelegate = self;
ต่อไปนี้คือตัวอย่างที่แสดงวิธีเปลี่ยนสีพื้นหลังของแอปโดยระบุสีผ่านเหตุการณ์ในแอป
Swift
func bannerView(_ banner: GAMBannerView, didReceiveAppEvent name: String,
withInfo info: String?) {
if name == "color" {
guard let info = info else { return }
switch info {
case "green":
// Set background color to green.
view.backgroundColor = UIColor.green
case "blue":
// Set background color to blue.
view.backgroundColor = UIColor.blue
default:
// Set background color to black.
view.backgroundColor = UIColor.black
}
}
}
Objective-C
- (void)bannerView:(GAMBannerView *)banner
didReceiveAppEvent:(NSString *)name
withInfo:(NSString *)info {
if ([name isEqual:@"color"]) {
if ([info isEqual:@"green"]) {
// Set background color to green.
self.view.backgroundColor = [UIColor greenColor];
} else if ([info isEqual:@"blue"]) {
// Set background color to blue.
self.view.backgroundColor = [UIColor blueColor];
} else {
// Set background color to black.
self.view.backgroundColor = [UIColor blackColor];
}
}
}
ครีเอทีฟโฆษณาที่เกี่ยวข้องซึ่งส่งข้อความเหตุการณ์ของแอปที่มีสีไปยัง appEventDelegate
มีดังนี้
<html>
<head>
<script src="//www.gstatic.com/afma/api/v1/google_mobile_app_ads.js"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
// Send a color=green event when ad loads.
admob.events.dispatchAppEvent("color", "green");
document.getElementById("ad").addEventListener("click", function() {
// Send a color=blue event when ad is clicked.
admob.events.dispatchAppEvent("color", "blue");
});
});
</script>
<style>
#ad {
width: 320px;
height: 50px;
top: 0px;
left: 0px;
font-size: 24pt;
font-weight: bold;
position: absolute;
background: black;
color: white;
text-align: center;
}
</style>
</head>
<body>
<div id="ad">Carpe diem!</div>
</body>
</html>
ดูตัวอย่างเหตุการณ์ในแอปของ Ad Manager สําหรับการใช้งานเหตุการณ์ในแอปในแอปสาธิต iOS API
แหล่งข้อมูลเพิ่มเติม
ตัวอย่างใน GitHub
- ตัวอย่างโฆษณาแบนเนอร์แบบปรับขนาดได้แบบยึดพื้น Swift | SwiftUI | Objective-C
- การสาธิตฟีเจอร์ขั้นสูง: Swift | Objective-C
ขั้นตอนถัดไป
แบนเนอร์แบบย่อได้
โฆษณาแบนเนอร์แบบยุบได้คือโฆษณาแบนเนอร์ที่แสดงเป็นโฆษณาซ้อนทับขนาดใหญ่ในตอนแรก โดยมีปุ่มสำหรับยุบโฆษณาให้มีขนาดเล็กลง ลองใช้เพื่อเพิ่มประสิทธิภาพให้ดียิ่งขึ้น ดูรายละเอียดเพิ่มเติมได้ที่โฆษณาแบนเนอร์แบบยุบได้
แบนเนอร์แบบปรับขนาดได้ที่แทรกในบรรทัด
แบนเนอร์แบบปรับขนาดได้ที่แทรกในบรรทัดคือแบนเนอร์ที่มีขนาดใหญ่และสูงกว่าเดิมเมื่อเทียบกับแบนเนอร์แบบปรับขนาดได้แบบโฆษณา Anchor โดยมีความสูงที่ไม่ตายตัวและมีความสูงได้เท่าหน้าจออุปกรณ์ ขอแนะนำให้ใช้แบนเนอร์แทรกในบรรทัดที่ปรับเปลี่ยนได้แทนโฆษณาแบนเนอร์แบบปรับขนาดได้ที่อยู่ด้านล่างสุดสำหรับแอปที่วางโฆษณาแบนเนอร์ไว้ในเนื้อหาที่เลื่อนได้ ดูรายละเอียดเพิ่มเติมได้ที่แบนเนอร์แบบปรับเปลี่ยนในบรรทัด