2016-08-14 7 views
3

Я искал в Stackoverflow, как интегрировать AdView внутри RecyclerView. Я следующие сообщения:Проблемы с загрузкой AdView внутри RecyclerView

One, two

В основном способ сделать это звонит loadAd внутри onCreateViewHolder или внутри конструктора ViewHolder.

В любом случае, это моя реализация:

JAVA

public class AdExpressViewHolder extends RecyclerView.ViewHolder { 

    public AdExpressViewHolder(View itemView) { 
     super(itemView); 

     final AdView adView = (AdView)itemView.findViewById(R.id.adView); 
     AdRequest request = new AdRequest.Builder() 
       .build(); 
     adView.loadAd(request); 
    } 
} 

XML

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    xmlns:ads="http://schemas.android.com/apk/res-auto"> 

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true"> 

     <com.google.android.gms.ads.AdView 
      android:id="@+id/adView" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerInParent="true" 
      ads:adUnitId="**********************" 
      ads:adSize="BANNER"> 
     </com.google.android.gms.ads.AdView> 

    </RelativeLayout> 
</RelativeLayout> 

Проблема заключается в том: когда я прокручивать RecyclerView, кажется, загрузить поток пользовательского интерфейса, поскольку он застревает, только в первый раз. Остальные времена в порядке.

Это видео, которое демонстрирует это:

Video

Как вы можете видеть, первый один блокирует пользовательский интерфейс, но не второй.

Что я делаю неправильно?

Заранее спасибо.


EDIT

Я пытался загрузить обычную AdView в деятельности, фиксированы. Он работает, и он, похоже, не загружается в потоке пользовательского интерфейса. Кажется, это происходит только в RecyclerView.


После 3 недель, я сделал метод профилирования, и это то, что я вылезла:

Вы можете реализовать красные пятна. Это 2 разных загрузки AdView, а остальные 38 стандартных пользовательских видов.

Чтобы быть более конкретным, эти функции, так что это касается 100%, то AdView:

enter image description here

+1

привет это ошибка исправлена, как загружаются объявления в представлении ресайклера – apk

ответ

1

кажется ошибка в Ads SDK для Android, и это никогда не было зафиксировано, по крайней мере до тех пор, v9.4.0.

Более подробная информация здесь: https://groups.google.com/forum/#!searchin/google-admob-ads-sdk/ui $ 20thread% 7Csort: уместность/Google-AdMob-объявления-SDK/k4IFZA_QGT4/3gMHaCPPBQAJ

Смежные вопросы