รวมคําขอโฆษณาเนทีฟและโฆษณาแบนเนอร์

คุณสามารถรวมโฆษณาเนทีฟและโฆษณาแบนเนอร์ไว้ในคำขอโฆษณาได้โดยทำการเปลี่ยนแปลงโค้ดเพียงเล็กน้อย

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

โหลดโฆษณา

หากต้องการส่งคำขอโฆษณาเนทีฟและโฆษณาแบนเนอร์รวมกัน ให้ทำดังนี้

  1. ส่งทั้งประเภท NativeAdType.NATIVE และประเภท NativeAdType.BANNER เป็นรายการใน NativeAdRequest

  2. กำหนดขนาดโฆษณาแบนเนอร์อย่างน้อย 1 ขนาด

ตัวอย่างต่อไปนี้จะโหลดโฆษณาเนทีฟและโฆษณาแบนเนอร์รวมกัน

Kotlin

val adRequest =
  NativeAdRequest.Builder(AD_UNIT_ID, listOf(NativeAdType.NATIVE, NativeAdType.BANNER))
    // Use setAdSize() or setAdSizes() depending on if you want multiple ad sizes or not.
    .setAdSizes(listOf(AdSize.BANNER, AdSize.LARGE_BANNER))
    .build()

// Load the native and banner ad with the ad request and callback.
NativeAdLoader.load(adRequest, getNativeAdLoaderCallback())

Java

NativeAdRequest adRequest =
    new NativeAdRequest.Builder(AD_UNIT_ID, List.of(NativeAdType.NATIVE, NativeAdType.BANNER))
        // Use setAdSize() or setAdSizes() depending on if you want multiple ad sizes or not.
        .setAdSizes(Arrays.asList(AdSize.BANNER, AdSize.LARGE_BANNER))
        .build();

// Load the native and banner ad with the ad request and callback.
NativeAdLoader.load(adRequest, getNativeAdLoaderCallback());

กำหนดขนาดโฆษณาให้เล็กกว่าหรือเท่ากับขนาดหน้าจอของอุปกรณ์ หากต้องการกำหนดขนาดหน้าจอสูงสุด ให้ใช้ Resources.getDisplayMetrics เมธอด ขนาดของออบเจ็กต์ AdSize ใช้หน่วยความหนาแน่นของพิกเซลอิสระ (dp) เมื่อเปรียบเทียบ ให้แปลงขนาดหน้าจอจากพิกเซลเป็น dp ดูรายละเอียดเกี่ยวกับข้อจำกัดด้านขนาดได้ที่ หัวข้อแก้ปัญหาการแสดงผลที่ไม่ได้รับโฆษณาใน Ad Manager

รับโฆษณาจากออบเจ็กต์ NativeAdLoaderCallback

ออบเจ็กต์ NativeAdLoaderCallback จะเรียกเมธอด onNativeAdLoaded() สำหรับโฆษณาเนทีฟ และเมธอด onBannerAdLoaded() สำหรับโฆษณาแบนเนอร์ ทั้งนี้ขึ้นอยู่กับประเภทโฆษณาที่โหลดสำเร็จ

ตัวอย่างต่อไปนี้จะรับโฆษณาแบนเนอร์หรือโฆษณาเนทีฟ

Kotlin

private fun getNativeAdLoaderCallback(): NativeAdLoaderCallback {
  return object : NativeAdLoaderCallback {
    override fun onNativeAdLoaded(nativeAd: NativeAd) {
      // Called when a native ad has loaded.
    }

    override fun onBannerAdLoaded(bannerAd: BannerAd) {
      // Called when a banner ad has loaded.
    }
  }
}

Java

private NativeAdLoaderCallback getNativeAdLoaderCallback() {
  return new NativeAdLoaderCallback() {
    @Override
    public void onNativeAdLoaded(@NonNull NativeAd nativeAd) {
      // Called when a native ad has loaded.
    }

    @Override
    public void onBannerAdLoaded(@NonNull BannerAd bannerAd) {
      // Called when a banner ad has loaded.
    }
  };
}