我可以在 Ad 为 closed/onAdDismissed - AdMob 时调用 loadMethod 吗?
Can I called loadMethod while Ad is closed/onAdDismissed - AdMob?
我想将 AdMob 集成到我的应用程序中。但这是一个问题,我们需要手动重新加载广告才能显示。我想尝试当某些 close/Dismiss 广告自动加载时我再次调用它 onAdDissmissed 方法。这是否违反政策?或者是不是一个好的编程习惯?
这是我的代码 oncreate 方法
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
loadMethodAdMob();
}
加载方法
public void loadMethodAdMob() {
AdRequest adRequest = new AdRequest.Builder().build();
InterstitialAd.load(this, AD_UNIT_ID, adRequest, new InterstitialAdLoadCallback() {
@Override
public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
// will be null until an ad is loaded.
MyActivity.this.interstitialAd = interstitialAd;
mToast("Ad Loaded");
interstitialAd.setFullScreenContentCallback(new FullScreenContentCallback() {
@Override
public void onAdDismissedFullScreenContent() {
MyActivity.this.interstitialAd = null;
mToast("The ad was dismissed.");
InterstitialAdMob(); // i called it here is this ok
}
@Override
public void onAdShowedFullScreenContent() {
mToast("The ad was shown.");
}
});
}
});
}
按钮点击
public void buttonClickShowAd(){
if (interstitialAd != null) {
interstitialAd.show(this);
} else {
mToast("Ad did not load");
requestForReload();
}
}
您可以提前加载n个插播广告,以便在调用show方法时可用。上面的代码完全没问题。
参考 - https://developers.google.com/admob/android/interstitial#some_best_practices
允许足够的加载时间。
正如确保在适当的时间显示插页式广告很重要一样,确保用户不必等待广告加载也很重要。通过在您打算调用 show() 之前调用 load() 来提前加载广告,可以确保您的应用程序在显示广告时已准备好完全加载的插页式广告。
不要用广告淹没用户。
虽然增加应用中插页式广告的频率似乎是增加收入的好方法,但它也会降低用户体验并降低点击率。确保用户不会因为频繁被打扰而无法再享受您的应用。
但是,当您提前加载多个对象时,您可能还想检查禁止插页式广告实施策略。
我想将 AdMob 集成到我的应用程序中。但这是一个问题,我们需要手动重新加载广告才能显示。我想尝试当某些 close/Dismiss 广告自动加载时我再次调用它 onAdDissmissed 方法。这是否违反政策?或者是不是一个好的编程习惯?
这是我的代码 oncreate 方法
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
loadMethodAdMob();
}
加载方法
public void loadMethodAdMob() {
AdRequest adRequest = new AdRequest.Builder().build();
InterstitialAd.load(this, AD_UNIT_ID, adRequest, new InterstitialAdLoadCallback() {
@Override
public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
// will be null until an ad is loaded.
MyActivity.this.interstitialAd = interstitialAd;
mToast("Ad Loaded");
interstitialAd.setFullScreenContentCallback(new FullScreenContentCallback() {
@Override
public void onAdDismissedFullScreenContent() {
MyActivity.this.interstitialAd = null;
mToast("The ad was dismissed.");
InterstitialAdMob(); // i called it here is this ok
}
@Override
public void onAdShowedFullScreenContent() {
mToast("The ad was shown.");
}
});
}
});
}
按钮点击
public void buttonClickShowAd(){
if (interstitialAd != null) {
interstitialAd.show(this);
} else {
mToast("Ad did not load");
requestForReload();
}
}
您可以提前加载n个插播广告,以便在调用show方法时可用。上面的代码完全没问题。
参考 - https://developers.google.com/admob/android/interstitial#some_best_practices
允许足够的加载时间。
正如确保在适当的时间显示插页式广告很重要一样,确保用户不必等待广告加载也很重要。通过在您打算调用 show() 之前调用 load() 来提前加载广告,可以确保您的应用程序在显示广告时已准备好完全加载的插页式广告。
不要用广告淹没用户。
虽然增加应用中插页式广告的频率似乎是增加收入的好方法,但它也会降低用户体验并降低点击率。确保用户不会因为频繁被打扰而无法再享受您的应用。
但是,当您提前加载多个对象时,您可能还想检查禁止插页式广告实施策略。