如何解决更新 Google Ads SDK InterstitialAd 后被弃用,如何解决?
更新后 Google Ads SDK to 19.7.0
为 InterstitialAd
提供了一条已弃用的警告消息,而我搜索了 this link 以解决问题,但没有成功。
我该如何解决?
这是我的代码
public void InterstitialAdmob() {
mInterstitialAd = new InterstitialAd(this);
mInterstitialAd.setAdUnitId(Util.ADMOBINTER);
mInterstitialAd.setAdListener(new AdListener() {
@Override
public void onAdClosed() {
requestNewInterstitial();
}
});
requestNewInterstitial();
}
protected void requestNewInterstitial() {
AdRequest adRequest = new AdRequest.Builder().addTestDevice(ADMOBDEV).build();
mInterstitialAd.loadAd(adRequest);
}
// for showing ads
if (mInterstitialAd.isLoaded()) {
mInterstitialAd.show();
}
和开发者网站或建议
解决方法
在此处查看新的 API 示例: https://developers.google.com/admob/android/interstitial-fullscreen
警告:20.0.0 版中有许多重大更改。 19.7.0 版引入了许多新 API,并弃用或重命名了许多类,为 20.0.0 版做准备。请阅读迁移指南以了解有关更改的更多详细信息。
https://developers.google.com/admob/android/migration
,这就是我在我的片段上所做的,只有 4 个步骤。
1.替换已弃用的导入:
import com.google.android.gms.ads.InterstitialAd
新的:
import com.google.android.gms.ads.interstitial.InterstitialAd
2.替换旧的初始化:
interstitialAd = InterstitialAd(requireContext())
interstitialAd.adUnitId = "ca-app-pub-00000000/11111111"
interstitialAd.loadAd(AdRequest.Builder().build())
新的:
val adRequest = AdRequest.Builder().build()
InterstitialAd.load(requireContext(),"ca-app-pub-00000000/11111111",adRequest,object : InterstitialAdLoadCallback() {
override fun onAdLoaded(myAd: InterstitialAd) {
Timber.d("Ad Loaded")
interstitialAd = myAd
}
override fun onAdFailedToLoad(adError: LoadAdError) {
Timber.d("Failed to load ad: ${adError.message}")
interstitialAd = null
}
})
3.替换旧的显示方式:
if (interstitialAd.isLoaded) {
interstitialAd.show()
} else {
Timber.d("Ad wasn't loaded yet!")
}
新的:
if (interstitialAd != null){
interstitialAd?.show(requireActivity())
}else {
Timber.d("Interstitial Ad not ready yet")
}
4.没有第4步,尽情享受吧?
,public static com.google.android.gms.ads.interstitial.InterstitialAd googleFullscreen;
public static void mLoadGoogleFullScreenAds(final Activity activity) {
FullScreenContentCallback fullScreenContentCallback = new FullScreenContentCallback() {
@Override
public void onAdDismissedFullScreenContent() {
googleFullscreen = null;
// Proceed to the next level.
}
@Override
public void onAdShowedFullScreenContent() {
super.onAdShowedFullScreenContent();
}
@Override
public void onAdFailedToShowFullScreenContent(com.google.android.gms.ads.AdError adError) {
super.onAdFailedToShowFullScreenContent(adError);
Log.d(TAG,"onAdFailedToShowFullScreenContent: " + adError.toString());
}
};
googleFullscreen.load(
activity,activity.getResources().getString(R.string.google_fullscreen),new AdRequest.Builder().build(),new InterstitialAdLoadCallback() {
@Override
public void onAdLoaded(@NonNull InterstitialAd ad) {
googleFullscreen = ad;googleFullscreen.setFullScreenContentCallback(fullScreenContentCallback);
googleFullscreen.show(activity);
}
@Override
public void onAdFailedToLoad(@NonNull LoadAdError adError) {
googleFullscreen = null;
Log.d(TAG,"onAdFailedToLoad: " + adError.toString());
// Code to be executed when an ad request fails.
}
});
}
我认为这段代码可以解决您的问题
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。