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