2017-03-31 9 views
0

gridview 어댑터가있는 사운드 보드를 만들었습니다 (사운드 버튼에 삽입 광고를 설정할 기회가 없음) 세 개의 탭이있는 탐색 모음도 있으므로 두 번째 조각에 삽입 광고를 설정하려면 다음과 같이 설정하십시오.이 경우 삽입 광고를 올바르게 표시하는 방법은 무엇입니까?

public class SecondFragment extends Fragment { 
    private InterstitialAd mInterstitialAd; 

    @Nullable 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     View rootView=inflater.inflate(R.layout.second_layout,container,false); 

     final AdRequest adRequest = new AdRequest.Builder().build(); 
     mInterstitialAd = new InterstitialAd(getActivity()); 
     mInterstitialAd.setAdUnitId("MYID"); 
     mInterstitialAd.loadAd(adRequest); 
     mInterstitialAd.setAdListener(new AdListener() { 
      @Override 
      public void onAdLoaded() { 
       super.onAdLoaded(); 
       if(mInterstitialAd.isLoaded()){ 
        mInterstitialAd.show(); 
       } 

      } 

      @Override 
      public void onAdClosed() { 
      } 
     }); 


     return rootView; 
    } 

그런데 문제는 광고가 3 초 지연되어 AdMob에서 메일을 받았는데 이전에했던 것처럼 삽입 광고를 올바르게 설정해야한다는 것입니다.

그럼 내 질문은이 경우 무엇을 할 것입니까? InterstitialAd는 어디에 설정합니까?

이 사운드 버튼을 사용하여 전체 3 개 조각 내 응용 프로그램입니다 : 당신이 그 광고를 게재 할 광고가로드 될 때 다음 광고를로드하는 요청을 제공하고 사용자 코드에서 https://gyazo.com/1ecd359b38fcfe0606bb3e74b684f16e

답변

0

.

광고를로드하는 데 시간이 오래 걸리므로 이전에 내 광고에 배경 정보가로드되어 광고가 표시되지 않습니다. 광고를 게재하고 싶을 때마다 삽입 광고가 표시 될 준비가되었는지 확인합니다 (예라고 표시되는 경우).

삽입 광고를 게재하고 싶을 때마다 createInterstitial() 번으로 전화를 걸고 그 후에는 showInterstitial()으로 전화하십시오.

public void crateInterstitial(){ 

    interstitialAd = new InterstitialAd(this.activity); 
    interstitialAd.setAdUnitId(AD_UNIT_ID_INTERSTITIAL); 
    interstitialAd.setAdListener(new AdListener() { 
     @Override 
     public void onAdLoaded() { 
      // not call show interstitial ad from here    
     } 

     @Override 
     public void onAdClosed() { 
       loadInterstitial(); 
     } 
     }); 
    loadInterstitial(); 
} 

public void loadInterstitial(){ 

    AdRequest interstitialRequest = new AdRequest.Builder().build(); 
    interstitialAd.loadAd(interstitialRequest); 
} 

public void showInterstitial(){ 
    if (interstitialAd.isLoaded()) 
      interstitialAd.show();       
    else 
     loadInterstitial();              
} 
+0

내가 말할 필요가 어디 있는지를 설명해주십시오 "createInterstitial()", "loadInterstitial()"와 "showInterstitial"나는 곳을 수행하는 그것을 얻을 해달라고 beceause. –

+0

한 번에 crateInterstitial()을 호출하면 삽입 광고를 표시 할 때마다 showInterstitial() 메서드 만 호출하면됩니다. – Aryan