โฆษณาคั่นระหว่างหน้า

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

คู่มือนี้อธิบายวิธีผสานรวมโฆษณาคั่นระหว่างหน้าไว้ในแอป Android

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

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

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

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

/21775744923/example/interstitial

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

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

โหลดโฆษณา

หากต้องการโหลดโฆษณาคั่นระหว่างหน้า ให้เรียกใช้เมธอด AdManagerInterstitialAd static load() แล้วส่ง AdManagerInterstitialAdLoadCallback เพื่อรับโฆษณาที่โหลดหรือข้อผิดพลาดที่อาจเกิดขึ้น โปรดทราบว่า callback การโหลดรูปแบบอื่นๆ นั้น AdManagerInterstitialAdLoadCallbackใช้ประโยชน์จาก LoadAdErrorเพื่อแสดงรายละเอียดข้อผิดพลาดที่ถูกต้องมากขึ้น

Java

import com.google.android.gms.ads.admanager.AdManagerInterstitialAd;
import com.google.android.gms.ads.admanager.AdManagerInterstitialAdLoadCallback;

public class MainActivity extends Activity {

  private AdManagerInterstitialAd mAdManagerInterstitialAd;
  private static final String TAG = "MainActivity";

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder().build();

    AdManagerInterstitialAd.load(this,"/21775744923/example/interstitial", adRequest,
        new AdManagerInterstitialAdLoadCallback() {
      @Override
      public void onAdLoaded(@NonNull AdManagerInterstitialAd interstitialAd) {
        // The mAdManagerInterstitialAd reference will be null until
        // an ad is loaded.
        mAdManagerInterstitialAd = interstitialAd;
        Log.i(TAG, "onAdLoaded");
      }

      @Override
      public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) {
        // Handle the error
        Log.d(TAG, loadAdError.toString());
        mAdManagerInterstitialAd = null;
      }
    });
  }
}

Kotlin

import com.google.android.gms.ads.admanager.AdManagerInterstitialAd;
import com.google.android.gms.ads.admanager.AdManagerInterstitialAdLoadCallback;

class MainActivity : AppCompatActivity() {

  private var mAdManagerInterstitialAd: AdManagerInterstitialAd? = null
  private final val TAG = "MainActivity"

    override fun onCreate(savedInstanceState: Bundle?) {
      super.onCreate(savedInstanceState)
      setContentView(R.layout.activity_main)

      val adRequest = AdManagerAdRequest.Builder().build()

      AdManagerInterstitialAd.load(this,"/21775744923/example/interstitial", adRequest, object : AdManagerInterstitialAdLoadCallback() {
        override fun onAdFailedToLoad(adError: LoadAdError) {
          Log.d(TAG, adError?.toString())
          mAdManagerInterstitialAd = null
        }

        override fun onAdLoaded(interstitialAd: AdManagerInterstitialAd) {
          Log.d(TAG, 'Ad was loaded.')
          mAdManagerInterstitialAd = interstitialAd
        }
      })
    }
}

ตั้งค่า FullScreenContentCallback

FullScreenContentCallback จะจัดการเหตุการณ์ที่เกี่ยวข้องกับการแสดงInterstitialAd ก่อนแสดง InterstitialAd โปรดตั้งค่าการเรียกกลับ ดังนี้

Java

mAdManagerInterstitialAd.setFullScreenContentCallback(new FullScreenContentCallback(){
  @Override
  public void onAdClicked() {
    // Called when a click is recorded for an ad.
    Log.d(TAG, "Ad was clicked.");
  }

  @Override
  public void onAdDismissedFullScreenContent() {
    // Called when ad is dismissed.
    // Set the ad reference to null so you don't show the ad a second time.
    Log.d(TAG, "Ad dismissed fullscreen content.");
    mAdManagerInterstitialAd = null;
  }

  @Override
  public void onAdFailedToShowFullScreenContent(AdError adError) {
    // Called when ad fails to show.
    Log.e(TAG, "Ad failed to show fullscreen content.");
    mAdManagerInterstitialAd = null;
  }

  @Override
  public void onAdImpression() {
    // Called when an impression is recorded for an ad.
    Log.d(TAG, "Ad recorded an impression.");
  }

  @Override
  public void onAdShowedFullScreenContent() {
    // Called when ad is shown.
    Log.d(TAG, "Ad showed fullscreen content.");
  }
});

Kotlin

mAdManagerInterstitialAd?.fullScreenContentCallback = object: FullScreenContentCallback() {
  override fun onAdClicked() {
    // Called when a click is recorded for an ad.
    Log.d(TAG, "Ad was clicked.")
  }

  override fun onAdDismissedFullScreenContent() {
    // Called when ad is dismissed.
    Log.d(TAG, "Ad dismissed fullscreen content.")
    mAdManagerInterstitialAd = null
  }

  override fun onAdFailedToShowFullScreenContent(adError: AdError?) {
    // Called when ad fails to show.
    Log.e(TAG, "Ad failed to show fullscreen content.")
    mAdManagerInterstitialAd = null
  }

  override fun onAdImpression() {
    // Called when an impression is recorded for an ad.
    Log.d(TAG, "Ad recorded an impression.")
  }

  override fun onAdShowedFullScreenContent() {
    // Called when ad is shown.
    Log.d(TAG, "Ad showed fullscreen content.")
  }
}

แสดงโฆษณา

โฆษณาคั่นระหว่างหน้าควรแสดงในช่วงหยุดชั่วคราวตามปกติของการใช้งานแอป เช่น ระหว่างด่านในเกม หรือหลังจากที่ผู้ใช้ทำภารกิจเสร็จแล้ว หากต้องการแสดงโฆษณาคั่นระหว่างหน้า ให้ใช้เมธอด show()

Java

if (mAdManagerInterstitialAd != null) {
  mAdManagerInterstitialAd.show(MyActivity.this);
} else {
  Log.d("TAG", "The interstitial ad wasn't ready yet.");
}

Kotlin

if (mAdManagerInterstitialAd != null) {
  mAdManagerInterstitialAd?.show(this)
} else {
  Log.d("TAG", "The interstitial ad wasn't ready yet.")
}

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

พิจารณาว่าโฆษณาคั่นระหว่างหน้าเป็นประเภทโฆษณาที่เหมาะสมกับแอปของคุณหรือไม่
โฆษณาคั่นระหว่างหน้ามีประสิทธิภาพดีที่สุดในแอปที่มีจุดเปลี่ยนหน้าตามปกติ การทำงานเสร็จภายในแอป เช่น การแชร์รูปภาพหรือเล่นเกมผ่านด่าน จะสร้างจุดดังกล่าว อย่าลืมพิจารณาว่าคุณจะแสดงโฆษณาคั่นระหว่างหน้าในขั้นตอนใดของเวิร์กโฟลว์ของแอป และผู้ใช้มีแนวโน้มจะตอบสนองอย่างไร
อย่าลืมหยุดการดำเนินการชั่วคราวเมื่อแสดงโฆษณาคั่นระหว่างหน้า
โฆษณาคั่นระหว่างหน้ามีหลายประเภท ได้แก่ แบบข้อความ รูปภาพ วิดีโอ และอื่นๆ สิ่งสำคัญคือเมื่อแอปแสดงโฆษณาคั่นระหว่างหน้า แอปจะต้องระงับการใช้ทรัพยากรบางอย่างเพื่อให้โฆษณาใช้ประโยชน์จากทรัพยากรเหล่านั้นได้ ตัวอย่างเช่น เมื่อคุณเรียกใช้เพื่อแสดงโฆษณาคั่นระหว่างหน้า ให้หยุดเอาต์พุตเสียงที่แอปสร้างขึ้นชั่วคราว
เผื่อเวลาในการโหลดให้เพียงพอ
การแสดงโฆษณาคั่นระหว่างหน้าในเวลาที่เหมาะสมเป็นสิ่งสําคัญ แต่ผู้ใช้ไม่ควรต้องรอให้โฆษณาโหลด การโหลดโฆษณาล่วงหน้าโดยการเรียกใช้ load() ก่อนที่คุณจะเรียกใช้ show() จะช่วยให้มั่นใจได้ว่าแอปของคุณจะมีโฆษณาคั่นระหว่างหน้าที่โหลดเสร็จสมบูรณ์แล้วเมื่อถึงเวลาแสดง
อย่าแสดงโฆษณาต่อผู้ใช้มากเกินไป
แม้ว่าการเพิ่มความถี่ของโฆษณาคั่นระหว่างหน้าในแอปอาจดูเหมือนเป็นวิธีที่ยอดเยี่ยมในการเพิ่มรายได้ แต่ก็อาจทำให้ประสบการณ์ของผู้ใช้แย่ลงและอัตราการคลิกผ่านลดลงด้วย ตรวจสอบว่าผู้ใช้ไม่ได้รับการขัดจังหวะบ่อยจนทำให้ใช้งานแอปของคุณไม่ได้

ตัวอย่างใน GitHub

  • ตัวอย่างโฆษณาคั่นระหว่างหน้า Java | Kotlin

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