โฆษณาเนทีฟ

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

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

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

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

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

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

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

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

รูปแบบโฆษณา รหัสหน่วยโฆษณาตัวอย่าง
เนทีฟ /21775744923/example/native
วิดีโอเนทีฟ /21775744923/example/native-video

โหลดโฆษณา

หากต้องการโหลดโฆษณาเนทีฟ ให้เรียกใช้เมธอด NativeAdLoader.load() ซึ่งใช้ NativeAdRequest และ NativeAdLoaderCallback

import com.google.android.libraries.ads.mobile.sdk.common.LoadAdError
import com.google.android.libraries.ads.mobile.sdk.nativead.NativeAd
import com.google.android.libraries.ads.mobile.sdk.nativead.NativeAdLoader
import com.google.android.libraries.ads.mobile.sdk.nativead.NativeAdLoaderCallback
import com.google.android.libraries.ads.mobile.sdk.nativead.NativeAdRequest

class NativeFragment : Fragment() {

  private var nativeAd: NativeAd? = null

  override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    super.onViewCreated(view, savedInstanceState)
    loadAd()
  }

  private fun loadAd() {
    // Build an ad request with native ad options to customize the ad.
    val adRequest = NativeAdRequest
      .Builder(AD_UNIT_ID, listOf(NativeAd.NativeAdType.NATIVE))
      .build()

    val adCallback =
      object : NativeAdLoaderCallback {
        override fun onNativeAdLoaded(nativeAd: NativeAd) {
          // Called when a native ad has loaded.
        }
        override fun onAdFailedToLoad(adError: LoadAdError) {
          // Called when a native ad has failed to load.
        }
      }

    // Load the native ad with our request and callback.
    NativeAdLoader.load(adRequest, adCallback)
  }

  companion object {
    // Sample native ad unit ID.
    const val AD_UNIT_ID = "/21775744923/example/native"
  }
}

ตั้งค่าการเรียกกลับเหตุการณ์โฆษณาเนทีฟ

เมื่อจัดการ onNativeAdLoaded ให้ตั้งค่า NativeAd ที่ได้รับด้วย NativeAdEventCallback เพื่อกําหนดฟังก์ชันสําหรับรับเหตุการณ์วงจรโฆษณาเนทีฟ

  nativeAd.adEventCallback =
    object : NativeAdEventCallback {
      override fun onAdShowedFullScreenContent() {
        // Native ad showed full screen content.
      }
      override fun onAdDismissedFullScreenContent() {
        // Native ad dismissed full screen content.
      }
      override fun onAdFailedToShowFullScreenContent {
        // Native ad failed to show full screen content.
      }
      override fun onAdImpression() {
        // Native ad recorded an impression.
      }
      override fun onAdClicked() {
        // Native ad recorded a click.
      }
    }

ไม่บังคับ: โหลดโฆษณาหลายรายการ

หากต้องการโหลดโฆษณาหลายรายการ ให้เรียกใช้ load() พร้อมพารามิเตอร์ numberOfAds (ไม่บังคับ) ค่าสูงสุดที่คุณตั้งได้คือ 5 ซึ่งแสดงถึงจํานวนโฆษณา SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google อาจไม่แสดงโฆษณาตามจํานวนที่คุณขอ

private fun loadAd() {
  // Build an ad request with native ad options to customize the ad.
  val adRequest = NativeAdRequest
    .Builder(AD_UNIT_ID, listOf(NativeAd.NativeAdType.NATIVE))
    .build()

  val adCallback =
    object : NativeAdLoaderCallback {
      override fun onNativeAdLoaded(nativeAd: NativeAd) {
        // Called when a native ad has loaded.
      }
      override fun onAdFailedToLoad(adError: LoadAdError) {
        // Called when a native ad has failed to load.
      }
      override fun onAdLoadingCompleted() {
        // Called when all native ads have loaded.
      }
    }

  // Load the native ad with our request and callback.
  NativeAdLoader.load(adRequest, 3, adCallback)
}

โฆษณาที่ Google Mobile Ads SDK แสดงจะซ้ำกันไม่ได้ แต่โฆษณาจากพื้นที่โฆษณาที่สงวนไว้หรือผู้ซื้อบุคคลที่สามอาจซ้ำกันได้

หากคุณใช้สื่อกลางอยู่ อย่าเรียกใช้เมธอด load() คําขอโฆษณาเนทีฟหลายรายการจะใช้ไม่ได้กับรหัสหน่วยโฆษณาที่กําหนดค่าไว้สําหรับสื่อกลาง

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

โปรดทำตามกฎต่อไปนี้เมื่อโหลดโฆษณา

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

  • เมื่อแคชโฆษณาล่วงหน้า ให้ล้างแคชและโหลดซ้ำหลังจากผ่านไป 1 ชั่วโมง

  • จำกัดการแคชโฆษณาเนทีฟไว้เฉพาะเท่าที่จำเป็น เช่น เมื่อแคชล่วงหน้า ระบบจะแคชเฉพาะโฆษณาที่ปรากฏบนหน้าจอทันที โฆษณาเนทีฟใช้หน่วยความจํามาก และการแคชโฆษณาเนทีฟโดยไม่ลบออกส่งผลให้มีการใช้หน่วยความจํามากเกินไป

  • ทำลายโฆษณาเนทีฟเมื่อไม่ได้ใช้งานแล้ว

การเร่งฮาร์ดแวร์สําหรับโฆษณาวิดีโอ

คุณต้องเปิดใช้การเร่งด้วยฮาร์ดแวร์เพื่อให้โฆษณาวิดีโอแสดงในมุมมองโฆษณาเนทีฟได้สําเร็จ

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

การเปิดใช้การเร่งฮาร์ดแวร์

หากแอปทำงานไม่ถูกต้องเมื่อเปิดการเร่งด้วยฮาร์ดแวร์ไว้โดยรวม คุณสามารถควบคุมการเร่งด้วยฮาร์ดแวร์สำหรับแต่ละกิจกรรมได้เช่นกัน หากต้องการเปิดหรือปิดใช้การเร่งฮาร์ดแวร์ ให้ใช้แอตทริบิวต์ 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>

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

แสดงโฆษณา

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

ตัวอย่าง

ดาวน์โหลดและเรียกใช้แอปตัวอย่างที่สาธิตการใช้ SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google รุ่นถัดไป