2015-09-04 189 views
0

我試圖將插頁式廣告添加到我的Android應用程序,但我得到了以下錯誤消息:AdMob插頁式廣告問題

java.lang.IllegalStateException:在你的應用的AndroidManifest.xml元數據標籤不沒有正確的價值。預計7895000,但發現7571000.您必須在元素內有以下聲明:

我試着將代碼添加到我的AndroidManifest,但它沒有提供任何解決方案。任何人有想法?

清單代碼:

<meta-data 
    android:name="com.google.android.gms.version" 
    android:value="7895000 " /> 
<activity 
    android:name="com.google.android.gms.ads.AdActivity" 
    android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" /> 
+0

請添加清單代碼。 – FadedCoder

+0

請檢查問題中的清單代碼..已更新。 – harsh4u

+0

我認爲Admob廣告罐的版本太舊了。 – FadedCoder

回答

2

這是因爲您正在使用的元標記是舊的。答案很簡單 -

在Android清單,裏面<application>,更換此 -

<meta-data android:name="com.google.android.gms.version" android:value="7571000" /> 

有了這個 -

<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> 

在搖籃(如果使用的是Android工作室),把這個 -

compile 'com.google.android.gms:play-services-ads:7.8.0' 
compile 'com.google.android.gms:play-services-base:7.8.0' 

注 -把一個+簽署如果這不起作用像這樣 - ads:7.8.+base:7.8.+,但不是很好,因爲這有一些問題。

如果問題仍然存在,請嘗試此操作。 (雖然我不建議這樣做),使用此 -

<meta-data android:name="com.google.android.gms.version" android:value="7895000" /> 

如果你喜歡這個答案,請把它標記爲selected

編輯 -我只是前幾天發與應用程序的應用程序,使用此代碼,並能正常工作 -

清單 -

<?xml version="1.0" encoding="utf-8" ?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.sampleapp.app"> 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme"> 
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> 
<!-- EXTRA CODE --> 
<activity android:name="com.google.android.gms.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" android:theme="@android:style/Theme.Translucent" /> 
</application> 
</manifest> 

搖籃 -

apply plugin: 'com.android.application' 

android { 
compileSdkVersion 22 
buildToolsVersion "22.0.1" 

defaultConfig { 
    applicationId "com.sampleapp.app" 
    minSdkVersion 10 
    targetSdkVersion 22 
    versionCode 2 
    versionName "1.1" 
} 
buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
} 
} 

dependencies { 
compile fileTree(dir: 'libs', include: ['*.jar']) 
compile 'com.android.support:appcompat-v7:22.2.1' 
compile 'com.android.support:support-v4:22.2.1' 
compile 'com.google.android.gms:play-services:7.5.0' //LOOK HERE 
} 

最新編輯 -我認爲您使用的Admob/Google Play服務庫已陳舊。嘗試更新它。

+0

感謝您的迴應,但目前我正在使用你的第一個解決方案,但我得到了這個錯誤,也嘗試了第二次,但仍然錯誤。謝謝 – harsh4u

+0

@ harsh4u。嘗試在Gradle中進行編輯。 – FadedCoder

+0

我已經使用了7895000解決方案,但仍出現「廣告無法加載」錯誤。 – harsh4u

0

這是關於不正確的Google Play服務版本。所有的 Firsto補充:

<meta-data 
     android:name="com.google.android.gms.version" 
     android:value="@integer/google_play_services_version"/> 

的應用程序塊。

compile 'com.google.android.gms:play-services-ads:7.8.0' 
compile 'com.google.android.gms:play-services-base:7.8.0' 

避免使用「+」,如::

compile 'com.google.android.gms:play-services-ads:7.+' 

因爲你可以包括不支持的庫 像其次確保在gradle這個配置你使用特定的谷歌Play服務版本此時此刻。

+0

我正在使用Eclipse。 – harsh4u

+0

好吧,那麼您的AndroidManifest和區塊中是否包含元數據?您使用哪種Google Play服務? –

+0

是的,我有元數據和應用程序塊。 Google廣告服務使用。 – harsh4u

相關問題