โฆษณาเนทีฟ

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

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

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

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

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

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

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

วิธีที่ง่ายที่สุดในการโหลดโฆษณาทดสอบคือการใช้รหัสหน่วยโฆษณาทดสอบโดยเฉพาะของเรา สำหรับโฆษณาเนทีฟบน Android

/6499/example/native

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

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

โหลดโฆษณา

โฆษณาเนทีฟจะโหลดด้วย AdLoader ชั้นเรียน ซึ่งมี Builder เพื่อปรับแต่งในระหว่างการสร้างได้ เพิ่ม Listener ใน AdLoader เมื่อคุณสร้างโฆษณา แอปจะระบุประเภทของโฆษณาเนทีฟที่แอปพร้อม ได้รับ จากนั้น AdLoader จะขอเฉพาะประเภทเหล่านั้น

สร้าง AdLoader

โค้ดต่อไปนี้แสดงวิธีสร้าง AdLoader ที่โหลดโฆษณาเนทีฟได้ โฆษณา:

Java

AdLoader adLoader = new AdLoader.Builder(context, "/6499/example/native")
    .forNativeAd(new NativeAd.OnNativeAdLoadedListener() {
        @Override
        public void onNativeAdLoaded(NativeAd nativeAd) {
            // Show the ad.
        }
    })
    .withAdListener(new AdListener() {
        @Override
        public void onAdFailedToLoad(LoadAdError adError) {
            // Handle the failure by logging, altering the UI, and so on.
        }
    })
    .withNativeAdOptions(new NativeAdOptions.Builder()
            // Methods in the NativeAdOptions.Builder class can be
            // used here to specify individual options settings.
            .build())
    .build();

Kotlin

val adLoader = AdLoader.Builder(this, "/6499/example/native")
    .forNativeAd { ad : NativeAd ->
        // Show the ad.
    }
    .withAdListener(object : AdListener() {
        override fun onAdFailedToLoad(adError: LoadAdError) {
            // Handle the failure by logging, altering the UI, and so on.
        }
    })
    .withNativeAdOptions(NativeAdOptions.Builder()
            // Methods in the NativeAdOptions.Builder class can be
            // used here to specify individual options settings.
            .build())
    .build()

forNativeAd() มีหน้าที่เตรียม AdLoader สำหรับรูปแบบ NativeAd เมื่อโฆษณาโหลดสำเร็จ onNativeAdLoaded() ของออบเจ็กต์ Listener เมธอด

ตั้งค่า AdListener ด้วย AdLoader (ไม่บังคับ)

เมื่อสร้าง AdLoader พารามิเตอร์ withAdListener ตั้งค่าฟังก์ชัน AdListener สำหรับ ตัวโหลด เมธอดนี้รับ AdListener เป็นพารามิเตอร์โดดเดี่ยว ซึ่งจะได้รับ Callback จาก AdLoader เมื่อเหตุการณ์ในวงจรโฆษณาเกิดขึ้น

Java

.withAdListener(new AdListener() {
    // AdListener callbacks can be overridden here.
})

Kotlin

.withAdListener(object : AdListener() {
    // AdListener callbacks can be overridden here.
})

ส่งคำขอแสดงโฆษณา

เมื่อคุณสร้าง AdLoader เสร็จแล้ว ก็ถึงเวลาใช้แอปพลิเคชันนี้เพื่อขอโฆษณา ใช้เมธอด loadAd() ซึ่งจะบันทึก AdManagerAdRequest เป็นพารามิเตอร์แรก นี่เหมือนเดิม มี AdManagerAdRequest คลาสที่แบนเนอร์และโฆษณาคั่นระหว่างหน้าใช้ และคุณสามารถใช้วิธีการของคลาส AdManagerAdRequest เพื่อ เพิ่มข้อมูลการกําหนดเป้าหมาย กับรูปแบบโฆษณาอื่นๆ

loadAd()

วิธีการนี้จะส่งคำขอสำหรับโฆษณาเดียว

Java

adLoader.loadAd(new AdManagerAdRequest.Builder().build());

Kotlin

adLoader.loadAd(AdManagerAdRequest.Builder().build())

Callback

หลังจากโทรหา loadAd() แล้ว ระบบจะเรียกกลับไปยังหมายเลขที่กำหนดไว้ก่อนหน้า วิธีฟังแสดงออบเจ็กต์โฆษณาเนทีฟหรือรายงานข้อผิดพลาด

ปล่อยทรัพยากร

อย่าลืมใช้เมธอด destroy() กับโฆษณาเนทีฟที่โหลด รุ่นนี้ ใช้ประโยชน์จากทรัพยากรและป้องกันการรั่วไหลของหน่วยความจำ

ตรวจสอบว่าได้ทำลายการอ้างอิง NativeAd ทั้งหมดในกิจกรรม onDestroy() วิธี

ในการเรียกกลับของ onNativeAdLoaded โปรดตรวจสอบว่าได้ทำลายข้อมูลที่มีอยู่ โฆษณาเนทีฟที่จะถูกยกเลิกการอ้างอิง

การตรวจสอบคีย์อื่นคือหากกิจกรรมถูกทำลายแล้ว หากเป็นเช่นนั้น ให้เรียกใช้ destroy() ใน โฆษณาที่แสดงและส่งคืนทันที:

Java

final AdLoader adLoader = new AdLoader.Builder(this, "/6499/example/native")
        .forNativeAd(new NativeAd.OnNativeAdLoadedListener() {
    @Override
    public void onNativeAdLoaded(NativeAd nativeAd) {
        // If this callback occurs after the activity is destroyed, you
        // must call destroy and return or you may get a memory leak.
        // Note `isDestroyed()` is a method on Activity.
        if (isDestroyed()) {
            nativeAd.destroy();
            return;
        }
        ...
    }
}).build();

Kotlin

lateinit var adLoader: AdLoader
...
adLoader = AdLoader.Builder(this, "/6499/example/native")
    .forNativeAd { nativeAd ->
        // If this callback occurs after the activity is destroyed, you
        // must call destroy and return or you may get a memory leak.
        // Note `isDestroyed` is a method on Activity.
        if (isDestroyed) {
            nativeAd.destroy()
            return@forNativeAd
        }
        ...
    }.build()

แนวทางปฏิบัติแนะนำ

ทำตามกฎเหล่านี้ขณะโหลดโฆษณา

  • แอปที่ใช้โฆษณาเนทีฟในรายการควรแคชรายการโฆษณาไว้ล่วงหน้า

  • เมื่อแคชโฆษณาล่วงหน้า ให้ล้างแคชและโหลดซ้ำหลังจากผ่านไป 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>

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

แสดงโฆษณา

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