โฆษณาคั่นระหว่างหน้าเป็นโฆษณาแบบเต็มหน้าจอที่บดบังอินเทอร์เฟซของแอปโฮสต์ โฆษณามักแสดงในจุดเปลี่ยนหน้าปกติขณะไปยังส่วนต่างๆ ของแอป เช่น ระหว่างกิจกรรมต่างๆ หรือในช่วงหยุดชั่วคราวระหว่างเปลี่ยนด่านในเกม เมื่อแอปแสดงโฆษณาคั่นระหว่างหน้า ผู้ใช้สามารถเลือกที่จะแตะโฆษณาแล้วไปยังปลายทาง หรือปิดแล้วกลับไปที่แอปก็ได้
คู่มือนี้จะอธิบายถึงวิธีผสานรวมโฆษณาคั่นระหว่างหน้าเข้ากับแอป Android
ข้อกำหนดเบื้องต้น
- SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google เวอร์ชัน 19.7.0 ขึ้นไป
- ทำตามคู่มือเริ่มต้นใช้งาน
ทดสอบด้วยโฆษณาทดสอบเสมอ
เมื่อสร้างและทดสอบแอป ให้ตรวจสอบว่าคุณใช้โฆษณาทดสอบแทนที่จะใช้โฆษณาเวอร์ชันที่ใช้งานจริง มิเช่นนั้นจะถูกระงับบัญชี
วิธีที่ง่ายที่สุดในการโหลดโฆษณาทดสอบคือการใช้รหัสหน่วยโฆษณาทดสอบเฉพาะสำหรับโฆษณาคั่นระหว่างหน้าของ Android ดังนี้
/6499/example/interstitial
โดยได้รับการกำหนดค่ามาเป็นพิเศษให้ส่งคืนโฆษณาทดสอบสำหรับทุกคำขอ และคุณจะใช้บัญชีนี้ในแอปของคุณเองได้อย่างอิสระขณะเขียนโค้ด ทดสอบ และแก้ไขข้อบกพร่อง แต่อย่าลืมแทนที่ด้วยรหัสหน่วยโฆษณาของคุณเองก่อนที่จะเผยแพร่แอป
ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำงานของโฆษณาทดสอบของ SDK โฆษณาในอุปกรณ์เคลื่อนที่ได้ที่ทดสอบโฆษณา
โหลดโฆษณา
หากต้องการโหลดโฆษณาคั่นระหว่างหน้า ให้เรียกใช้เมธอด AdManagerInterstitialAd
คงที่ load()
และส่งใน
AdManagerInterstitialAdLoadCallback
เพื่อรับโฆษณาที่โหลดแล้วหรือข้อผิดพลาดใดๆ ที่เป็นไปได้ คุณจะสังเกตเห็นว่า 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,"/6499/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)
var adRequest = AdManagerAdRequest.Builder().build()
AdManagerInterstitialAd.load(this,"/6499/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
ขั้นตอนถัดไป
- เรียนรู้เพิ่มเติมเกี่ยวกับการกำหนดเป้าหมายของโฆษณา
- ดูข้อมูลเพิ่มเติมเกี่ยวกับความเป็นส่วนตัวของผู้ใช้
- ดูการเริ่มต้น SDK ที่เพิ่มประสิทธิภาพและการโหลดโฆษณา (เบต้า)