โฆษณาเนทีฟคือชิ้นงานโฆษณาที่แสดงต่อผู้ใช้ผ่านคอมโพเนนต์ UI ที่เป็นเนทีฟของแพลตฟอร์ม โดยจะแสดงโดยใช้คลาสเดียวกับที่คุณใช้อยู่แล้วใน Storyboard และสามารถจัดรูปแบบให้เข้ากับการออกแบบภาพของแอปได้
เมื่อโฆษณาเนทีฟโหลด แอปจะได้รับออบเจ็กต์โฆษณาที่มีชิ้นงาน และแอป (ไม่ใช่ Google Mobile Ads SDK) จะมีหน้าที่ แสดงโฆษณา
โดยทั่วไป การติดตั้งใช้งานโฆษณาเนทีฟให้สำเร็จจะมี 2 ส่วน ได้แก่ การโหลดโฆษณาโดยใช้ SDK แล้วแสดงเนื้อหาโฆษณาในแอป
หน้านี้จะแสดงวิธีใช้ SDK เพื่อโหลด โฆษณาเนทีฟ
ข้อกำหนดเบื้องต้น
ก่อนดำเนินการต่อ ตั้งค่า Google Mobile Ads SDK
ทดสอบด้วยโฆษณาทดสอบเสมอ
เมื่อสร้างและทดสอบแอป โปรดใช้โฆษณาทดสอบแทนโฆษณาจริง
วิธีที่ง่ายที่สุดในการโหลดโฆษณาทดสอบคือการใช้รหัสหน่วยโฆษณาทดสอบเฉพาะสำหรับโฆษณาเนทีฟบน iOS ดังนี้
/21775744923/example/native
ซึ่งได้รับการกำหนดค่าเป็นพิเศษให้แสดงโฆษณาทดสอบสำหรับทุกคำขอ และคุณสามารถใช้รหัสนี้ในแอปของคุณเองขณะเขียนโค้ด ทดสอบ และแก้ไขข้อบกพร่อง เพียงตรวจสอบว่าคุณได้แทนที่รหัสนี้ด้วยรหัสหน่วยโฆษณาของคุณเองก่อนเผยแพร่แอป
ดูรายละเอียดเกี่ยวกับโฆษณาทดสอบGoogle Mobile Ads SDKได้ที่ หัวข้อเปิดใช้โฆษณาทดสอบ
โหลดโฆษณา
โฆษณาเนทีฟจะโหลดด้วยคลาส
GADAdLoader
ซึ่งจะส่งข้อความไปยังผู้รับมอบสิทธิ์ตามโปรโตคอล
GADAdLoaderDelegate
นอกจากรูปแบบเนทีฟที่ระบบกำหนดแล้ว คุณยังสร้างรูปแบบโฆษณาเนทีฟที่กำหนดเองเพื่อใช้กับโฆษณาเนทีฟที่ขายโดยตรงได้ด้วย รูปแบบโฆษณาเนทีฟที่กำหนดเองช่วยให้คุณส่งข้อมูลที่มีโครงสร้างที่กำหนดเองไปยังแอปได้ โดยโฆษณาเหล่านี้จะแสดงด้วยคลาส GADCustomNativeAd
เริ่มต้นใช้งานตัวโหลดโฆษณา
คุณต้องเริ่มต้นใช้งานตัวโหลดโฆษณาก่อนจึงจะโหลดโฆษณาได้
โค้ดต่อไปนี้แสดงวิธีเริ่มต้นใช้งาน GADAdLoader
Swift
แทนที่ nativeAdUnitID ด้วยรหัสหน่วยโฆษณา
Objective-C
แทนที่ kNativeAdUnitID ด้วยรหัสหน่วยโฆษณา
คุณจะต้องมีรหัสหน่วยโฆษณา (ใช้รหัสทดสอบได้) ค่าคงที่เพื่อส่งในอาร์เรย์ adTypes เพื่อระบุรูปแบบเนทีฟที่ต้องการขอ และตัวเลือกที่ต้องการตั้งค่าในพารามิเตอร์ options คุณสามารถดูรายการค่าที่เป็นไปได้สำหรับพารามิเตอร์ options ได้ในหน้าการตั้งค่าตัวเลือกโฆษณาเนทีฟ
อาร์เรย์ adTypes ควรมีค่าคงที่ต่อไปนี้อย่างน้อย 1 รายการ
ติดตั้งใช้งานผู้รับมอบสิทธิ์ของตัวโหลดโฆษณา
ผู้รับมอบสิทธิ์ของตัวโหลดโฆษณาต้องติดตั้งใช้งานโปรโตคอลที่เฉพาะเจาะจงกับประเภทโฆษณา
สำหรับโฆษณาเนทีฟ โปรโตคอล GADNativeAdLoaderDelegate จะมีข้อความที่ส่งไปยังผู้รับมอบสิทธิ์เมื่อโฆษณาเนทีฟโหลดแล้ว
Swift
func adLoader(_ adLoader: AdLoader, didReceive nativeAd: NativeAd) {
// Set the delegate to receive notifications for interactions with the native ad.
nativeAd.delegate = self
// TODO: Display the native ad.
}
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader didReceiveNativeAd:(GADNativeAd *)nativeAd {
// Set the delegate to receive notifications for interactions with the native ad.
nativeAd.delegate = self;
// TODO: Display the native ad.
}
โปรโตคอล GADCustomNativeAdLoaderDelegate จะมีข้อความที่ส่งไปยังผู้รับมอบสิทธิ์เมื่อโฆษณาเทมเพลตที่กำหนดเองโหลดแล้ว
Swift
func adLoader(_ adLoader: AdLoader, didReceive customNativeAd: CustomNativeAd) {
// To be notified of events related to the custom native ad interactions, set the delegate
// property of the native ad
customNativeAd.delegate = self
// TODO: Display the custom native ad.
}
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader
didReceiveCustomNativeAd:(GADCustomNativeAd *)customNativeAd {
// To be notified of events related to the custom native ad interactions, set the delegate
// property of the native ad
customNativeAd.delegate = self;
// TODO: Display the custom native ad.
}
ส่งคำขอแสดงโฆษณา
เมื่อเริ่มต้นใช้งาน GADAdLoader แล้ว ให้เรียกใช้เมธอด loadRequest: เพื่อขอโฆษณา
Swift
adLoader.load(AdManagerRequest())
Objective-C
[self.adLoader loadRequest:[GAMRequest request]];
เมธอด
loadRequest:
ใน
GADAdLoader
ยอมรับออบเจ็กต์
GAMRequest
เดียวกันกับแบนเนอร์และโฆษณาคั่นระหว่างหน้า คุณสามารถใช้ออบเจ็กต์คำขอเพื่อ เพิ่ม
ข้อมูลการกำหนดเป้าหมายได้เช่นเดียวกับที่คุณ
ใช้กับโฆษณาประเภทอื่นๆ
โหลดโฆษณาหลายรายการ (ไม่บังคับ)
หากต้องการโหลดโฆษณาหลายรายการในคำขอเดียว ให้ตั้งค่า
GADMultipleAdsAdLoaderOptions
เมื่อเริ่มต้นใช้งาน GADAdLoader
Swift
Objective-C
ระบบจะจำกัดจำนวนโฆษณาต่อคำขอไว้ที่ 5 รายการ และ SDK ไม่รับประกันว่าจะแสดงโฆษณาตามจำนวนที่ขอ
โฆษณา Google ที่แสดงจะแตกต่างกันทั้งหมด แม้ว่าโฆษณาจากพื้นที่โฆษณาที่สงวนไว้หรือผู้ซื้อบุคคลที่สามจะไม่รับประกันว่าจะไม่ซ้ำกัน
อย่าใช้คลาส GADMultipleAdsAdLoaderOptions หากคุณใช้สื่อกลาง เนื่องจากคำขอโฆษณาเนทีฟหลายรายการจะใช้ไม่ได้กับรหัสหน่วยโฆษณาที่กำหนดค่าไว้สำหรับสื่อกลาง
กำหนดเวลาที่การโหลดเสร็จสิ้น
หลังจากที่แอปเรียกใช้ loadRequest: แล้ว แอปจะรับผลลัพธ์ของคำขอได้โดยใช้การเรียกไปยังรายการต่อไปนี้
adLoader:didFailToReceiveAdWithError:ในGADAdLoaderDelegateadLoader:didReceiveNativeAd:ในGADNativeAdLoaderDelegate
คำขอโฆษณารายการเดียวจะส่งผลให้มีการเรียกใช้เมธอดใดเมธอดหนึ่งข้างต้น 1 ครั้ง
คำขอโฆษณาหลายรายการจะส่งผลให้มีการเรียกกลับไปยังเมธอดข้างต้นอย่างน้อย 1 ครั้ง แต่ไม่เกินจำนวนโฆษณาสูงสุดที่ขอ
นอกจากนี้ GADAdLoaderDelegate ยังมีการเรียกกลับ adLoaderDidFinishLoading เมธอดผู้รับมอบสิทธิ์นี้บ่งชี้ว่าตัวโหลดโฆษณาโหลดโฆษณาเสร็จแล้ว และระบบจะไม่รายงานโฆษณาหรือข้อผิดพลาดอื่นๆ สำหรับคำขอ ต่อไปนี้คือตัวอย่างวิธีใช้เมื่อโหลดโฆษณาเนทีฟหลายรายการพร้อมกัน
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.
}
รับการแจ้งเตือนเกี่ยวกับเหตุการณ์โฆษณาเนทีฟ
หากต้องการรับการแจ้งเตือนเกี่ยวกับเหตุการณ์ที่เกี่ยวข้องกับการโต้ตอบกับโฆษณาเนทีฟ ให้ตั้งค่าพร็อพเพอร์ตี้ผู้รับมอบสิทธิ์ของโฆษณาเนทีฟดังนี้
Swift
nativeAd.delegate = self
Objective-C
nativeAd.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:จำกัดการแคชโฆษณาเนทีฟให้มีเฉพาะสิ่งที่จำเป็นเท่านั้น เช่น เมื่อแคชไว้ล่วงหน้า ให้แคชเฉพาะโฆษณาที่มองเห็นได้ทันทีบนหน้าจอ โฆษณาเนทีฟใช้หน่วยความจำจำนวนมาก และการแคชโฆษณาเนทีฟโดยไม่ทำลายโฆษณาจะส่งผลให้มีการใช้หน่วยความจำมากเกินไป
ทำลายโฆษณาเนทีฟเมื่อไม่ได้ใช้งานแล้ว
แสดงโฆษณา
เมื่อโหลดโฆษณาแล้ว สิ่งที่เหลืออยู่คือการแสดงโฆษณาต่อผู้ใช้ โปรดไปที่คู่มือเนทีฟขั้นสูงเพื่อดูวิธีแสดงโฆษณา