2013-12-09 59 views
1

我已添加此代碼以查看應用程序無法接收廣告時的錯誤。AdMob廣告和ErrorCode無法解析爲類型

// Create an ad request. Check logcat output for the hashed device ID to 
    // get test ads on a physical device. 
    AdRequest adRequest = new AdRequest.Builder() 
     .addTestDevice(AdRequest.DEVICE_ID_EMULATOR) 
     .addTestDevice("INSERT_YOUR_HASHED_DEVICE_ID_HERE") 
     .build(); 

    // Start loading the ad in the background. 
    adView.loadAd(adRequest); 
// Set AdListener 
    adView.setAdListener(new AdListener() { 
     @Override 
     public void onFailedToReceiveAd(Ad ad, ErrorCode error) { 
      System.err.println("Ad failed: " + ad.toString() + error.toString());  
     } 

     @Override 
     public void onReceiveAd(Ad ad) { 
      System.out.println("Ad received: " + ad.toString()); 
     } 
    }); 
    } 

遺憾的是沒有工作,因爲找不到AdErrorCode可能是因爲在最新的磁帶庫已經改變了一些東西。

我該如何解決這個問題?

+0

你有沒有在你的Manifest中輸入這行''? –

+0

是的,但錯誤持續 – AndreaF

+0

你可以試試我的答案。 – Harshid

回答

1

我認爲你的意思是說你正在編譯失敗。 在StackOverflow上發佈實際的錯誤消息總是一個好主意。

檢查您的導入。如果您使用的是谷歌Play服務庫是AdMob那麼該方案已更改爲com.google.android.gms.ads

爲com.google.android.gms.ads.AdListener的接口是

public abstract class AdListener { 
    public void onAdLoaded(); 
    public void onAdFailedToLoad(int errorCode); 
    public void onAdOpened(); 
    public void onAdClosed(); 
    public void onAdLeftApplication(); 
} 

NB這改變因爲Admob-6.4.1 您似乎在使用Admob-6.4.1中的AdListener

+0

我使用最新的google-play-services.jar,導入是import com.google.android.gms.ads.AdListener; import com.google.android.gms.ads.AdRequest; import com.google.android.gms.ads.AdSize; import com.google.android.gms.ads.AdView;'但不幸的是對象'Ad'似乎丟失 – AndreaF

+0

您似乎在使用Admob-6.4.1中的AdListener。您需要使用不引用Ad或ErrorCode的新AdListener。看到我更新的答案。 – William

+0

你能給我更多的細節嗎?如何使用'onAdFailedToLoad()'和沒有'Ad'對象的新API來打印錯誤? – AndreaF

0

我建議您按照步驟Google Developer Site的步驟操作。我遵循相同的步驟,併成功查看添加模擬器和真實設備。你也應該從this Link

+0

Zubair Ahmad Khan hmm.mm – Nepster

3

添加以下代碼行中的Manifest.xml

<activity android:name="com.google.ads.AdActivity" 
       android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" > 
</activity> 


您也可以下載示例代碼按谷歌的AdMob新的API服務

步驟

  1. 下載最新的Google Play服務資料庫
  2. BannerCodeActivity.java

    public class BannerCodeActivity extends Activity { 
        private AdView mAdView; 
    
        @Override 
        protected void onCreate(Bundle savedInstanceState) { 
         super.onCreate(savedInstanceState); 
         setContentView(R.layout.activity_banner_code_ad_listener); 
    
         mAdView = new AdView(this); 
         mAdView.setAdUnitId(getResources().getString(R.string.ad_unit_id)); 
         mAdView.setAdSize(AdSize.BANNER); 
         mAdView.setAdListener(new ToastAdListener(this)); 
         RelativeLayout layout = (RelativeLayout) findViewById(R.id.mainLayout); 
         RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
         RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT); 
         layout.addView(mAdView, params); 
         mAdView.loadAd(new AdRequest.Builder().build()); 
        } 
    
        @Override 
        protected void onPause() { 
         mAdView.pause(); 
         super.onPause(); 
        } 
    
        @Override 
        protected void onResume() { 
         super.onResume(); 
         mAdView.resume(); 
        } 
    
        @Override 
        protected void onDestroy() { 
         mAdView.destroy(); 
         super.onDestroy(); 
        } 
    } 
    
  3. 清單許可

    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    
    <meta-data 
          android:name="com.google.android.gms.version" 
          android:value="@integer/google_play_services_version" /> 
    <activity 
          android:name="com.google.android.gms.ads.AdActivity" 
         android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/> 
    

你必須遵循從here這一切事情的詳細信息。

如果有麻煩,那就讓我知道。

0

我有同樣的錯誤,這個錯誤是因爲谷歌播放服務庫未完全添加到項目中,右鍵單擊該錯誤並選擇修復項目或轉到項目 - >屬性 - >點擊Java構建路徑,然後去項目,然後點擊添加按鈕s