【发布时间】:2022-11-25 11:16:55
【问题描述】:
伙计们,我正在尝试添加插页式广告。
我创建类 AdsManager:
public class AdsManager {
private Context context;
private InterstitialAd mInterstitialAd;
public AdsManager (Context context) {
this.context = context;
MobileAds.initialize(context, new OnInitializationCompleteListener() {
@Override
public void onInitializationComplete(@NonNull InitializationStatus initializationStatus) {
}
});
}
public void createAds (AdView adView) {
AdRequest adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);
}
public InterstitialAd loadInterstatialAd () {
AdRequest adRequest = new AdRequest.Builder().build();
mInterstitialAd.load(context, "ca-app-pub-3940256099942544/1033173712",
adRequest, new InterstitialAdLoadCallback() {
@Override
public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) {
super.onAdFailedToLoad(loadAdError);
Log.d("InterstitsionalAds", "Error: " + loadAdError);
}
@Override
public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
super.onAdLoaded(interstitialAd);
mInterstitialAd = interstitialAd;
mInterstitialAd.setFullScreenContentCallback(new FullScreenContentCallback() {
@Override
public void onAdClicked() {
super.onAdClicked();
}
@Override
public void onAdDismissedFullScreenContent() {
super.onAdDismissedFullScreenContent();
}
@Override
public void onAdFailedToShowFullScreenContent(@NonNull AdError adError) {
super.onAdFailedToShowFullScreenContent(adError);
Log.d("InterstitsionalAds", "Error: " + adError);
}
@Override
public void onAdImpression() {
super.onAdImpression();
}
@Override
public void onAdShowedFullScreenContent() {
super.onAdShowedFullScreenContent();
mInterstitialAd = null;
}
});
}
});
return mInterstitialAd;
}
}
这就是我在活动中的称呼:
adsManager = new AdsManager(this);
mInterstitialAd = adsManager.loadInterstatialAd();
if (mInterstitialAd != null) {
mInterstitialAd.show(ColoringActivity.this);
}
但在那之后什么也没有发生。不显示广告。调试器说 mInterstitialAd 为空。
我试图在没有 AdsManager 类的情况下在活动本身中调用它,但它仍然不起作用。
我还使用谷歌推荐的测试广告 ID here (ca-app-pub-3940256099942544/1033173712)
我的清单:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.VIBRATE" />
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-8673003336752212~XXXXXXXXXX"/>
我还在我的 Build.Gradle(模块)中添加了依赖项:
implementation 'com.google.android.gms:play-services-ads:21.3.0'
我还想补充一点,我的横幅广告效果很好。我不明白问题出在哪里。
【问题讨论】:
标签: java admob ads interstitial