โฆษณาเนทีฟคือเนื้อหาโฆษณาที่แสดงแก่ผู้ใช้ผ่านคอมโพเนนต์ UI ซึ่ง อยู่ในแพลตฟอร์มนี้โดยตรง ชั้นเรียนจะแสดงด้วยชั้นเรียนเดียวกับที่คุณใช้อยู่แล้ว ในสตอรีบอร์ดของคุณ และจัดรูปแบบให้เข้ากับการออกแบบภาพของแอปได้
เมื่อโฆษณาเนทีฟโหลด แอปจะได้รับออบเจ็กต์โฆษณาที่มีชิ้นงานอยู่ และแอปแทน SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google ทำหน้าที่แสดงแทน
พูดกว้างๆ ก็คือการใช้โฆษณาเนทีฟให้ประสบความสำเร็จแบ่งออกเป็น 2 ส่วน ดังนี้ โหลดโฆษณาโดยใช้ SDK แล้วแสดงเนื้อหาโฆษณาในแอป
หน้านี้แสดงวิธีใช้ SDK เพื่อโหลด โฆษณาเนทีฟ
ข้อกำหนดเบื้องต้น
- ทำตามคู่มือเริ่มต้นใช้งานจนจบ
ทดสอบด้วยโฆษณาทดสอบเสมอ
เมื่อสร้างและทดสอบแอป โปรดใช้โฆษณาทดสอบแทน โฆษณาที่ใช้งานจริง
วิธีที่ง่ายที่สุดในการโหลดโฆษณาทดสอบคือการใช้รหัสหน่วยโฆษณาทดสอบโดยเฉพาะของเรา โฆษณาเนทีฟบน iOS
ca-app-pub-3940256099942544/3986624511
โดยได้รับการกำหนดค่าเป็นพิเศษให้ส่งคืนโฆษณาทดสอบให้กับทุกคำขอ และคุณสามารถ ใช้ในแอปของคุณเองขณะเขียนโค้ด ทดสอบ และแก้ไขข้อบกพร่อง เพียงตรวจสอบให้แน่ใจว่าคุณ แทนที่ด้วยรหัสหน่วยโฆษณาของคุณเองก่อนที่จะเผยแพร่แอป
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำงานของโฆษณาทดสอบของ Google Mobile Ads SDK โปรดดู ทดสอบโฆษณา
โหลดโฆษณา
โฆษณาเนทีฟจะโหลดด้วย
GADAdLoader
ซึ่งจะส่งข้อความให้ผู้รับมอบสิทธิ์ตาม
GADAdLoaderDelegate
เริ่มต้นโปรแกรมโหลดโฆษณา
คุณต้องเริ่มต้นโปรแกรมโหลดโฆษณาก่อนจึงจะโหลดโฆษณาได้
โค้ดต่อไปนี้แสดงวิธีเริ่มต้น GADAdLoader
Swift
adLoader = GADAdLoader(adUnitID: "ca-app-pub-3940256099942544/3986624511",
// The UIViewController parameter is optional.
rootViewController: rootViewController,
adTypes: [ .native ],
options: [ ... ad loader options objects ... ])
adLoader.delegate = self
Objective-C
self.adLoader = [[GADAdLoader alloc]
initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
// The UIViewController parameter is nullable.
rootViewController:rootViewController
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ ... ad loader options objects ... ]];
self.adLoader.delegate = self;
คุณจะต้องใช้รหัสหน่วยโฆษณา (คุณสามารถใช้รหัสทดสอบ) ค่าคงที่ที่จะส่งผ่าน
adTypes
อาร์เรย์เพื่อระบุรูปแบบโฆษณาเนทีฟที่คุณต้องการขอ และ
ตัวเลือกที่คุณต้องการตั้งค่าในพารามิเตอร์ options
รายการที่เป็นไปได้
ค่าของพารามิเตอร์ options
จะอยู่ในการตั้งค่าโฆษณาเนทีฟ
หน้าตัวเลือก
อาร์เรย์ adTypes
ควรมี
ค่าคงที่นี้ :
ใช้งานการมอบสิทธิ์ตัวโหลดโฆษณา
ผู้รับมอบสิทธิ์ตัวโหลดโฆษณาต้องติดตั้งใช้งานโปรโตคอลตามประเภทโฆษณาของคุณโดยเฉพาะ
สำหรับโฆษณาเนทีฟ โปรโตคอล GADNativeAdLoaderDelegate
จะมีข้อความ
ที่ส่งไปยังผู้รับมอบสิทธิ์เมื่อโฆษณาเนทีฟโหลดขึ้นมา
Swift
public func adLoader(_ adLoader: GADAdLoader,
didReceive nativeAd: GADNativeAd)
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader
didReceiveNativeAd:(GADNativeAd *)nativeAd;
ส่งคำขอแสดงโฆษณา
เมื่อเริ่มต้น GADAdLoader
แล้ว ให้เรียกเมธอด loadRequest:
เพื่อ
ส่งคำขอโฆษณา:
Swift
adLoader.load(GADRequest())
Objective-C
[self.adLoader loadRequest:[GADRequest request]];
loadRequest:
ใน
GADAdLoader
ยอมรับ
GADRequest
แสดงเป็นแบนเนอร์และโฆษณาคั่นระหว่างหน้า คุณสามารถใช้ออบเจ็กต์คำขอเพื่อเพิ่ม
ข้อมูลการกำหนดเป้าหมาย เช่นเดียวกับที่คุณ
กับโฆษณาประเภทอื่นๆ
โหลดโฆษณาหลายรายการ (ตัวเลือก)
หากต้องการโหลดโฆษณาหลายรายการในคำขอเดียว ให้ตั้งค่า
GADMultipleAdsAdLoaderOptions
เมื่อเริ่มต้น GADAdLoader
Swift
let multipleAdOptions = GADMultipleAdsAdLoaderOptions()
multipleAdOptions.numberOfAds = 5;
adLoader = GADAdLoader(adUnitID: "ca-app-pub-3940256099942544/3986624511",
// The UIViewController parameter is optional.
rootViewController: self,
adTypes: [ .native ],
options: [ multipleAdOptions ])
Objective-C
GADMultipleAdsAdLoaderOptions *multipleAdsOptions =
[[GADMultipleAdsAdLoaderOptions alloc] init];
multipleAdsOptions.numberOfAds = 5;
self.adLoader = [[GADAdLoader alloc]
initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
// The UIViewController parameter is nullable.
rootViewController:rootViewController
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ multipleAdsOptions ]];
เราจำกัดจำนวนโฆษณาต่อคำขอไว้ที่ 5 รายการ และไม่รับประกันว่าจะมี SDK จะส่งคืนจำนวนโฆษณาที่ขออย่างถูกต้อง
โฆษณา Google ที่แสดงผลจะแตกต่างกันไป แม้ว่าโฆษณาจาก พื้นที่โฆษณาที่จองไว้หรือผู้ซื้อบุคคลที่สามจะไม่รับประกันว่าข้อเสนอจะซ้ำกัน
อย่าใช้คลาส GADMultipleAdsAdLoaderOptions
หากคุณใช้สื่อกลาง
เนื่องจากคำขอโฆษณาเนทีฟหลายรายการไม่ทำงานสำหรับรหัสหน่วยโฆษณาที่
สำหรับสื่อกลางแล้ว
ระบุเมื่อโหลดเสร็จแล้ว
หลังจากที่แอปเรียก loadRequest:
แอปจะได้รับผลคำขอโดยใช้
โทรหา:
adLoader:didFailToReceiveAdWithError:
ในGADAdLoaderDelegate
adLoader:didReceiveNativeAd:
ในGADNativeAdLoaderDelegate
คำขอสำหรับโฆษณาเดียวจะส่งผลให้เกิดการเรียกไปยังหนึ่งในวิธีเหล่านั้น 1 ครั้ง
คำขอสำหรับโฆษณาหลายรายการจะทำให้มีการเรียกกลับไปที่ค่าด้านบนอย่างน้อย 1 ครั้ง แต่ไม่เกินจำนวนโฆษณาสูงสุดที่ขอ
นอกจากนี้ GADAdLoaderDelegate
ยังเสนอadLoaderDidFinishLoading
Callback วิธีการให้สิทธิ์นี้บ่งชี้ว่าตัวโหลดโฆษณาโหลดเสร็จแล้ว
และจะไม่มีการรายงานโฆษณาหรือข้อผิดพลาดอื่นๆ สำหรับคำขอดังกล่าว นี่คือ
ตัวอย่างวิธีใช้เมื่อโหลดโฆษณาเนทีฟหลายรายการพร้อมกัน
Swift
class ViewController: UIViewController, GADNativeAdLoaderDelegate {
var adLoader: GADAdLoader!
override func viewDidLoad() {
super.viewDidLoad()
let multipleAdOptions = GADMultipleAdsAdLoaderOptions()
multipleAdOptions.numberOfAds = 5;
adLoader = GADAdLoader(adUnitID: "ca-app-pub-3940256099942544/3986624511",
// The UIViewController parameter is optional.
rootViewController: rootViewController,
adTypes: [ .native ],
options: [ multipleAdOptions ])
adLoader.delegate = self
adLoader.load(GADRequest())
}
func adLoader(_ adLoader: GADAdLoader,
didReceive nativeAd: GADNativeAd) {
// A native ad has loaded, and can be displayed.
}
func adLoaderDidFinishLoading(_ adLoader: GADAdLoader) {
// The adLoader has finished loading ads, and a new request can be sent.
}
}
Objective-C
@interface ViewController () <GADNativeAdLoaderDelegate, GADVideoControllerDelegate>
@property(nonatomic, strong) GADAdLoader *adLoader;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
GADMultipleAdsAdLoaderOptions *multipleAdsOptions =
[[GADMultipleAdsAdLoaderOptions alloc] init];
multipleAdsOptions.numberOfAds = 5;
self.adLoader = [[GADAdLoader alloc]
initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
// The UIViewController parameter is nullable.
rootViewController:rootViewController
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ multipleAdsOptions ]];
self.adLoader.delegate = self;
[self.adLoader loadRequest:[GADRequest request]];
}
- (void)adLoader:(GADAdLoader *)adLoader
didReceiveNativeAd:(GADNativeAd *)nativeAd {
// A native ad has loaded, and can be displayed.
}
- (void)adLoaderDidFinishLoading:(GADAdLoader *) adLoader {
// The adLoader has finished loading ads, and a new request can be sent.
}
@end
การจัดการคำขอที่ล้มเหลว
โปรโตคอลข้างต้นจะขยายโปรโตคอล 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:
แสดงโฆษณา
เมื่อคุณโหลดโฆษณาแล้ว ที่เหลือก็คือการแสดงโฆษณาแก่ผู้ใช้ของคุณ ไปที่เนทีฟขั้นสูง เพื่อดูวิธีการ