【发布时间】:2020-02-05 19:30:11
【问题描述】:
我想向我的用户展示 AdMob 的插页式广告和奖励广告,以换取一些游戏币。但是,在弹出屏幕之前,我想检查一下是否有可用的广告?
有人知道怎么做吗?我真的很感激!
【问题讨论】:
我想向我的用户展示 AdMob 的插页式广告和奖励广告,以换取一些游戏币。但是,在弹出屏幕之前,我想检查一下是否有可用的广告?
有人知道怎么做吗?我真的很感激!
【问题讨论】:
在展示广告之前调用#onRewardedAdLoaded。您可以使用此功能检查广告是否可用。
public class MainActivity extends Activity {
private RewardedAd rewardedAd;
@Override
protected void onCreate(Bundle savedInstanceState) {
...
rewardedAd = new RewardedAd(this,
"ca-app-pub-3940256099942544/5224354917");
RewardedAdLoadCallback adLoadCallback = new RewardedAdLoadCallback() {
@Override
public void onRewardedAdLoaded() {
// Ad successfully loaded.
}
@Override
public void onRewardedAdFailedToLoad(int errorCode) {
// Ad failed to load.
}
};
rewardedAd.loadAd(new AdRequest.Builder().build(), adLoadCallback);
}
}
无论如何,您都应该在显示奖励广告之前调用#isLoaded。
if (rewardedAd.isLoaded()) {
rewardedAd.show(activityContext, adCallback);
}
【讨论】:
您可以像这样查看 AdMob 插页式广告。 1. 假设您有这样的插页式广告。
InterstitialAd ad;
ad = new InterstitialAd(this);
ad.setAdUnitId(getString(R.string.interstitial));
ad.loadAd(new AdRequest.Builder().build());
ad.setAdListener(new AdListener(){
@Override
public void onAdClosed() {
super.onAdClosed();
startActivity(new Intent(getApplicationContext(), SomeActivity.class));
finish();
}
});
现在,使用此构建功能检查插页式广告的可用性。
if(ad.isLoaded()) {
// This will only exicute when ad is avalibe to display
ad.show();
}
else {
Toast.makeText(this, "Ad not available", Toast.LENGTH_SHORT).show();
}
【讨论】: