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

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

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

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

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

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

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

/21775744923/example/interstitial

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

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

โหลดโฆษณา

หากต้องการโหลดโฆษณาคั่นระหว่างหน้า ให้เรียกใช้ AdManagerInterstitialAd คงที่ 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

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