แบนเนอร์โฆษณา

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

คู่มือนี้ครอบคลุมการโหลดโฆษณาแบนเนอร์ยึดตําแหน่งที่ปรับเปลี่ยนได้ลงในแอป Android

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

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

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

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

ca-app-pub-3940256099942544/9214589741

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

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

กําหนดคอนเทนเนอร์การแสดงโฆษณา

เพิ่มมุมมองลงในไฟล์ XML ของเลย์เอาต์เพื่อใช้เป็นคอนเทนเนอร์สําหรับโฆษณาแบนเนอร์แบบปรับขนาดตามพื้นที่โฆษณาที่ยึด

<!-- Ad view container that fills the width of the screen and adjusts its
     height to the content of the ad. -->
<FrameLayout
        android:id="@+id/ad_view_container"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:layout_alignParentBottom="true" />

กำหนดขนาดโฆษณา

ตั้งค่า AdSize เป็นประเภทแบนเนอร์แบบปรับขนาดได้ที่โฆษณา Anchor โดยระบุความกว้าง

Java

// Request an anchored adaptive banner with a width of 360.
adView.setAdSize(AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(this, 360));

Kotlin

// Request an anchored adaptive banner with a width of 360.
adView.setAdSize(AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(this, 360))

เพิ่ม AdView ลงในเลย์เอาต์

สร้าง AdView โดยใช้ขนาดโฆษณาเพื่อเพิ่มลงในเลย์เอาต์ของแอป

Java

// Create a new ad view.
adView = new AdView(this);
adView.setAdUnitId(AD_UNIT_ID);
// Request an anchored adaptive banner with a width of 360.
adView.setAdSize(AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(this, 360));

// Replace ad container with new ad view.
adContainerView.removeAllViews();
adContainerView.addView(adView);

Kotlin

// Create a new ad view.
val adView = AdView(this)
adView.adUnitId = AD_UNIT_ID
// Request an anchored adaptive banner with a width of 360.
adView.setAdSize(AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(this, 360))
this.adView = adView

// Replace ad container with new ad view.
binding.adViewContainer.removeAllViews()
binding.adViewContainer.addView(adView)

โหลดโฆษณา

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

ต่อไปนี้คือตัวอย่างที่แสดงวิธีโหลดโฆษณา

Java

AdRequest adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);

Kotlin

val adRequest = AdRequest.Builder().build()
adView.loadAd(adRequest)

หากดำเนินการสำเร็จ แอปของคุณก็พร้อมแสดงโฆษณาแบนเนอร์แล้ว

รีเฟรชโฆษณา

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

เหตุการณ์โฆษณา

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

Java

adView.setAdListener(new AdListener() {
    @Override
    public void onAdClicked() {
      // Code to be executed when the user clicks on an ad.
    }

    @Override
    public void onAdClosed() {
      // Code to be executed when the user is about to return
      // to the app after tapping on an ad.
    }

    @Override
    public void onAdFailedToLoad(LoadAdError adError) {
      // Code to be executed when an ad request fails.
    }

    @Override
    public void onAdImpression() {
      // Code to be executed when an impression is recorded
      // for an ad.
    }

    @Override
    public void onAdLoaded() {
      // Code to be executed when an ad finishes loading.
    }

    @Override
    public void onAdOpened() {
      // Code to be executed when an ad opens an overlay that
      // covers the screen.
    }
});

Kotlin

adView.adListener = object: AdListener() {
    override fun onAdClicked() {
      // Code to be executed when the user clicks on an ad.
    }

    override fun onAdClosed() {
      // Code to be executed when the user is about to return
      // to the app after tapping on an ad.
    }

    override fun onAdFailedToLoad(adError : LoadAdError) {
      // Code to be executed when an ad request fails.
    }

    override fun onAdImpression() {
      // Code to be executed when an impression is recorded
      // for an ad.
    }

    override fun onAdLoaded() {
      // Code to be executed when an ad finishes loading.
    }

    override fun onAdOpened() {
      // Code to be executed when an ad opens an overlay that
      // covers the screen.
    }
}

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

เมธอดที่ลบล้างได้
onAdClicked() ระบบจะเรียกใช้เมธอด onAdClicked() เมื่อบันทึกการคลิกสําหรับโฆษณา
onAdClosed() ระบบจะเรียกใช้เมธอด onAdClosed() เมื่อผู้ใช้กลับมาที่แอปหลังจากดู URL ปลายทางของโฆษณา แอปของคุณสามารถใช้เพื่อดําเนินกิจกรรมที่ถูกระงับต่อ หรือดําเนินการอื่นๆ ที่จําเป็นเพื่อเตรียมพร้อมสำหรับการโต้ตอบ โปรดดูตัวอย่าง AdListener ของ AdMob สําหรับการติดตั้งใช้งานเมธอด AdListener ในแอปสาธิต Android API
onAdFailedToLoad() วิธีการ onAdFailedToLoad() เป็นเพียงวิธีเดียวที่มีพารามิเตอร์ พารามิเตอร์ข้อผิดพลาดประเภท LoadAdError จะอธิบายข้อผิดพลาดที่เกิดขึ้น ดูข้อมูลเพิ่มเติมได้ที่เอกสารประกอบเกี่ยวกับการแก้ไขข้อผิดพลาดในการโหลดโฆษณา
onAdImpression() ระบบจะเรียกใช้เมธอด onAdImpression() เมื่อบันทึกการแสดงผลสําหรับโฆษณา
onAdLoaded() ระบบจะเรียกใช้เมธอด onAdLoaded() เมื่อโฆษณาโหลดเสร็จ หากต้องการเลื่อนเวลาการใส่ AdView ลงในกิจกรรมหรือข้อมูลโค้ดจนกว่าจะแน่ใจว่าโฆษณาจะโหลด เช่น คุณสามารถดำเนินการได้ที่นี่
onAdOpened() ระบบจะเรียกใช้เมธอด onAdOpened() เมื่อโฆษณาเปิดโฆษณาซ้อนทับที่ครอบคลุมหน้าจอ

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

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

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

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

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

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

แหล่งข้อมูลเพิ่มเติม

ตัวอย่างใน GitHub

  • ตัวอย่างโฆษณาแบนเนอร์แบบปรับขนาดได้ที่ตรึงไว้ Java | Kotlin
  • การสาธิตฟีเจอร์ขั้นสูง: Java | Kotlin

ขั้นตอนถัดไป

แบนเนอร์แบบยุบได้

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

แบนเนอร์แบบปรับขนาดได้ที่แทรกในบรรทัด

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

สำรวจหัวข้ออื่นๆ