먼저 광고를로드하고 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);
}
}
...
}