【问题标题】:AdMob Interstitial Ads IssueAdMob 插页式广告问题
【发布时间】:2015-09-04 09:17:54
【问题描述】:

我正在尝试将插页式广告添加到我的 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" />

【问题讨论】:

  • 请添加清单代码。
  • 请检查问题中的清单代码。已更新。
  • 我认为 Admob 广告 jar 的版本太旧了。

标签: android ads interstitial


【解决方案1】:

发生这种情况是因为您使用的元标记是旧的。答案很简单——

在 Android Manifest 中,&lt;application&gt; 内,替换这个 -

<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

编辑 - 几天前我用应用程序制作了一个应用程序,使用了这段代码,它运行良好 -

清单 -

<?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>

Gradle -

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 服务库已经过时了。尝试更新它。

【讨论】:

  • 感谢您的回复,但目前我正在使用您的第一个解决方案,但我收到此错误,也尝试了第二个,但仍然错误。谢谢
  • 我已经使用了 7895000 个解决方案,但仍然报错“广告无法加载”。
  • 我使用的是 Eclipse 而不是工作室。
  • @harsh4u 检查新答案,不过使用Studio 会更好。
  • 我添加了 android:value="7895000" 和它的工作,但没有它怎么能工作?
【解决方案2】:

这是关于不正确的 Google Play 服务版本。 首先添加:

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

到应用程序块。 其次,确保在 gradle 配置中您使用的是特定的 Google Play 服务版本,例如:

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

因为您可能包含目前不支持的库。

【讨论】:

  • 好的,那么您的 AndroidManifest 和 块中有元数据吗?您使用的是哪些 Google Play 服务?
  • 是的,我有元数据和应用程序块。使用 Google 广告服务。
猜你喜欢
  • 2018-01-03
  • 1970-01-01
  • 1970-01-01
  • 2020-09-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多