0

ViewPagerを含むDetailPageアクティビティがあります。 ViewPage上の各ページはフラグメント(DetailPageフラグメント)Fragment ViewPagerでGoogle DFP広告(NativeContentAdView)を実装するにはどうすればよいですか?

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

}

関連する問題