Google AdMob AdView всегда пусто - PullRequest
0 голосов
/ 15 мая 2019

Я пытаюсь заставить объявления 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, и это последняя проблема, держащаяя вернулся.

1 Ответ

0 голосов
/ 15 мая 2019

Убедитесь, что Admob ApplicationId также объявлен в AndroidManifest.xml

<application
      ...>
     <!-- meta data -->
     <meta-data
         android:name="com.google.android.gms.ads.APPLICATION_ID"
         android:value="@string/cAppId" /> 
</application>

также убедитесь, что вы добавили эти зависимости в build.gradle

//ads
    implementation 'com.google.firebase:firebase-ads:17.2.0' // or 17.0.0
    implementation 'com.google.android.gms:play-services-ads:17.2.0'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...