โฆษณาเนทีฟคือชิ้นงานโฆษณาที่แสดงต่อผู้ใช้ผ่านคอมโพเนนต์ UI ที่เป็นเนทีฟของแพลตฟอร์ม โดยจะแสดงโดยใช้ประเภทมุมมองเดียวกันกับที่คุณใช้สร้างเลย์เอาต์อยู่แล้ว และสามารถจัดรูปแบบให้ตรงกับการออกแบบภาพของแอปได้
เมื่อโฆษณาเนทีฟโหลด แอปจะได้รับออบเจ็กต์โฆษณาที่มีชิ้นงาน และแอป (ไม่ใช่ Google Mobile Ads SDK ) จะเป็นผู้ รับผิดชอบในการแสดงโฆษณา
โดยทั่วไปแล้ว การใช้โฆษณาเนทีฟให้ประสบความสำเร็จมี 2 ส่วน ได้แก่ การโหลดโฆษณาโดยใช้ SDK แล้วแสดงเนื้อหาโฆษณาในแอป
หน้านี้แสดงวิธีใช้ SDK เพื่อโหลดโฆษณาเนทีฟ เคล็ดลับ: ดูข้อมูลเพิ่มเติมเกี่ยวกับโฆษณาเนทีฟได้ใน Playbook สำหรับโฆษณาเนทีฟ
นอกจากนี้ คุณยังดูเรื่องราวความสำเร็จของลูกค้าได้ที่กรณีศึกษา 1 และกรณีศึกษา 2
ข้อกำหนดเบื้องต้น
- ทำตามคู่มือเริ่มต้นใช้งาน
ทดสอบด้วยโฆษณาทดสอบเสมอ
เมื่อสร้างและทดสอบแอป โปรดใช้โฆษณาทดสอบแทน โฆษณาจริงที่ใช้งานจริง
วิธีที่ง่ายที่สุดในการโหลดโฆษณาทดสอบคือการใช้รหัสหน่วยโฆษณาทดสอบเฉพาะ สำหรับโฆษณาเนทีฟใน Android
ca-app-pub-3940256099942544/2247696110
เราได้กำหนดค่าไว้เป็นพิเศษเพื่อแสดงโฆษณาทดสอบสำหรับทุกคำขอ และคุณสามารถ ใช้ในแอปของคุณเองขณะเขียนโค้ด ทดสอบ และแก้ไขข้อบกพร่อง เพียงตรวจสอบว่าคุณได้ แทนที่ด้วยรหัสหน่วยโฆษณาของคุณเองก่อนเผยแพร่แอป
ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีทำงานของโฆษณาทดสอบของ Google Mobile Ads SDK ได้ที่ โฆษณาทดสอบ
โหลดโฆษณา
โฆษณาเนทีฟจะโหลดด้วยคลาส
AdLoader
ซึ่งมีคลาส
Builder
ของตัวเองเพื่อปรับแต่งในระหว่างการสร้าง การเพิ่ม Listener ลงใน AdLoader
เมื่อสร้างแอป จะเป็นการระบุประเภทโฆษณาเนทีฟที่แอปพร้อมรับ
จากนั้น AdLoader
จะขอเฉพาะประเภทเหล่านั้น
สร้าง AdLoader
โค้ดต่อไปนี้แสดงวิธีสร้าง AdLoader
ที่โหลดโฆษณาเนทีฟได้
Java
Kotlin
แทนที่ AD_UNIT_ID ด้วยรหัสอุปกรณ์ทดสอบ
เมธอด
forNativeAd()
มีหน้าที่เตรียม AdLoader
สำหรับรูปแบบ NativeAd
เมื่อโหลดโฆษณาสําเร็จ ระบบจะเรียกใช้เมธอด onNativeAdLoaded()
ของออบเจ็กต์ Listener
ตั้งค่า AdListener ด้วย AdLoader (ไม่บังคับ)
เมื่อสร้าง AdLoader
ฟังก์ชัน
withAdListener
จะตั้งค่า
AdListener
สำหรับ
โปรแกรมโหลด เมธอดนี้ใช้ AdListener
เป็นพารามิเตอร์เดียว ซึ่งจะรับ
การเรียกกลับจาก AdLoader
เมื่อเกิดเหตุการณ์วงจรโฆษณา
Java
adLoaderBuilder.withAdListener(
// Override AdListener callbacks here.
new AdListener() {});
Kotlin
adLoaderBuilder.withAdListener(
// Override AdListener callbacks here.
object : AdListener() {}
)
ส่งคำขอแสดงโฆษณา
เมื่อสร้าง AdLoader
เสร็จแล้ว ก็ถึงเวลาใช้เพื่อขอโฆษณา
ซึ่งทำได้ 2 วิธี ได้แก่ loadAd()
และ loadAds()
loadAd()
วิธีนี้จะส่งคำขอสำหรับโฆษณาชิ้นเดียว
Java
adLoader.loadAd(new AdRequest.Builder().build());
Kotlin
adLoader.loadAd(AdRequest.Builder().build())
loadAds()
วิธีนี้จะส่งคำขอโฆษณาหลายรายการ (สูงสุด 5 รายการ) ดังนี้
Java
// Load three native ads.
adLoader.loadAds(new AdRequest.Builder().build(), 3);
Kotlin
// Load three native ads.
adLoader.loadAds(AdRequest.Builder().build(), 3)
ทั้ง 2 วิธีจะใช้ออบเจ็กต์
AdRequest
เป็นพารามิเตอร์แรก ซึ่งเป็นคลาสเดียวกับ
AdRequest
ที่ใช้โดยแบนเนอร์และโฆษณาคั่นระหว่างหน้า
และคุณสามารถใช้วิธีการของคลาส AdRequest
เพื่อ
เพิ่มข้อมูลการกำหนดเป้าหมายได้เช่นเดียวกับ
ที่คุณใช้กับรูปแบบโฆษณาอื่นๆ
โหลดโฆษณาหลายรายการ (ไม่บังคับ)
เมธอด loadAds()
จะใช้พารามิเตอร์เพิ่มเติมคือจำนวนโฆษณาที่ SDK
ควรพยายามโหลดสำหรับคำขอ จำนวนนี้จำกัดไว้ที่ 5 รายการ และไม่รับประกันว่า SDK จะแสดงผลโฆษณาตามจำนวนที่ขอ
โฆษณา Google ที่แสดงจะแตกต่างกันทั้งหมด แม้ว่าโฆษณาจาก พื้นที่โฆษณาที่สงวนไว้หรือผู้ซื้อบุคคลที่สามจะไม่รับประกันว่าจะไม่ซ้ำกัน
อย่าใช้วิธี loadAds()
หากคุณใช้สื่อกลาง เนื่องจากคำขอโฆษณาเนทีฟหลายรายการใช้ไม่ได้กับรหัสหน่วยโฆษณาที่กำหนดค่าไว้สำหรับสื่อกลาง
การติดต่อกลับ
หลังจากเรียกใช้ loadAd()
ระบบจะเรียกใช้การเรียกกลับครั้งเดียวไปยังเมธอด Listener ที่กำหนดไว้ก่อนหน้านี้
เพื่อส่งออบเจ็กต์โฆษณาเนทีฟหรือรายงานข้อผิดพลาด
หลังจากเรียกใช้ loadAds()
ระบบจะเรียกใช้ฟังก์ชันเรียกกลับดังกล่าวหลายครั้ง (อย่างน้อย 1 ครั้ง
และไม่เกินจำนวนโฆษณาที่ขอ) แอปที่ขอโฆษณาหลายรายการ
ควรเรียกใช้ AdLoader.isLoading()
ในการติดตั้งใช้งานการเรียกกลับเพื่อ
พิจารณาว่ากระบวนการโหลดเสร็จสิ้นแล้วหรือไม่
ตัวอย่างต่อไปนี้แสดงวิธีตรวจสอบ isLoading()
ใน
การเรียกกลับ onNativeAdLoaded()
Java
adLoaderBuilder
.forNativeAd(
nativeAd -> {
// This callback is invoked when a native ad is successfully loaded.
})
.build();
Kotlin
adLoaderBuilder
.forNativeAd { nativeAd ->
// This callback is invoked when a native ad is successfully loaded.
}
.build()
ปล่อยทรัพยากร
อย่าลืมใช้วิธี destroy()
กับโฆษณาเนทีฟที่โหลดแล้ว ซึ่งจะปล่อยทรัพยากรที่ใช้และป้องกันการรั่วไหลของหน่วยความจำ
ตรวจสอบว่ามีการทำลายการอ้างอิง NativeAd
ทั้งหมดในเมธอด
onDestroy()
ของกิจกรรม
ในonNativeAdLoaded
การเรียกกลับ ให้ตรวจสอบว่าได้ทำลายโฆษณา
เนทีฟที่มีอยู่ซึ่งจะถูกยกเลิกการอ้างอิง
การตรวจสอบที่สำคัญอีกอย่างคือดูว่ากิจกรรมถูกทำลายหรือไม่ หากเป็นเช่นนั้น ให้เรียกใช้ destroy()
ใน
โฆษณาที่แสดงผลและส่งคืนทันที
Java
nativeAd.destroy();
Kotlin
nativeAd.destroy()
แนวทางปฏิบัติแนะนำ
ทำตามกฎต่อไปนี้เมื่อโหลดโฆษณา
แอปที่ใช้โฆษณาเนทีฟในรายการควรแคชล่วงหน้าสำหรับรายการโฆษณา
เมื่อแคชโฆษณาล่วงหน้า ให้ล้างแคชและโหลดซ้ำหลังจากผ่านไป 1 ชั่วโมง
- อย่าเรียกใช้
loadAd()
หรือloadAds()
ในAdLoader
จนกว่าคำขอแรกจะโหลดเสร็จ
จำกัดการแคชโฆษณาเนทีฟเฉพาะสิ่งที่จำเป็น เช่น เมื่อแคชล่วงหน้า ให้แคชเฉพาะโฆษณาที่มองเห็นได้ทันทีบนหน้าจอ โฆษณาเนทีฟ ใช้หน่วยความจำมาก และการแคชโฆษณาเนทีฟโดยไม่ทำลายโฆษณา จะทำให้มีการใช้หน่วยความจำมากเกินไป
ทำลายโฆษณาเนทีฟเมื่อไม่ได้ใช้งานแล้ว
การเร่งฮาร์ดแวร์สำหรับโฆษณาวิดีโอ
คุณต้องเปิดใช้การเร่งด้วยฮาร์ดแวร์ เพื่อให้โฆษณาวิดีโอแสดงในมุมมองโฆษณาเนทีฟได้สำเร็จ
ระบบจะเปิดใช้การเร่งด้วยฮาร์ดแวร์โดยค่าเริ่มต้น แต่บางแอปอาจเลือก ปิดใช้ หากแอปของคุณเป็นเช่นนี้ เราขอแนะนำให้เปิดใช้การเร่งด้วยฮาร์ดแวร์สำหรับคลาส Activity ที่ใช้โฆษณา
การเปิดใช้การเร่งฮาร์ดแวร์
หากแอปทำงานไม่ถูกต้องเมื่อเปิดการเร่งด้วยฮาร์ดแวร์
ทั่วโลก คุณสามารถควบคุมการเร่งด้วยฮาร์ดแวร์สำหรับกิจกรรมแต่ละอย่างได้เช่นกัน หากต้องการเปิดหรือปิดใช้การเร่งฮาร์ดแวร์ ให้ใช้แอตทริบิวต์ android:hardwareAccelerated
สำหรับองค์ประกอบ
<application>
และ
<activity>
ใน AndroidManifest.xml
ตัวอย่างต่อไปนี้เปิดใช้การเร่งด้วยฮาร์ดแวร์
สำหรับทั้งแอป แต่ปิดใช้สำหรับกิจกรรมหนึ่งๆ
<application android:hardwareAccelerated="true">
<!-- For activities that use ads, hardwareAcceleration should be true. -->
<activity android:hardwareAccelerated="true" />
<!-- For activities that don't use ads, hardwareAcceleration can be false. -->
<activity android:hardwareAccelerated="false" />
</application>
ดูข้อมูลเพิ่มเติมเกี่ยวกับตัวเลือกสำหรับการควบคุมการเร่งด้วยฮาร์ดแวร์ได้ในคำแนะนำ การเร่งด้วยฮาร์ดแวร์ โปรดทราบ ว่าคุณจะเปิดใช้มุมมองโฆษณาแต่ละรายการสำหรับการเร่งฮาร์ดแวร์ไม่ได้หากปิดใช้ กิจกรรม ดังนั้นกิจกรรมเองจึงต้องเปิดใช้การเร่งฮาร์ดแวร์
แสดงโฆษณา
เมื่อโหลดโฆษณาแล้ว สิ่งที่เหลืออยู่คือการแสดงโฆษณาต่อผู้ใช้ โปรดไปที่คู่มือขั้นสูงเกี่ยวกับโฆษณาเนทีฟเพื่อดูวิธี