0

我有DetailPage包含ViewPager的活动。 ViewPage上的每个页面都是一个片段(DetailPage片段)如何在Fragment ViewPager上实施Google DFP广告(NativeContentAdView)?

我想在DetailPage Fragment上添加NativeContentAdView,但问题是某些时候广告尚未加载并且ViewPager被刷卡(并且被新片段替换),因此广告很少显示。

关于在片段ViewPager上使用DFP广告管理系统的任何提示? 或者也许链接解释这个?

谢谢

回答

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); 
     } 
    } 
    ... 

}

相关问题