Как внедрить баннер admob на нескольких мероприятиях - PullRequest
0 голосов
/ 24 апреля 2019

У меня есть приложение с двумя действиями, я использовал Kotlin.Мне удалось внедрить баннер admob без проблем по основному виду деятельности, теперь я хочу еще один баннер по второму виду деятельности, как мне это сделать.Я искал везде, но решения, которые я получаю, заключаются в том, чтобы внедрить один и тот же баннер в двух действиях, но я хочу, чтобы каждое действие имело свой собственный баннер.Обратите внимание, что я использую kotlin, а не Java, и у меня нет опыта работы с Java.

Мой код_действия.xml выглядит следующим образом

 <com.google.android.gms.ads.AdView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/adView"
            android:background="@mipmap/ic_launcher_background"
            ads:adSize="BANNER"
            ads:adUnitId="ca-app-pub-3940256099942544/6300978111"/>

Мой файл MainActivity.kt выглядит следующим образом

  super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    MobileAds.initialize(this, "ca-app-pub-3940256099942544~3347511713")
    adView.loadAd(AdRequest.Builder().build())

Когда я делаю то же самое для второго действия и запускаю приложение, первое действие запускается и показывает объявление, а теперь, когда я перехожу к следующему действию, оно вылетает.как именно это делается?

1 Ответ

0 голосов
/ 25 апреля 2019

Причина, по которой вы получаете следующую ошибку:

Java.lang.RuntimeException: Unable to start activity ComponentInfo{com.poc.com.eas/com.poc.com.eas.Main2Activity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.google.android.gms.ads.AdView.loadAd(com.google.android.gms.ads.AdRequest)' on a null object reference.

Это потому, что вы пытаетесь вызвать метод loadAd() в том же представлении, которое вы имели в прошлой активности, которая больше не активна. Итак, вам нужно определить AdView для ваших баннеров на каждой из активностей, а затем, когда вы запускаете Main2Activity, вам нужно позвонить adView2.loadAd(AdRequest.Builder().build())

...