我有一个活动,其中我点击片段中的一个按钮替换片段。 在单击片段时,它会用另一个片段替换当前片段。
我的问题是,我是否需要一次又一次地为同一活动中的每个片段调用下面的代码,或者我可以将代码置于活动中并以片段形式显示广告
mAdView = (AdView)v.findViewById(R.id.beautyfragment);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
因此,对于每个片段交易,我需要发布广告请求,或者只有我可以在持有片段的活动中发出一次请求,并以我想要的任何片段显示广告。
我已在每个片段的顶部和底部放置 admob横幅广告,以便在点击时显示。
我有一些关于它的问题 - >
我可以在活动中加载广告并将其显示在片段中,因此在片段之间进行转换时,放置在同一活动中的片段中不需要时间。如果是,请告诉我代码它
使用不同的adUnitId 对屏幕上显示的横幅广告,中的相同片段或不同片段有什么不同活动?
答案 0 :(得分:0)
您可以控制是否找到AdView。根据您的州要求,您可以放置AdView
选择权在你手中。
答案 1 :(得分:0)
确定。您希望在主活动中加载广告,并在片段加载时快速将其显示在片段中。 1-您只需在活动的onCreate方法中加载广告,然后再设置AdListener。 2-在AdListener中,当用户在onAdClosed方法中关闭广告时,您可以再次加载广告。 3-提交片段事务时需要显示广告。 (哪些广告已加载到活动&onCreate方法中) 4.用户将关闭广告,广告将在onAdClosed方法的后台再次加载,以便在用户切换到另一个片段时再次显示。
以下是放入主要活动的onCreate方法的代码。
mInterstitialAd = new InterstitialAd(this);
mInterstitialAd.setAdUnitId("your ad unit id");
mInterstitialAd.loadAd(new AdRequest.Builder()
.addTestDevice("your test device id")
.build());
mInterstitialAd.setAdListener(new AdListener(){
@Override
public void onAdLoaded() {
Log.e("TAG", "Ad loaded");
}
@Override
public void onAdClosed() {
Log.i("TAG", "Ad closed");
mInterstitialAd.loadAd(new AdRequest.Builder()
.addTestDevice("your test device id")
.build());
}
});
这是用于片段事务的代码。
FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.content, fragment);
ft.commit();
if (mInterstitialAd.isLoaded()) {
mInterstitialAd.show();
}