我有包含ViewPager的DetailPage活动。 ViewPage上的每个页面都是一个片段(DetailPage Fragment)
我想在DetailPage片段上添加NativeContentAdView,但问题是有时广告尚未加载且ViewPager正在滑动(并被新片段替换),因此广告很少显示。
有关在Fragment ViewPager上使用DFP广告管理系统广告的任何提示吗? 或者也许链接解释这个?
由于
答案 0 :(得分:0)
首先,加载广告并将其存储在不在UI片段中的某个位置。我推荐一个保留的片段。然后,从您希望展示要求广告显示的广告(即DetailPageFragment)的片段实施回调。
示例:(我不知道这是否编译;它是更多的伪代码)
public class DetailPageFragment extends Fragment {
public interface AdRequestListener {
void onAdRequestedForDisplay();
}
...
public void onAdLoaded(NativeAd ad) {
// Display ad here
}
public void onAttach(Activity activity) {
// Set listener
}
public void onCreateView(Bundle savedInstanceState) {
listener.onAdRequestedForDisplay();
}
}
public class AdLoadingFragment extends Fragment {
private NativeAd ad;
public interface AdLoadListener {
void onAdLoaded(NativeAd ad);
}
public void onAttach(Activity activity) {
try {
this.listener = (AdLoadListener) activity;
} catch(ClassCastException cce) {
throw new RuntimeException(activity.toString() + " must implement AdLoadListener");
}
}
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRetainInstance(true);
if(savedInstanceState != null) {
requestAd();
}
}
private void requestAd() {
//Request ad
//Notify listener when ad is loaded
}
public void onAdRequested() {
if(ad != null && listener != null) {
listener.onAdLoaded(ad);
}
}
...
}