Проблема с межстраничными объявлениями AdMob

Я пытаюсь добавить межстраничную рекламу в свое приложение для Android, но получаю следующее сообщение об ошибке:

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" />

person harsh4u    schedule 04.09.2015    source источник
comment
пожалуйста, добавьте код манифеста.   -  person FadedCoder    schedule 04.09.2015
comment
Пожалуйста, проверьте код манифеста в вопросе.. обновлен.   -  person harsh4u    schedule 04.09.2015
comment
Я думаю, что версия рекламного баннера Admob слишком старая.   -  person FadedCoder    schedule 04.09.2015


Ответы (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" /> 

В Gradle (при использовании Android Studio) поместите это -

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.

EDIT. Я создал приложение с приложениями всего несколько дней назад, использовал этот код, и он отлично работает.

Манифест -

<?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 Services устарела. Попробуйте обновить его.

person FadedCoder    schedule 04.09.2015
comment
Спасибо за ответ, но в настоящее время я использую ваше первое решение, но я получил эту ошибку, а также попробовал второе, но все равно ошибка. Спасибо - person harsh4u; 04.09.2015
comment
Я уже использовал 7895000 решений, но все равно ошибка Ads не загружается. - person harsh4u; 04.09.2015
comment
Я использую Eclipse, а не студию. - person harsh4u; 04.09.2015
comment
@ harsh4u проверьте новый ответ, но лучше использовать Studio. - person FadedCoder; 04.09.2015
comment
Я добавил android:value=7895000 и он работает но без него как он может работать? - person harsh4u; 04.09.2015
comment
@harsh4u без android:value="7895000" не работает - person FadedCoder; 04.09.2015

Дело в некорректной версии сервисов Google Play. Прежде всего добавьте:

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

к блоку приложений. Во-вторых, убедитесь, что в конфигурации gradle вы используете определенную версию Google Play Services, например:

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.+'

Потому что вы можете включить библиотеку, которая в данный момент не поддерживается.

person Szymon Klimaszewski    schedule 04.09.2015
comment
Итак, у вас есть метаданные в блоке AndroidManifest и ‹application›? Какими сервисами Google Play вы пользуетесь? - person Szymon Klimaszewski; 04.09.2015
comment
Да, у меня есть метаданные и блок приложения. Использование службы рекламы Google. - person harsh4u; 04.09.2015