โหลดโฆษณาเปิดแอปรายการเดียว

SDK ที่มี API แบบโหลดครั้งเดียว

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

ดูข้อมูลเพิ่มเติมได้ที่ คำแนะนำเกี่ยวกับโฆษณาเปิดแอป

คู่มือนี้อธิบายวิธีผสานรวมโฆษณาเปิดแอปในแอป Android

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

ตั้งค่า GMA Next-Gen SDK

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

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

หากต้องการโหลดโฆษณาทดสอบ ให้ใช้รหัสหน่วยโฆษณาทดสอบเฉพาะสำหรับโฆษณาเปิดแอป Android ดังนี้

ca-app-pub-3940256099942544/9257395921

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

ดูรายละเอียดเกี่ยวกับโฆษณาทดสอบ GMA Next-Gen SDK ได้ที่หัวข้อ เปิดใช้โฆษณาทดสอบ

โหลดโฆษณา

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

Kotlin

// Load ads after you initialize MobileAds.
AppOpenAd.load(
  AdRequest.Builder(adUnitId).build(),
  object : AdLoadCallback<AppOpenAd> {
    override fun onAdLoaded(ad: AppOpenAd) {
      // App open ad loaded.
      appOpenAd = ad
    }

    override fun onAdFailedToLoad(adError: LoadAdError) {
      // App open ad failed to load.
      Log.e(TAG, "App open ad failed to load: ${adError.message}")
      appOpenAd = null
    }
  },
)

Java

// Load ads after you initialize MobileAds.
AppOpenAd.load(
    new AdRequest.Builder(adUnitId).build(),
    new AdLoadCallback<AppOpenAd>() {
      @Override
      public void onAdLoaded(AppOpenAd ad) {
        // App open ad loaded.
        appOpenAd = ad;
      }

      @Override
      public void onAdFailedToLoad(LoadAdError adError) {
        // App open ad failed to load.
        Log.e(TAG, "App open ad failed to load: " + adError.getMessage());
        appOpenAd = null;
      }
    });

เมื่อทดสอบ ให้ใช้รหัสหน่วยโฆษณาทดสอบ ca-app-pub-3940256099942544/9257395921

แสดงโฆษณา

หากต้องการแสดงโฆษณาเปิดแอป ให้ใช้เมธอด show

Kotlin

private fun showAd(appOpenAd: AppOpenAd, activity: Activity) {
  // Show the ad.
  appOpenAd.show(activity)
}

Java

private void showAd(AppOpenAd appOpenAd, Activity activity) {
  // Show the ad.
  appOpenAd.show(activity);
}

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

ก่อนแสดงโฆษณา ให้รอเหตุการณ์วงจรโฆษณา ดังนี้

Kotlin

private fun listenToAdEvents() {
  // Listen for ad events.
  val ad = appOpenAd
  if (ad == null) {
    Log.e(TAG, "App open ad is not ready yet.")
    return
  }

  ad.adEventCallback =
    object : AppOpenAdEventCallback {
      override fun onAdShowedFullScreenContent() {
        // App open ad did show.
      }

      override fun onAdDismissedFullScreenContent() {
        // App open ad did dismiss.
        appOpenAd = null
      }

      override fun onAdFailedToShowFullScreenContent(
        fullScreenContentError: FullScreenContentError
      ) {
        // App open ad failed to show.
        Log.e(TAG, "App open ad failed to show: ${fullScreenContentError.message}")
      }

      override fun onAdImpression() {
        // App open ad did record an impression.
      }

      override fun onAdClicked() {
        // App open ad did record a click.
      }
    }
}

Java

private void listenToAdEvents() {
  // Listen for ad events.
  if (appOpenAd == null) {
    Log.e(TAG, "App open ad is not ready yet.");
    return;
  }

  appOpenAd.setAdEventCallback(
      new AppOpenAdEventCallback() {
        @Override
        public void onAdShowedFullScreenContent() {
          // App open ad did show.
        }

        @Override
        public void onAdDismissedFullScreenContent() {
          // App open ad did dismiss.
          appOpenAd = null;
        }

        @Override
        public void onAdFailedToShowFullScreenContent(
            @NonNull FullScreenContentError fullScreenContentError) {
          // App open ad failed to show.
          Log.e(TAG, "App open ad failed to show: " + fullScreenContentError.getMessage());
        }

        @Override
        public void onAdImpression() {
          // App open ad did record an impression.
        }

        @Override
        public void onAdClicked() {
          // App open ad did record a click.
        }
      });
}

Cold Start และหน้าจอโหลด

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

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

โหลดเนื้อหาของแอปในเธรดเบื้องหลังเพื่อให้การโหลดดำเนินต่อไปขณะที่โฆษณาแสดงอยู่

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

ทำตามแนวทางปฏิบัติแนะนำต่อไปนี้สำหรับโฆษณาเปิดแอป

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