Я пытаюсь заставить объявления AdMob работать в приложении для Android, но независимо от того, что я пробую, AdView всегда кажется пустым, независимо от того, является ли это пробное объявление или реальное объявление, которое я пытаюсь показать, и является ли онопоказано на виртуальном или физическом устройстве.
Я создал пустой проект и попытался скопировать Google Tutorial напрямую, но безуспешно.Я все еще использую примеры идентификаторов в учебном пособии, но результат остается тем же, когда я использую свой собственный идентификатор.
Мне добавили следующее к моему уровню проекта build.gradle:
allprojects {
repositories {
google()
jcenter()
}
}
Я получаю сообщение об ошибке на уровне моего приложения build.gradle, но я могу найти очень мало информации о том, что его вызывает или как его исправить.О единственной информации, которую я нашел, была строка, чтобы сказать Android-студии прекратить сообщать об ошибке.В моем уровне приложения build.gradle есть следующее:
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.google.android.gms:play-services-ads:17.2.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}
Ошибка возникает во второй строке "реализации" и является:
All com.android.support libraries must use the exact same version specification (mixing versions can lead to runtime crashes). Found versions 28.0.0, 26.1.0. Examples include com.android.support:animated-vector-drawable:28.0.0 and com.android.support:customtabs:26.1.0
Кроме этого, там не отображаютсябыть другими ошибками в коде.
Я добавил AdView в activity_main.xml следующим образом:
<com.google.android.gms.ads.AdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adView"
android:layout_width="1000px"
android:layout_height="500px"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
ads:adSize="BANNER"
ads:adUnitId="ca-app-pub-3940256099942544~3347511713">
</com.google.android.gms.ads.AdView>
Я также переключился на использование RelativeLayout, поскольку именно это используетсяв руководстве.
Затем я использую следующую Java для (надеюсь) запроса рекламы.
package com.jakecharman.myapplication;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;
public class MainActivity extends AppCompatActivity {
private AdView mAdView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713
MobileAds.initialize(this, "ca-app-pub-3940256099942544~3347511713");
mAdView = findViewById(R.id.adView);
AdRequest adRequest = new
mAdView.loadAd(adRequest);
}
}
Когда я запускаю приложение на виртуальном устройстве, оно запускается, как и ожидалось, ноAdView не виден.Я получаю некоторые ошибки в журналах, ни одной из которых я не могу найти много полезной информации об онлайн:
E/Ads: Google Mobile Ads SDK initialization functionality unavailable for this session. Ad requests can be made at any time.
I/Ads: This request is sent from a test device.
I/Ads: Ad failed to load : 0
W/cr_ChildProcessConn: onServiceDisconnected (crash or killed by oom): pid=15347
Я также получаю:
W/Ads: Invoke Firebase method getInstance error.
W/Ads: The Google Mobile Ads SDK will not integrate with Firebase. Admob/Firebase integration requires the latest Firebase SDK jar, but Firebase SDK is either missing or out of date
Но, насколько я понимаюэто нормально, так как я не пытаюсь использовать Firebase?
Любая помощь по этому вопросу будет принята с благодарностью, это первый раз, когда я правильно попытался написать что-нибудь для Android, и это последняя проблема, держащаяя вернулся.