โฆษณาเนทีฟคือชิ้นงานโฆษณาที่แสดงต่อผู้ใช้ผ่านคอมโพเนนต์ UI ที่เป็น เนทีฟของแพลตฟอร์ม โดยจะแสดงโดยใช้คลาสเดียวกันกับที่คุณใช้ในสตอรี่บอร์ดอยู่แล้ว และสามารถจัดรูปแบบให้ตรงกับการออกแบบภาพของแอปได้
เมื่อโฆษณาเนทีฟโหลด แอปจะได้รับออบเจ็กต์โฆษณาที่มีชิ้นงานของโฆษณา และแอป (ไม่ใช่ Google Mobile Ads SDK) จะเป็นผู้รับผิดชอบ ในการแสดงโฆษณา
โดยทั่วไปแล้ว การใช้โฆษณาเนทีฟให้ประสบความสำเร็จมี 2 ส่วน ได้แก่ การโหลดโฆษณาโดยใช้ SDK แล้วแสดงเนื้อหาโฆษณาในแอป
หน้านี้แสดงวิธีใช้ SDK เพื่อโหลดโฆษณาเนทีฟ
ข้อกำหนดเบื้องต้น
- ทำตามคู่มือเริ่มต้นใช้งาน
ทดสอบด้วยโฆษณาทดสอบเสมอ
เมื่อสร้างและทดสอบแอป โปรดใช้โฆษณาทดสอบแทน โฆษณาจริงที่ใช้งานจริง
วิธีที่ง่ายที่สุดในการโหลดโฆษณาทดสอบคือการใช้รหัสหน่วยโฆษณาทดสอบเฉพาะสำหรับ โฆษณาเนทีฟใน iOS
ca-app-pub-3940256099942544/3986624511
ซึ่งได้รับการกำหนดค่าเป็นพิเศษให้แสดงโฆษณาทดสอบสำหรับทุกคำขอ และคุณสามารถ ใช้ในแอปของคุณเองขณะเขียนโค้ด ทดสอบ และแก้ไขข้อบกพร่อง เพียงตรวจสอบว่าคุณได้ แทนที่ด้วยรหัสหน่วยโฆษณาของคุณเองก่อนเผยแพร่แอป
ดูรายละเอียดเกี่ยวกับโฆษณาทดสอบของ Google Mobile Ads SDK ได้ที่ เปิดใช้โฆษณาทดสอบ
โหลดโฆษณา
โฆษณาเนทีฟจะโหลดด้วยคลาส
GADAdLoader
ซึ่งจะส่งข้อความไปยังผู้รับมอบสิทธิ์ตามโปรโตคอล
GADAdLoaderDelegate
เริ่มต้น AdLoader
คุณต้องเริ่มต้นใช้งาน AdLoader ก่อนจึงจะโหลดโฆษณาได้
โค้ดต่อไปนี้แสดงวิธีเริ่มต้น GADAdLoader
Swift
แทนที่ nativeAdUnitID ด้วยรหัสหน่วยโฆษณา
Objective-C
แทนที่ kNativeAdUnitID ด้วยรหัสหน่วยโฆษณา
คุณจะต้องมีรหัสหน่วยโฆษณา (คุณใช้รหัสทดสอบได้) ค่าคงที่ที่จะส่งในอาร์เรย์ adTypes เพื่อระบุรูปแบบโฆษณาเนทีฟที่ต้องการขอ และตัวเลือกที่ต้องการตั้งค่าในพารามิเตอร์ options ดูรายการค่าที่เป็นไปได้สำหรับพารามิเตอร์ options ได้ในหน้าการตั้งค่าโฆษณาเนทีฟ
adTypes อาร์เรย์ควรมีค่าคงที่ต่อไปนี้
ใช้ตัวแทน AdLoader
ผู้มอบสิทธิ์ AdLoader ต้องใช้โปรโตคอลที่เฉพาะเจาะจงกับประเภทโฆษณาของคุณ
สำหรับโฆษณาเนทีฟ โปรโตคอล GADNativeAdLoaderDelegate จะมีข้อความ
ที่ส่งไปยังผู้มอบสิทธิ์เมื่อโฆษณาเนทีฟโหลดแล้ว
Swift
func adLoader(_ adLoader: AdLoader, didReceive nativeAd: NativeAd) {
// To be notified of events related to the native ad interactions, set the delegate property
// of the native ad
nativeAd.delegate = self
// TODO: Display the native ad.
}
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader didReceiveNativeAd:(GADNativeAd *)nativeAd {
// To be notified of events related to the native ad interactions, set the delegate property
// of the native ad
nativeAd.delegate = self;
// TODO: Display the native ad.
}
ส่งคำขอแสดงโฆษณา
เมื่อเริ่มต้น GADAdLoader แล้ว ให้เรียกใช้เมธอด loadRequest: เพื่อขอโฆษณา
Swift
adLoader.load(Request())
Objective-C
[self.adLoader loadRequest:[GADRequest request]];
เมธอด
loadRequest:
ใน
GADAdLoader
ยอมรับออบเจ็กต์
GADRequest
เดียวกันกับแบนเนอร์และโฆษณาคั่นระหว่างหน้า คุณสามารถใช้ออบเจ็กต์คำขอเพื่อเพิ่ม
ข้อมูลการกำหนดเป้าหมายได้เช่นเดียวกับ
โฆษณารูปแบบอื่นๆ
โหลดโฆษณาหลายรายการ (ไม่บังคับ)
หากต้องการโหลดโฆษณาหลายรายการในคำขอเดียว ให้ตั้งค่าออบเจ็กต์
GADMultipleAdsAdLoaderOptions
เมื่อเริ่มต้น GADAdLoader
Swift
Objective-C
จำนวนโฆษณาต่อคำขอจะจำกัดไว้ที่ 5 รายการ และไม่มีการรับประกันว่า SDK จะแสดงโฆษณาตามจำนวนที่ขออย่างแน่นอน
โฆษณา Google ที่แสดงจะแตกต่างกันทั้งหมด แม้ว่าโฆษณาจาก พื้นที่โฆษณาที่สงวนไว้หรือผู้ซื้อบุคคลที่สามจะไม่รับประกันว่าจะไม่ซ้ำกัน
อย่าใช้คลาส GADMultipleAdsAdLoaderOptions หากคุณใช้สื่อกลาง
เนื่องจากคำขอโฆษณาเนทีฟหลายรายการใช้ไม่ได้กับรหัสหน่วยโฆษณาที่
กำหนดค่าไว้สำหรับสื่อกลาง
พิจารณาว่าการโหลดเสร็จสิ้นเมื่อใด
หลังจากที่แอปเรียกใช้ loadRequest: แล้ว แอปจะรับผลลัพธ์ของคำขอได้โดยใช้การเรียกไปยัง
adLoader:didFailToReceiveAdWithError:ในGADAdLoaderDelegateadLoader:didReceiveNativeAd:ในGADNativeAdLoaderDelegate
คำขอโฆษณารายการเดียวจะทำให้เกิดการเรียกใช้เมธอดใดเมธอดหนึ่ง
คำขอโฆษณาหลายรายการจะทำให้เกิดการเรียกกลับอย่างน้อย 1 ครั้งไปยังเมธอดข้างต้น แต่ไม่เกินจำนวนโฆษณาสูงสุดที่ขอ
นอกจากนี้ GADAdLoaderDelegate ยังมีadLoaderDidFinishLoading
การโทรกลับด้วย เมธอดตัวแทนนี้บ่งชี้ว่า AdLoader โหลดโฆษณาเสร็จแล้ว และจะไม่มีการรายงานโฆษณาหรือข้อผิดพลาดอื่นๆ สำหรับคำขอ ต่อไปนี้คือ
ตัวอย่างวิธีใช้เมื่อโหลดโฆษณาเนทีฟหลายรายการพร้อมกัน
Swift
func adLoaderDidFinishLoading(_ adLoader: AdLoader) {
// The adLoader has finished loading ads.
}
Objective-C
- (void)adLoaderDidFinishLoading:(GADAdLoader *)adLoader {
// The adLoader has finished loading ads.
}
จัดการคำขอที่ไม่สำเร็จ
โปรโตคอลนี้ขยายโปรโตคอล GADAdLoaderDelegate ซึ่งกำหนดข้อความที่ส่งเมื่อโหลดโฆษณาไม่สำเร็จ
Swift
func adLoader(_ adLoader: AdLoader, didFailToReceiveAdWithError error: any Error) {
// The adLoader failed to receive an ad.
}
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader didFailToReceiveAdWithError:(NSError *)error {
// The adLoader failed to receive an ad.
}
รับการแจ้งเตือนเกี่ยวกับเหตุการณ์โฆษณาเนทีฟ
หากต้องการรับการแจ้งเตือนเกี่ยวกับเหตุการณ์ที่เกี่ยวข้องกับการโต้ตอบโฆษณาเนทีฟ ให้ตั้งค่าพร็อพเพอร์ตี้ delegate ของโฆษณาเนทีฟ
Swift
// Set the delegate before making an ad request.
adLoader.delegate = self
Objective-C
// Set the delegate before making an ad request.
self.adLoader.delegate = self;
จากนั้นใช้
GADNativeAdDelegate
เพื่อรับการเรียกที่ได้รับมอบสิทธิ์ต่อไปนี้
Swift
func nativeAdDidRecordImpression(_ nativeAd: NativeAd) {
// The native ad was shown.
}
func nativeAdDidRecordClick(_ nativeAd: NativeAd) {
// The native ad was clicked on.
}
func nativeAdWillPresentScreen(_ nativeAd: NativeAd) {
// The native ad will present a full screen view.
}
func nativeAdWillDismissScreen(_ nativeAd: NativeAd) {
// The native ad will dismiss a full screen view.
}
func nativeAdDidDismissScreen(_ nativeAd: NativeAd) {
// The native ad did dismiss a full screen view.
}
func nativeAdWillLeaveApplication(_ nativeAd: NativeAd) {
// The native ad will cause the app to become inactive and
// open a new app.
}
Objective-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 app to become inactive and
// open a new app.
}
แนวทางปฏิบัติแนะนำ
ทำตามกฎต่อไปนี้เมื่อโหลดโฆษณา
แอปที่ใช้โฆษณาเนทีฟในรายการควรแคชล่วงหน้าสำหรับรายการโฆษณา
เมื่อแคชโฆษณาล่วงหน้า ให้ล้างแคชและโหลดซ้ำหลังจากผ่านไป 1 ชั่วโมง
อย่าเรียกใช้
loadRequest:อีกครั้งในGADAdLoaderจนกว่าคำขอก่อนหน้าจะโหลดเสร็จ ซึ่งระบุโดยadLoaderDidFinishLoading:จำกัดการแคชโฆษณาเนทีฟให้มีเฉพาะสิ่งที่จำเป็น เช่น เมื่อแคชล่วงหน้า ให้แคชเฉพาะโฆษณาที่มองเห็นได้ทันทีบนหน้าจอ โฆษณาเนทีฟ ใช้หน่วยความจำมาก และการแคชโฆษณาเนทีฟโดยไม่ทำลายโฆษณา จะทำให้มีการใช้หน่วยความจำมากเกินไป
ทำลายโฆษณาเนทีฟเมื่อไม่ได้ใช้งานแล้ว
แสดงโฆษณา
เมื่อโหลดโฆษณาแล้ว สิ่งที่เหลืออยู่คือการแสดงโฆษณาต่อผู้ใช้ โปรดไปที่คู่มือขั้นสูงเกี่ยวกับโฆษณาเนทีฟเพื่อดูวิธี