โฆษณาเนทีฟคือชิ้นงานโฆษณาที่แสดงต่อผู้ใช้ผ่านคอมโพเนนต์ UI ที่เป็นของแพลตฟอร์มนั้นๆ รายการจะแสดงโดยใช้คลาสเดียวกับที่คุณใช้ในสตอรี่บอร์ดอยู่แล้ว และจัดรูปแบบให้เข้ากับการออกแบบภาพของแอปได้
เมื่อโฆษณาเนทีฟโหลด แอปของคุณจะได้รับออบเจ็กต์โฆษณาที่มีชิ้นงาน จากนั้นแอปจะเป็นผู้รับผิดชอบในการแสดงโฆษณาแทน SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google
โดยทั่วไปแล้ว การใช้งานโฆษณาเนทีฟให้ประสบความสําเร็จมี 2 ส่วน ได้แก่ การโหลดโฆษณาโดยใช้ SDK แล้วแสดงเนื้อหาโฆษณาในแอป
หน้านี้แสดงวิธีใช้ SDK เพื่อโหลดโฆษณาเนทีฟ
ข้อกำหนดเบื้องต้น
- ทำตามคู่มือเริ่มต้นใช้งาน
ทดสอบด้วยโฆษณาทดสอบเสมอ
เมื่อสร้างและทดสอบแอป โปรดใช้โฆษณาทดสอบแทนโฆษณาเวอร์ชันที่ใช้งานจริง
วิธีที่ง่ายที่สุดในการโหลดโฆษณาทดสอบคือการใช้รหัสหน่วยโฆษณาทดสอบสําหรับโฆษณาเนทีฟใน iOS โดยเฉพาะ ดังนี้
/21775744923/example/native
อุปกรณ์นี้ได้รับการกําหนดค่ามาเป็นพิเศษให้แสดงโฆษณาทดสอบสําหรับคําขอทุกรายการ และคุณสามารถนำไปใช้ในแอปของคุณเองขณะเขียนโค้ด ทดสอบ และแก้ไขข้อบกพร่องได้ เพียงตรวจสอบว่าคุณได้แทนที่รหัสด้วยรหัสหน่วยโฆษณาของคุณเองก่อนเผยแพร่แอป
ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำงานของโฆษณาทดสอบของ SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google ได้ที่โฆษณาทดสอบ
โหลดโฆษณา
โฆษณาเนทีฟจะโหลดด้วยคลาส GADAdLoader
ซึ่งจะส่งข้อความไปยังผู้รับมอบสิทธิ์ตามโปรโตคอล GADAdLoaderDelegate
นอกจากรูปแบบเนทีฟที่ระบบกําหนดแล้ว คุณยังสร้างรูปแบบโฆษณาเนทีฟที่กําหนดเองได้อีกด้วย ซึ่งจะใช้กับโฆษณาเนทีฟที่ขายโดยตรงได้ รูปแบบโฆษณาเนทีฟที่กำหนดเองช่วยให้คุณส่ง Structured Data ที่กำหนดเองไปยังแอปได้ โฆษณาเหล่านี้แสดงโดยคลาสGADCustomNativeAd
เริ่มต้นโหลดโฆษณา
คุณต้องเริ่มต้นโหลดโฆษณาก่อนจึงจะโหลดโฆษณาได้
โค้ดต่อไปนี้แสดงวิธีเริ่มต้น GADAdLoader
Swift
adLoader = GADAdLoader(adUnitID: "/21775744923/example/native",
// The UIViewController parameter is optional.
rootViewController: rootViewController,
adTypes: [ .native ],
options: [ ... ad loader options objects ... ])
adLoader.delegate = self
Objective-C
self.adLoader = [[GADAdLoader alloc]
initWithAdUnitID:@"/21775744923/example/native"
// The UIViewController parameter is nullable.
rootViewController:rootViewController
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ ... ad loader options objects ... ]];
self.adLoader.delegate = self;
คุณจะต้องมีรหัสหน่วยโฆษณา (ใช้รหัสทดสอบได้) ค่าคงที่ที่จะส่งในอาร์เรย์ adTypes
เพื่อระบุรูปแบบเนทีฟที่ต้องการขอ และตัวเลือกที่ต้องการตั้งค่าในพารามิเตอร์ options
รายการค่าที่เป็นไปได้สำหรับพารามิเตอร์ options
อยู่ในหน้าการตั้งค่าตัวเลือกโฆษณาเนทีฟ
อาร์เรย์ adTypes
ควรมีค่าคงที่ต่อไปนี้อย่างน้อย 1 ค่า
ใช้ตัวรับมอบสิทธิ์โปรแกรมโหลดโฆษณา
ผู้รับมอบสิทธิ์ตัวโหลดโฆษณาต้องใช้โปรโตคอลเฉพาะสำหรับประเภทโฆษณาของคุณ
สําหรับโฆษณาเนทีฟ โปรโตคอล GADNativeAdLoaderDelegate
จะมีข้อความที่ส่งไปยังผู้รับมอบสิทธิ์เมื่อโฆษณาเนทีฟโหลด
Swift
public func adLoader(_ adLoader: GADAdLoader,
didReceive nativeAd: GADNativeAd)
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader
didReceiveNativeAd:(GADNativeAd *)nativeAd;
โปรโตคอล GADCustomNativeAdLoaderDelegate
มีข้อความที่ส่งไปยังผู้รับมอบสิทธิ์เมื่อโฆษณาเทมเพลตที่กำหนดเองโหลด
Swift
func adLoader(_ adLoader: GADAdLoader,
Receive customNativeAd: GADCustomNativeAd)
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader
didReceiveCustomNativeAd:(GADCustomNativeAd *) customNativeAd;
ส่งคำขอแสดงโฆษณา
เมื่อเริ่มต้น GADAdLoader
แล้ว ให้เรียกใช้เมธอด loadRequest:
เพื่อขอโฆษณา ดังนี้
Swift
adLoader.load(GAMRequest())
Objective-C
[self.adLoader loadRequest:[GAMRequest request]];
วิธีการ loadRequest:
ใน GADAdLoader
ยอมรับออบเจ็กต์ GAMRequest
เดียวกันกับแบนเนอร์และโฆษณาคั่นระหว่างหน้า คุณสามารถใช้ออบเจ็กต์คําขอเพื่อเพิ่มข้อมูลการกําหนดเป้าหมายได้ เช่นเดียวกับที่ใช้กับโฆษณาประเภทอื่นๆ
การพิจารณาว่าเมื่อใดที่การโหลดเสร็จสิ้น
หลังจากแอปเรียก loadRequest:
แล้ว แอปจะได้รับผลลัพธ์ของคําขอโดยใช้การเรียกใช้
adLoader:didFailToReceiveAdWithError:
ในGADAdLoaderDelegate
adLoader:didReceiveNativeAd:
ในGADNativeAdLoaderDelegate
คําขอโฆษณารายการเดียวจะส่งผลให้มีการเรียกใช้วิธีการใดวิธีการหนึ่งเพียงครั้งเดียว
การจัดการคำขอที่ไม่สำเร็จ
โปรโตคอลข้างต้นขยายโปรโตคอล GADAdLoaderDelegate
ซึ่งกําหนดข้อความที่ส่งเมื่อโฆษณาโหลดไม่สําเร็จ
Swift
public func adLoader(_ adLoader: GADAdLoader,
didFailToReceiveAdWithError error: NSError)
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader
didFailToReceiveAdWithError:(NSError *)error;
รับการแจ้งเตือนเกี่ยวกับเหตุการณ์ของโฆษณาเนทีฟ
หากต้องการรับการแจ้งเตือนเกี่ยวกับเหตุการณ์ที่เกี่ยวข้องกับการโต้ตอบกับโฆษณาเนทีฟ ให้ตั้งค่าพร็อพเพอร์ตี้ตัวแทนของโฆษณาเนทีฟ ดังนี้
Swift
nativeAd.delegate = self
Objective-C
nativeAd.delegate = self;
จากนั้นติดตั้งใช้งาน GADNativeAdDelegate
เพื่อรับการเรียกใช้การมอบสิทธิ์ต่อไปนี้
Swift
func nativeAdDidRecordImpression(_ nativeAd: GADNativeAd) {
// The native ad was shown.
}
func nativeAdDidRecordClick(_ nativeAd: GADNativeAd) {
// The native ad was clicked on.
}
func nativeAdWillPresentScreen(_ nativeAd: GADNativeAd) {
// The native ad will present a full screen view.
}
func nativeAdWillDismissScreen(_ nativeAd: GADNativeAd) {
// The native ad will dismiss a full screen view.
}
func nativeAdDidDismissScreen(_ nativeAd: GADNativeAd) {
// The native ad did dismiss a full screen view.
}
func nativeAdWillLeaveApplication(_ nativeAd: GADNativeAd) {
// 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:
จำกัดการแคชโฆษณาเนทีฟไว้เฉพาะเท่าที่จำเป็น เช่น เมื่อแคชล่วงหน้า ระบบจะแคชเฉพาะโฆษณาที่แสดงบนหน้าจอทันที โฆษณาเนทีฟใช้หน่วยความจํามาก และการแคชโฆษณาเนทีฟโดยไม่ลบออกจะทําให้หน่วยความจําถูกใช้มากเกินไป
ทำลายโฆษณาเนทีฟเมื่อไม่ได้ใช้งานแล้ว
แสดงโฆษณา
เมื่อโหลดโฆษณาแล้ว สิ่งที่เหลืออยู่คือการแสดงโฆษณาต่อผู้ใช้ โปรดไปที่คู่มือขั้นสูงของโฆษณาเนทีฟเพื่อดูวิธี