โฆษณาเนทีฟ

โฆษณาเนทีฟคือชิ้นงานโฆษณาที่แสดงต่อผู้ใช้ผ่านคอมโพเนนต์ 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: แล้ว แอปจะได้รับผลลัพธ์ของคําขอโดยใช้การเรียกใช้

คําขอโฆษณารายการเดียวจะส่งผลให้มีการเรียกใช้วิธีการใดวิธีการหนึ่งเพียงครั้งเดียว

การจัดการคำขอที่ไม่สำเร็จ

โปรโตคอลข้างต้นขยายโปรโตคอล 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: แสดง

  • จำกัดการแคชโฆษณาเนทีฟไว้เฉพาะเท่าที่จำเป็น เช่น เมื่อแคชล่วงหน้า ระบบจะแคชเฉพาะโฆษณาที่แสดงบนหน้าจอทันที โฆษณาเนทีฟมีการใช้หน่วยความจํามาก และการแคชโฆษณาเนทีฟโดยไม่ลบออกจะทําให้หน่วยความจําถูกใช้มากเกินไป

  • ทำลายโฆษณาเนทีฟเมื่อไม่ได้ใช้งานแล้ว

แสดงโฆษณา

เมื่อโหลดโฆษณาแล้ว สิ่งที่เหลืออยู่คือการแสดงโฆษณาต่อผู้ใช้ โปรดไปที่คู่มือขั้นสูงของโฆษณาเนทีฟเพื่อดูวิธี