โฆษณาเนทีฟ

โฆษณาเนทีฟคือชิ้นงานโฆษณาที่แสดงต่อผู้ใช้ผ่านคอมโพเนนต์ UI ที่เป็นของแพลตฟอร์มนั้นๆ รายการจะแสดงโดยใช้คลาสเดียวกับที่คุณใช้ในสตอรี่บอร์ดอยู่แล้ว และจัดรูปแบบให้เข้ากับการออกแบบภาพของแอปได้

เมื่อโฆษณาเนทีฟโหลดขึ้น แอปจะได้รับออบเจ็กต์โฆษณาที่มีชิ้นงาน และแอปแทน SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google จะมีหน้าที่แสดงโฆษณาเหล่านั้น

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

หน้านี้แสดงวิธีใช้ SDK เพื่อโหลดโฆษณาเนทีฟ

ข้อกำหนดเบื้องต้น

ทดสอบด้วยโฆษณาทดสอบเสมอ

เมื่อสร้างและทดสอบแอป โปรดใช้โฆษณาทดสอบแทนโฆษณาเวอร์ชันที่ใช้งานจริง

วิธีที่ง่ายที่สุดในการโหลดโฆษณาทดสอบคือการใช้รหัสหน่วยโฆษณาทดสอบสําหรับโฆษณาเนทีฟใน iOS

/21775744923/example/native

อุปกรณ์นี้ได้รับการกําหนดค่ามาเป็นพิเศษให้แสดงโฆษณาทดสอบสําหรับคําขอทุกรายการ และคุณสามารถนำไปใช้ในแอปของคุณเองได้ขณะเขียนโค้ด ทดสอบ และแก้ไขข้อบกพร่อง เพียงตรวจสอบว่าคุณได้แทนที่รหัสดังกล่าวด้วยรหัสหน่วยโฆษณาของคุณเองก่อนเผยแพร่แอป

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำงานของโฆษณาทดสอบของ Google Mobile Ads SDK โปรดดูทดสอบโฆษณา

โหลดโฆษณา

โฆษณาเนทีฟจะโหลดด้วยคลาส 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: แสดง

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

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

แสดงโฆษณา

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