Platzieren einer nativen AdMob-Anzeige in einer listView

8

Ich möchte die neue native AdMob-Anzeigenfunktion in meiner App verwenden. Ich möchte eine native Anzeige in einem listView platzieren, wobei jedes 20. Element in der Liste eine Anzeige ist. Ist es möglich, dies mit einer Native Express Ad zu erreichen? Oder muss ich eine erweiterte Anzeige von Natve verwenden?

    
AcFreeman 01.06.2016, 21:07
quelle

4 Antworten

3

Nun @Jagjit hat den richtigen Ansatz gezeigt. Ich werde es Schritt für Schritt schreiben
1. Erstellen Sie Ihren eigenen benutzerdefinierten Adapter (indem Sie BaseAdapter erweitern), der als Listenansichtselemente angezeigt wird
2. Erstellen Sie eine andere Layout-Ressourcendatei zum Anzeigen nativer Anzeigen (das Design sollte dem im obigen Schritt erstellten benutzerdefinierten Adapter ähneln).
3. In der getView -Methode tun Sie etwas wie folgt (für die Anzeige an der 2. Position)

%Vor%

Hier ist Ihr benutzerdefinierter Adapter my_custom_list
Sie werden sehen, dass die Anzeigen geladen werden. Aber es gibt ein kleines Problem, der tatsächliche Punkt der Liste an Position 1 wird nicht angezeigt.
4. Fügen Sie der Liste vor dem Auffüllen von ListView ein zusätzliches Element hinzu. Ich habe ArrayList benutzt, damit ich es leicht machen kann. Mein Ansatz ist wie folgt

%Vor%     
Bibaswann Bandyopadhyay 06.07.2016 14:39
quelle
2

Der Ansatz besteht darin, BaseAdapter zu erweitern und Ihren eigenen benutzerdefinierten Adapter zu erstellen, anstatt den Standard-ArrayAdapter zu verwenden. Dann müssen Sie eine "Anzeigen" -Ansicht anstelle Ihrer üblichen normalen Ansicht zurückgeben, wenn Sie eine Anzeige anzeigen möchten. Das bedeutet, dass Sie getCount () überschreiben müssen, um mehr Zeilen zurückzugeben (wenn Sie beispielsweise 10 Zeilen haben, müssen Sie 11 = 10 tatsächlichen Inhalt + 1 Anzeige zurückgeben)

Dann müssen Sie entscheiden, in welcher Position Sie diese Ansicht erstellen, ich denke, Sie können es tun, indem Sie einfach die Positionsvariable überprüfen:

%Vor%

Ich hoffe, es hilft. Ich fand dies als das Beste, bis ich hoffe, einen optimierten Weg zu finden.

    
Jagjit Singh 02.06.2016 05:47
quelle
2

Ich denke, Admobadapter lib ist, was Sie suchen ... es umschließt Ihren Adapter, um automatisch Werbeblöcke zu holen und anzuzeigen alle X-Elemente in Ihrer ListView oder Recyclerview. Sie tun es einfach wie folgt:  1. Setup Wrapper von geeignetem Typ (es gibt grundsätzlich 4 Wrapper - für eine Listview, für eine Recyclerview, um Advanced-Anzeigen und 2 für Express-Anzeigen zu zeigen)  2. injizieren Sie Ihren Adapter in den Wrapper  3. inject Wrapper in die Listview / Recyclerview  4. füllen Sie Ihren Adapter mit Ihren Daten, erhöhen Sie onDataSetChanged (), dann wird der Wrapper das Zeug selbst tun.

Es unterstützt auch native Express-Anzeigen und erweiterte native Anzeigen. Nach diesem Problem werden sie bald einen Maven / Gradle-Support hinzufügen. Viel Glück!

    
kot331107 08.08.2016 12:06
quelle
0

Sie müssen eine eigene benutzerdefinierte Listenansicht und einen benutzerdefinierten Adapter erstellen.

  1. Erstellen Sie eine Bildlaufansicht und ein LinearLayout als untergeordnetes Element
  2. Erstellen Sie Ihre Vorlage als XML-Layout, das Ihren Inhalt behandelt
  3. Erstellen Sie eine Klasse, die Ihr Layout in% LinearLayout in ScrollView inflattiert. So:

    %Vor%

    In diesem Code erstelle ich ein leeres Element und füge es hinzu

  4. Sie können die ADS in LinearLayout als Kind hinzufügen.

Hakim Douib 26.04.2017 09:02
quelle

Tags und Links