โฆษณาเนทีฟคือชิ้นงานโฆษณาที่แสดงต่อผู้ใช้ผ่านคอมโพเนนต์ UI ที่เป็นเนทีฟของแพลตฟอร์ม โดยจะแสดงโดยใช้มุมมองประเภทเดียวกับที่คุณใช้สร้างเลย์เอาต์อยู่แล้ว และสามารถจัดรูปแบบให้เข้ากับการออกแบบภาพของแอปได้
เมื่อโฆษณาเนทีฟโหลด แอปจะได้รับออบเจ็กต์โฆษณาที่มีชิ้นงาน และแอป (ไม่ใช่ Google Mobile Ads SDK) จะมีหน้าที่ แสดงโฆษณา
โดยทั่วไป การติดตั้งใช้งานโฆษณาเนทีฟให้สำเร็จมี 2 ส่วน ได้แก่ การโหลดโฆษณาโดยใช้ SDK แล้วแสดงเนื้อหาโฆษณาในแอป
หน้านี้แสดงวิธีใช้ SDK เพื่อโหลด โฆษณาเนทีฟ
ข้อกำหนดเบื้องต้น
ก่อนดำเนินการต่อ ตั้งค่า Google Mobile Ads SDK
ทดสอบด้วยโฆษณาทดสอบเสมอ
เมื่อสร้างและทดสอบแอป โปรดใช้โฆษณาทดสอบแทนโฆษณาจริง
วิธีที่ง่ายที่สุดในการโหลดโฆษณาทดสอบคือการใช้รหัสหน่วยโฆษณาทดสอบเฉพาะสำหรับโฆษณาเนทีฟใน Android ดังนี้
/21775744923/example/native
ซึ่งได้รับการกำหนดค่าเป็นพิเศษให้แสดงโฆษณาทดสอบสำหรับทุกคำขอ และคุณสามารถใช้รหัสนี้ในแอปของคุณเองขณะเขียนโค้ด ทดสอบ และแก้ไขข้อบกพร่อง เพียงตรวจสอบว่าคุณได้แทนที่รหัสนี้ด้วยรหัสหน่วยโฆษณาของคุณเองก่อนเผยแพร่แอป
ดูรายละเอียดเกี่ยวกับโฆษณาทดสอบ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 AdManagerAdRequest.Builder().build());
Kotlin
adLoader.loadAd(AdManagerAdRequest.Builder().build())
loadAds()
เมธอดนี้จะส่งคำขอโฆษณาหลายรายการ (สูงสุด 5 รายการ)
Java
// Load three native ads.
adLoader.loadAds(new AdManagerAdRequest.Builder().build(), 3);
Kotlin
// Load three native ads.
adLoader.loadAds(AdManagerAdRequest.Builder().build(), 3)
ทั้ง 2 เมธอดใช้ออบเจ็กต์
AdManagerAdRequest
เป็นพารามิเตอร์แรก ซึ่งเป็นคลาส
AdManagerAdRequest เดียวกันกับที่แบนเนอร์และโฆษณาคั่นระหว่างหน้าใช้
และคุณสามารถใช้วิธีการของ AdManagerAdRequest เพื่อ
เพิ่ม ข้อมูลการกำหนดเป้าหมายได้เช่นเดียวกับโฆษณารูปแบบอื่นๆ
โหลดโฆษณาหลายรายการ (ไม่บังคับ)
เมธอด loadAds() ใช้พารามิเตอร์เพิ่มเติม ซึ่งก็คือจำนวนโฆษณาที่ SDK ควรพยายามโหลดสำหรับคำขอ จำนวนนี้จำกัดไว้ที่ 5 รายการ และไม่รับประกันว่า SDK จะแสดงโฆษณาตามจำนวนที่ขอ
โฆษณา Google ที่แสดงทั้งหมดจะแตกต่างกัน แม้ว่าจะไม่รับประกันว่าโฆษณาจากพื้นที่โฆษณาที่สงวนไว้หรือผู้ซื้อบุคคลที่สามจะไม่ซ้ำกัน
อย่าใช้เมธอด loadAds() หากคุณใช้สื่อกลาง เนื่องจากคำขอโฆษณาเนทีฟหลายรายการใช้ไม่ได้กับรหัสหน่วยโฆษณาที่กำหนดค่าไว้สำหรับสื่อกลาง
การเรียกกลับ
หลังจากเรียกใช้ loadAd() ระบบจะเรียกกลับไปยัง
เมธอด Listener ที่กำหนดไว้ก่อนหน้านี้เพียงครั้งเดียวเพื่อแสดงออบเจ็กต์โฆษณาเนทีฟหรือรายงานข้อผิดพลาด
ปล่อยทรัพยากร
อย่าลืมใช้เมธอด destroy() กับโฆษณาเนทีฟที่โหลดแล้ว ซึ่งจะปล่อยทรัพยากรที่ใช้และป้องกันการรั่วไหลของหน่วยความจำ
ตรวจสอบว่าได้ทำลายการอ้างอิง NativeAd ทั้งหมดในเมธอด onDestroy() ของกิจกรรมแล้ว
ในการเรียกกลับ onNativeAdLoaded ให้ตรวจสอบว่าได้ทำลายโฆษณาเนทีฟที่มีอยู่ซึ่งจะถูกยกเลิกการอ้างอิงแล้ว
การตรวจสอบที่สำคัญอีกอย่างคือการตรวจสอบว่ากิจกรรมถูกทำลายหรือไม่ หากใช่ ให้เรียกใช้ destroy() กับโฆษณาที่แสดงและกลับทันที
Java
nativeAd.destroy();
Kotlin
nativeAd.destroy()
แนวทางปฏิบัติแนะนำ
ทำตามกฎต่อไปนี้เมื่อโหลดโฆษณา
แอปที่ใช้โฆษณาเนทีฟในรายการควรแคชรายการโฆษณาไว้ล่วงหน้า
เมื่อแคชโฆษณาไว้ล่วงหน้า ให้ล้างแคชและโหลดซ้ำหลังจากผ่านไป 1 ชั่วโมง
- อย่าเรียกใช้
loadAd()ในAdLoaderจนกว่าคำขอแรก จะโหลดเสร็จ
จำกัดการแคชโฆษณาเนทีฟไว้เฉพาะที่จำเป็นเท่านั้น เช่น เมื่อแคชไว้ล่วงหน้า ให้แคชเฉพาะโฆษณาที่มองเห็นได้ทันทีบนหน้าจอ โฆษณาเนทีฟใช้หน่วยความจำมาก และการแคชโฆษณาเนทีฟโดยไม่ทำลายโฆษณาจะทำให้ใช้หน่วยความจำมากเกินไป
ทำลายโฆษณาเนทีฟเมื่อไม่ได้ใช้งานแล้ว
การเร่งฮาร์ดแวร์สำหรับโฆษณาวิดีโอ
โฆษณาวิดีโอต้องแสดงในมุมมองโฆษณาเนทีฟได้สำเร็จโดยต้องเปิดใช้ การเร่ง ฮาร์ดแวร์
การเร่งฮาร์ดแวร์จะเปิดใช้โดยค่าเริ่มต้น แต่บางแอปอาจเลือกที่จะปิดใช้ หากแอปของคุณเป็นเช่นนั้น เราขอแนะนำให้เปิดใช้การเร่งฮาร์ดแวร์สำหรับคลาสกิจกรรมที่ใช้โฆษณา
การเปิดใช้การเร่งฮาร์ดแวร์
หากแอปทำงานไม่ถูกต้องเมื่อเปิดใช้การเร่งฮาร์ดแวร์ทั่วโลก คุณสามารถควบคุมการเร่งฮาร์ดแวร์สำหรับกิจกรรมแต่ละรายการได้เช่นกัน หากต้องการเปิดใช้หรือ
ปิดใช้การเร่งฮาร์ดแวร์ ให้ใช้แอตทริบิวต์ 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>
ดูข้อมูลเพิ่มเติมเกี่ยวกับตัวเลือกในการควบคุมการเร่งฮาร์ดแวร์ได้ที่คู่มือ การเร่งฮาร์ดแวร์ โปรดทราบว่าคุณจะเปิดใช้การเร่งฮาร์ดแวร์สำหรับมุมมองโฆษณาเดี่ยวแต่ละรายการไม่ได้หากปิดใช้กิจกรรม ดังนั้นกิจกรรมเองจะต้องเปิดใช้การเร่งฮาร์ดแวร์
แสดงโฆษณา
เมื่อโหลดโฆษณาแล้ว สิ่งที่เหลืออยู่คือการแสดงโฆษณาต่อผู้ใช้ โปรดไปที่คู่มือโฆษณาเนทีฟขั้นสูงเพื่อดูวิธีแสดงโฆษณา