java Android studio谷歌广告崩溃应用程序
我试图在我的应用程序中实现谷歌广告服务,但运气不好
我曾尝试更改应用程序的sdk版本和google ads实现版本,每次应用程序在启动时崩溃,我都不知道我做错了什么,非常感谢您的帮助
以下是我遵循的STPE:
- 谷歌广告的依赖关系:
implementation 'com.google.安卓.gms:play-services-ads:18.3.0'
- 在我的活动主视图中查看AdView。xml:
<com.google.安卓.gms.ads.AdView
xmlns:ads="http://schemas.安卓.com/apk/res-auto"
安卓:id="@+id/adView"
安卓:layout_width="wrap_content"
安卓:layout_height="wrap_content"
ads:adSize="BANNER"
ads:adUnitId="@string/bannerId"
安卓:layout_centerHorizontal="true"
安卓:layout_alignParentTop="true" />
- MainActivity中的初始化代码。爪哇
MobileAds.initialize(this, new OnInitializationCompleteListener() {
@Override
public void onInitializationComplete(InitializationStatus initializationStatus) {
AdView mAdView = (AdView)findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
}
});
我还升级到了sdk 28(WAS27),使用了“迁移到AndroidX按钮”来实现
这就是我的应用程序gradle的样子:
apply plugin: 'com.安卓.application'
apply plugin: 'kotlin-安卓'
安卓 {
compileSdkVersion 28
defaultConfig {
applicationId "com.ofekTe.MyWorkouts"
minSdkVersion 21
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "安卓x.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-安卓.txt'), 'proguard-rules.pro'
}
}
}
repositories {
maven { url 'https://jitpack.io' }
mavenCentral()
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation '安卓x.appcompat:appcompat:1.2.0-alpha01'
implementation 'com.google.安卓.material:material:1.2.0-alpha03'
implementation '安卓x.legacy:legacy-support-v4:1.0.0'
implementation '安卓x.constraintlayout:constraintlayout:2.0.0-beta4'
implementation 'com.google.code.gson:gson:2.8.2'
implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0'
implementation 'com.miguelcatalan:materialsearchview:1.4.0'
implementation 'com.github.amlcurran.showcaseview:library:5.4.3'
implementation 'com.readystatesoftware.sqliteasset:sqliteassethelper:2.0.1'
implementation 'com.google.安卓.gms:play-services-ads:18.3.0'
testImplementation 'junit:junit:4.12'
安卓TestImplementation '安卓x.test:runner:1.3.0-alpha03'
安卓TestImplementation '安卓x.test.espresso:espresso-core:3.3.0-alpha03'
}
这是我得到的日志(至少重要的部分,如果缺少任何东西,请务必告诉我,我将上传整个日志):
再次感谢您的帮助。谢谢
# 1 楼答案
我认为您缺少AndroidManifest中所需的代码。xml文件
谷歌广告的依赖关系:
implementation 'com.google.android.gms:play-services-ads:18.3.0'
在AndroidManifest中添加以下“元数据”代码。xml文件 创建应用程序ID并使用它,否则在进行测试时,可以使用示例AdMob应用程序ID代替“ca-App-pub-XXXXXXXXXXXXXX~YYYYYY”
这样,应用程序在启动时不会崩溃
下面的代码将从google加载测试广告。将它们与您的代码进行比较,以便进行相应的更改
主要活动。xml文件
主要活动。java文件
我用上述代码创建了一个新的应用程序,它显示了带有测试广告的横幅,如下所示
# 2 楼答案
我的应用程序也有同样的问题,我必须向我的应用程序清单文件添加一些元数据
从Google Mobile Ads SDK 17.0.0版开始,此步骤是必需的。未能添加此标记将导致崩溃,并显示以下消息:Google Mobile Ads SDK的初始化不正确。欲了解更多信息,请访问https://developers.google.com/admob/android/quick-start#update_your_androidmanifestxml
和https://developers.google.com/ad-manager/mobile-ads-sdk/android/quick-start#update_your_androidmanifestxml