การตั้งค่าสไตล์โฆษณาเนทีฟ
ช่วยให้ Google Ad Manager จัดการการแสดงผลโฆษณาเนทีฟตามสไตล์โฆษณาเนทีฟ
ที่คุณระบุไว้ในผลิตภัณฑ์ได้ ก่อนอื่น ให้ระบุขนาดและการกำหนดเป้าหมาย
จากนั้นเพิ่ม HTML, CSS และ JavaScript เพื่อกำหนดโฆษณาที่ปรับเปลี่ยนตามพื้นที่โฆษณา
และแสดงผลคุณภาพในทุกหน้าจอ คุณไม่จำเป็นต้องทำการแสดงผลใดๆ เนื่องจาก Ad Manager จะใช้สไตล์โฆษณาเนทีฟที่เหมาะสมกับปลายทางโดยอัตโนมัติ
การติดตั้งใช้งานสไตล์โฆษณาเนทีฟจะเหมือนกับโฆษณาแบนเนอร์
โดยใช้ GAMBannerView
ใช้กับขนาดโฆษณาคงที่ที่กำหนดไว้ล่วงหน้า หรือขนาดโฆษณาแบบไหลที่กำหนดในรันไทม์ได้
ข้อกำหนดเบื้องต้น
- SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google เวอร์ชัน 7.14.0 ขึ้นไป
คู่มือนี้ถือว่าคุณมีความรู้พื้นฐานเกี่ยวกับ Google Mobile Ads SDK หากยังไม่ได้ดำเนินการ โปรดดูคำแนะนำในคู่มือเริ่มต้นใช้งาน
ขนาดคงที่
สไตล์โฆษณาเนทีฟที่มีขนาดคงที่ช่วยให้คุณควบคุมความกว้างและความสูง ของโฆษณาเนทีฟได้ หากต้องการตั้งค่าขนาดคงที่ ให้ทำตามขั้นตอนต่อไปนี้
สร้างรายการโฆษณาใน UI ของ Ad Manager แล้วเลือกขนาดที่กำหนดไว้ล่วงหน้าจากเมนูแบบเลื่อนลงของช่อง
Size
ใน Interface Builder ให้ตั้งค่าความกว้างและความสูงของ
GAMBannerView
ให้ตรงกับขนาดที่กำหนดไว้ล่วงหน้าซึ่งคุณเลือกในขั้นตอนที่ 1 คุณดูGADAdSize
ค่าคงที่ที่เกี่ยวข้องกับขนาดต่างๆ ได้ในส่วนขนาด แบนเนอร์
การใช้สไตล์โฆษณาเนทีฟที่มีขนาดคงที่ทำได้ง่ายๆ เพียงทำตาม วิธีการในคำขอแบนเนอร์แรก แต่คุณจะมีความยืดหยุ่นและควบคุม HTML, CSS และ JavaScript ได้ เพื่อให้โฆษณาแบนเนอร์มีรูปลักษณ์แบบเนทีฟที่ดูเป็นธรรมชาติในแอป
ขนาดแบบไหล
ในบางกรณี การกำหนดขนาดคงที่อาจไม่เหมาะสม เช่น คุณอาจต้องการให้ความกว้างของโฆษณาสอดคล้องกับเนื้อหาของแอป แต่ต้องการให้ความสูงปรับเปลี่ยนแบบไดนามิกเพื่อให้พอดีกับเนื้อหาของโฆษณา หากต้องการจัดการกรณีนี้
คุณสามารถระบุ Fluid
เป็นขนาดโฆษณาใน UI ของ Ad Manager ซึ่ง
จะกำหนดว่าขนาดของโฆษณาจะกำหนดที่รันไทม์ในแอป
SDK มีค่าคงที่ GADAdSize
พิเศษ
kGADAdSizeFluid
เพื่อจัดการกรณีนี้ ระบบจะกำหนดความสูงของขนาดโฆษณาแบบไหลแบบไดนามิก
ตามความกว้างที่ผู้เผยแพร่โฆษณากำหนด ซึ่งช่วยให้
GAMBannerView
ปรับความสูงให้ตรงกับความสูงของครีเอทีฟโฆษณาได้
คำขอแบบยืดหยุ่น
kGADAdSizeFluid
ไม่มี
ความกว้างที่กำหนดไว้ล่วงหน้า ซึ่งต่างจากรูปแบบโฆษณาอื่นๆ ดังนั้นโปรดตรวจสอบว่าได้ตั้งค่าความกว้างของเฟรมแบนเนอร์อย่างชัดเจนในโค้ดหรือใน Interface Builder หากไม่ได้ระบุความกว้าง SDK จะตั้งค่าความสูงของแบนเนอร์ตามความกว้างเต็มของอุปกรณ์โดยค่าเริ่มต้น
หากคุณส่งคำขอแบบหลายขนาดที่มี kGADAdSizeFluid
,
โฆษณาที่แสดงจะอยู่ในคอนเทนเนอร์แบบไหลเสมอและ
ทํางานเหมือนโฆษณาแบบไหล ในกรณีที่ระบบแสดงครีเอทีฟโฆษณาแบบไม่ลื่นไหลในคอนเทนเนอร์แบบลื่นไหลนี้ SDK จะจัดกึ่งกลางโฆษณาในคอนเทนเนอร์เพื่อให้คุณไม่ต้องแก้ไขข้อจำกัดด้านความกว้างทุกครั้งที่ระบบแสดงโฆษณาใหม่
การติดตั้งใช้งานสำหรับการสร้างคำขอแบบไหลขนาดเดียวและแบบหลายขนาดนั้นคล้ายกันมาก ความแตกต่างเพียงอย่างเดียวคือสำหรับคำขอแบบหลายขนาด คุณตั้งค่าพร็อพเพอร์ตี้ validAdSizes
เพื่อระบุขนาดโฆษณาที่ใช้ได้สำหรับคำขอโฆษณา
Swift
bannerView.validAdSizes = [nsValue(for: AdSizeFluid), nsValue(for: AdSizeBanner)]
Objective-C
_bannerView.validAdSizes = @[ NSValueFromGADAdSize(kGADAdSizeFluid),
NSValueFromGADAdSize(kGADAdSizeBanner) ];
ลักษณะการติดตั้งใช้งานแบบเต็มในโค้ดเป็นดังนี้
Swift
var bannerView: AdManagerBannerView!
override func viewDidLoad() {
super.viewDidLoad()
// Create the GAMBannerView and set its width to a width that makes sense for your
// app. In this example, the width is set to the width of the UIViewController's
// root view.
bannerView = AdManagerBannerView(adSize: AdSizeFluid)
var frameRect = bannerView.frame
frameRect.size.width = view.bounds.width
bannerView.frame = frameRect
// Uncomment this code for a multisize fluid request.
// bannerView.validAdSizes = [nsValue(for: AdSizeFluid), nsValue(for: AdSizeBanner)]
bannerView.adUnitID = "YOUR_AD_UNIT_ID"
bannerView.rootViewController = self
// Make the ad request.
bannerView.load(AdManagerRequest())
}
Objective-C
GAMBannerView *_bannerView;
- (void)viewDidLoad {
[super viewDidLoad];
// Create the GAMBannerView and set its width to a width that makes sense for your
// app. In this example, the width is set to the width of the UIViewController's
// root view.
_bannerView = [[GAMBannerView alloc] initWithAdSize:kGADAdSizeFluid];
CGRect frameRect = _bannerView.frame;
frameRect.size.width = CGRectGetWidth(self.view.bounds);
_bannerView.frame = frameRect;
// Uncomment this code for a multisize fluid request.
// _bannerView.validAdSizes = @[ NSValueFromGADAdSize(kGADAdSizeFluid),
// NSValueFromGADAdSize(kGADAdSizeBanner) ];
_bannerView.adUnitID = @"YOUR_AD_UNIT_ID";
_bannerView.rootViewController = self;
// Make the ad request.
[_bannerView loadRequest:[GAMRequest request]];
}
หากต้องการดูตัวอย่างการใช้งานขนาดโฆษณาแบบไหลของ Ad Manager ให้ดาวน์โหลดแอปตัวอย่าง API ของ iOS ใน Swift หรือ Objective-C
โปรโตคอล GADAdSizeDelegate
คุณอาจต้องการทราบความสูงของแบนเนอร์ก่อนที่ขนาดโฆษณาจะเปลี่ยนแปลง
adView:willChangeAdSizeTo:
การเรียกกลับจะแจ้งผู้รับมอบสิทธิ์ก่อน
ที่มุมมองแบนเนอร์จะเปลี่ยนเป็น GADAdSize
ใหม่ หากต้องการรับการแจ้งเตือนก่อนที่มุมมองแบนเนอร์จะเปลี่ยนเป็นขนาดโฆษณาใหม่ คลาสของคุณต้องเป็นไปตามGADAdSizeDelegate
โปรโตคอล
ต่อไปนี้คือตัวอย่างการใช้งาน adView:willChangeAdSizeTo:
callback ที่แสดงวิธีรับความกว้างและความสูงใหม่ของแบนเนอร์
Swift
// To be notified before the banner's ad size changes, your view controller class must
// conform to the GADAdSizeDelegate protocol.
bannerView.adSizeDelegate = self
// MARK: - GADAdSizeDelegate
func adView(_ bannerView: BannerView, willChangeAdSizeTo adSize: AdSize) {
let height = adSize.size.height
let width = adSize.size.width
}
Objective-C
// To be notified before the banner's ad size changes, your view controller class must
// conform to the GADAdSizeDelegate protocol.
_bannerView.adSizeDelegate = self;
#pragma mark - GADAdSizeDelegate
- (void)adView:(GADBannerView *)bannerView willChangeAdSizeTo:(GADAdSize)adSize {
CGFloat height = adSize.size.height;
CGFloat width = adSize.size.width;
}