โฆษณาเนทีฟคือชิ้นงานโฆษณาที่แสดงต่อผู้ใช้ผ่านคอมโพเนนต์ UI ที่เป็นเนทีฟของแพลตฟอร์ม โดยจะแสดงโดยใช้มุมมองประเภทเดียวกับที่คุณใช้สร้างเลย์เอาต์อยู่แล้ว และสามารถจัดรูปแบบให้เข้ากับการออกแบบภาพของแอปได้
เมื่อโฆษณาเนทีฟโหลด แอปจะได้รับออบเจ็กต์โฆษณาที่มีชิ้นงาน และแอป (ไม่ใช่ Google Mobile Ads SDK) จะมีหน้าที่ แสดงโฆษณา
โดยทั่วไป การติดตั้งใช้งานโฆษณาเนทีฟให้สำเร็จมี 2 ส่วน ได้แก่ การโหลดโฆษณาโดยใช้ SDK แล้วแสดงเนื้อหาโฆษณาในแอป
หน้านี้แสดงวิธีใช้ SDK เพื่อโหลด โฆษณาเนทีฟ เคล็ดลับ: ดูข้อมูลเพิ่มเติมเกี่ยวกับโฆษณาเนทีฟได้ใน Native Ads Playbook
นอกจากนี้ คุณยังดูเรื่องราวความสำเร็จของลูกค้าได้ที่ กรณีศึกษา 1 และ กรณีศึกษา 2
ข้อกำหนดเบื้องต้น
ก่อนดำเนินการต่อ ตั้งค่า Google Mobile Ads SDK
ทดสอบด้วยโฆษณาทดสอบเสมอ
เมื่อสร้างและทดสอบแอป โปรดใช้โฆษณาทดสอบแทนโฆษณาจริง
วิธีที่ง่ายที่สุดในการโหลดโฆษณาทดสอบคือการใช้รหัสหน่วยโฆษณาทดสอบเฉพาะสำหรับโฆษณาเนทีฟใน 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 สำหรับ
loader เมธอดนี้ใช้ออบเจ็กต์ 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จนกว่าคำขอแรก จะโหลดเสร็จ
จำกัดการแคชโฆษณาเนทีฟไว้เฉพาะที่จำเป็นเท่านั้น เช่น เมื่อแคชไว้ล่วงหน้า ให้แคชเฉพาะโฆษณาที่มองเห็นได้ทันทีบนหน้าจอ โฆษณาเนทีฟใช้หน่วยความจำมาก และการแคชโฆษณาเนทีฟโดยไม่ทำลายโฆษณาจะทำให้ใช้หน่วยความจำมากเกินไป
ทำลายโฆษณาเนทีฟเมื่อไม่ได้ใช้งานแล้ว
การเร่งฮาร์ดแวร์สำหรับโฆษณาวิดีโอ
โฆษณาวิดีโอจะแสดงในมุมมองโฆษณาเนทีฟได้สำเร็จก็ต่อเมื่อเปิดใช้การเร่งฮาร์ดแวร์ hardware acceleration
ระบบจะเปิดใช้การเร่งฮาร์ดแวร์โดยค่าเริ่มต้น แต่บางแอปอาจเลือกที่จะปิดใช้ หากแอปของคุณเป็นเช่นนั้น เราขอแนะนำให้เปิดใช้การเร่งฮาร์ดแวร์สำหรับคลาสกิจกรรมที่ใช้โฆษณา
การเปิดใช้การเร่งฮาร์ดแวร์
หากแอปทำงานไม่ถูกต้องเมื่อเปิดใช้การเร่งฮาร์ดแวร์ทั่วโลก คุณสามารถควบคุมการเร่งฮาร์ดแวร์สำหรับกิจกรรมแต่ละรายการได้เช่นกัน หากต้องการเปิดใช้หรือ
ปิดใช้การเร่งฮาร์ดแวร์ ให้ใช้แอตทริบิวต์ 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>
ดูข้อมูลเพิ่มเติมเกี่ยวกับตัวเลือกในการควบคุมการเร่งฮาร์ดแวร์ได้ที่คู่มือ การเร่งฮาร์ดแวร์ โปรดทราบว่าคุณจะเปิดใช้การเร่งฮาร์ดแวร์สำหรับมุมมองโฆษณาเดี่ยวแต่ละรายการไม่ได้หากปิดใช้กิจกรรม ดังนั้นกิจกรรมเองจะต้องเปิดใช้การเร่งฮาร์ดแวร์
แสดงโฆษณา
เมื่อโหลดโฆษณาแล้ว สิ่งที่เหลืออยู่คือการแสดงโฆษณาต่อผู้ใช้ โปรดไปที่คู่มือโฆษณาเนทีฟขั้นสูงเพื่อดูวิธีแสดงโฆษณา