0

ViewPager가 포함 된 DetailPage 활동이 있습니다. ViewPage의 각 페이지가 조각입니다 (DetailPage 단편)Fragment ViewPager에서 Google DFP 광고 (NativeContentAdView)를 구현하는 방법은 무엇입니까?

DetailPage 단편에 NativeContentAdView를 추가하고 싶지만 광고가 아직로드되지 않아서 ViewPager가 스 와이프되고 (새로운 단편으로 교체 됨) 광고가 거의 표시되지 않는 경우가 있습니다. .

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

}