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

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

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

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

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

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

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

/21775744923/example/interstitial

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

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำงานของโฆษณาทดสอบของ SDK โฆษณาบนอุปกรณ์เคลื่อนที่ โปรดดู Test Ads

โหลดโฆษณา

หากต้องการโหลดโฆษณาคั่นระหว่างหน้า ให้เรียกใช้ 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() จะดูแลให้แอปแสดงโฆษณาคั่นระหว่างหน้าที่โหลดอย่างสมบูรณ์ได้ ให้พร้อมเมื่อถึงเวลาแสดง 1 รายการ
อย่าแสดงโฆษณาต่อผู้ใช้จำนวนมาก
แม้ว่าการเพิ่มความถี่ของโฆษณาคั่นระหว่างหน้าในแอปอาจดูเหมือน เป็นวิธีที่ยอดเยี่ยมในการเพิ่มรายได้ ยังทำให้ประสบการณ์ของผู้ใช้แย่ลง และอัตราการคลิกผ่านที่ต่ำลง ตรวจสอบว่าผู้ใช้ไม่ได้เข้าร่วมบ่อย ว่าจะไม่สามารถใช้ประโยชน์จากแอปของคุณได้อีก

ตัวอย่างใน GitHub

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

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