![](/img/trans.png)
[英]Admob shows Test ads in android studio but no ads at all in google play
[英]Android studio - Google ads crash application
我正在嘗試在我的應用程序中實施谷歌廣告服務,但沒有運氣..
我試圖更改應用程序的 sdk 版本以及谷歌廣告實施版本,每次應用程序在啟動時崩潰,我都不知道我做錯了什么,感謝任何幫助!
這些是我遵循的步驟:
implementation 'com.google.android.gms:play-services-ads:18.3.0'
<com.google.android.gms.ads.AdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
ads:adSize="BANNER"
ads:adUnitId="@string/bannerId"
android:layout_centerHorizontal="true"
android:layout_alignParentTop="true" />
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(原為 27),使用“遷移到 AndroidX 按鈕”來執行此操作。
這就是我的應用程序 gradle 的樣子:
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.ofekTe.MyWorkouts"
minSdkVersion 21
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
repositories {
maven { url 'https://jitpack.io' }
mavenCentral()
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'androidx.appcompat:appcompat:1.2.0-alpha01'
implementation 'com.google.android.material:material:1.2.0-alpha03'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.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.android.gms:play-services-ads:18.3.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.3.0-alpha03'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0-alpha03'
}
這就是我得到的 logcat(至少重要的部分,如果有任何遺漏,請務必告訴我,我會上傳整個日志):
再次,任何幫助表示贊賞。 謝謝!
我認為您缺少 AndroidManifest.xml 文件中所需的代碼
谷歌廣告的依賴:
implementation 'com.google.android.gms:play-services-ads:18.3.0'
在您的 AndroidManifest.xml 文件中添加以下“元數據”代碼 創建您的 appID 並使用它,否則您可以使用示例 AdMob 應用 ID 代替“ca-app-pub-xxxxxxxxxxxxxxxxxx~yyyyyyyyyy”
<manifest> <application> <!-- Sample AdMob App ID: ca-app-pub-3940256099942544~3347511713 --> <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/> </application>
有了這個應用程序不應該在啟動時崩潰
以下代碼將從谷歌加載測試廣告。 將它們與您的代碼進行比較以進行相應的更改
activity_main.xml 文件
<com.google.android.gms.ads.AdView android:id="@+id/adView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" app:adSize="BANNER" app:adUnitId="ca-app-pub-3940256099942544/6300978111" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent"></com.google.android.gms.ads.AdView>
MainActivity.java 文件
public class MainActivity extends AppCompatActivity { private AdView mAdView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mAdView = findViewById(R.id.adView); AdRequest adRequest = new AdRequest.Builder().build(); mAdView.loadAd(adRequest); }}
我用上面的代碼創建了一個新的應用程序,它顯示了帶有測試廣告的橫幅,如下所示
我的應用程序遇到了同樣的問題,我不得不在我的應用程序清單文件中添加一些元數據
<application>
<meta-data
android:name="com.google.android.gms.ads.AD_MANAGER_APP"
android:value="true"/>
<meta-data
android:name="com.google.android.gms.ads.com.example.appname"
android:value="enter your AdMob App ID e.g. ca-app-pub-3940256099942544~3347511713"/>
</application>
從 Google 移動廣告 SDK 17.0.0 版開始,此步驟是必需的。 未能添加此標記會導致崩潰並顯示以下消息:Google 移動廣告 SDK 未正確初始化。 有關更多信息,請訪問https://developers.google.com/admob/android/quick-start#update_your_androidmanifestxml
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.