2014-03-01 2 views
4

AdView에 광고가로드되어 표시되는지 확인하고 싶기 때문에 디스플레이에 공간이 필요하거나 인터넷 연결을 사용할 수없는 경우 예를 들어 광고를로드하지 않은 경우입니다. 광고를로드하지 않으면 다른 공간을 사용할 수 있습니다.AdView가 표시되는지 확인하는 방법은 무엇입니까?

어떻게 수행하나요?

답변

5

이 목적으로 AdListener을 구현할 수 있습니다. onAdFailedToLoadonAdLoaded으로 바꿉니다.

1
mAdView = (AdView) findViewById(R.id.adView); 
mAdView.setAdListener(new AdListener() { 
    // Called when an ad is loaded. 
    @Override 
    public void onAdLoaded() { 
     Log.e(TAG, "Google onAdLoaded"); 
    } 

    // Called when an ad failed to load. 
    @Override 
    public void onAdFailedToLoad(int error) { 
     String message = "Google onAdFailedToLoad: " + getErrorReason(error); 
     Log.e(TAG, message); 
    } 

    // Called when an Activity is created in front of the app 
    // (e.g. an interstitial is shown, or an ad is clicked and launches a new Activity). 
    @Override 
    public void onAdOpened() { 
     Log.e(TAG, "Google onAdOpened"); 
    } 

    // Called when an ad is clicked and about to return to the application. 
    @Override 
    public void onAdClosed() { 
     Log.e(TAG, "Google onAdClosed"); 
    } 

    // Called when an ad is clicked and going to start a new Activity that will leave the application 
    // (e.g. breaking out to the Browser or Maps application). 
    @Override 
    public void onAdLeftApplication() { 
     Log.d(TAG, "Google onAdLeftApplication"); 
    } 
}); 
mAdRequest = new AdRequest.Builder().build(); 
mAdView.loadAd(mAdRequest); 


private String getErrorReason(int errorCode) { 
    // Gets a string error reason from an error code. 
    String errorReason = ""; 
    switch (errorCode) { 
     case AdRequest.ERROR_CODE_INTERNAL_ERROR: 
      errorReason = "Internal error"; 
      break; 
     case AdRequest.ERROR_CODE_INVALID_REQUEST: 
      errorReason = "Invalid request"; 
      break; 
     case AdRequest.ERROR_CODE_NETWORK_ERROR: 
      errorReason = "Network Error"; 
      break; 
     case AdRequest.ERROR_CODE_NO_FILL: 
      errorReason = "No fill"; 
      break; 
    } 
    return errorReason; 
} 
관련 문제