Verschiedene adsize für Admob-Banner

  • 10 Antworten
  • Letztes Antwortdatum
D

Duckemai

Fortgeschrittenes Mitglied
6
Hi!

Kennt jemand eine Möglichkeit, wie ich für nur eine Activity unterschiedliche Admobbanner adsize verwenden kann?

Habe derzeit das hier:
adView = new AdView(this, AdSize.IAB_MRECT, "1234567");
und hätte auch noch gerne den hier:
adView = new AdView(this, AdSize.BANNER, "1234567");

falls mal IAB_MRECT nicht verfügbar sein sollte.

Geht das? :confused:

Merci
 
hast du nicht die möglichkeit vorher abzufragen ob es verfügbar ist oder nicht?
 
Nicht das ich wüsste. Über den AdListener kann man zwar erkennen, wenn er z.B. ein Ad läd. Ich wüsste aber nicht wie ich herausfinden kann, welches er gerade läd. Das würde mir wohl auch nicht helfen, da ich vorab festlegen muss, welches Banner (IAB_MRECT oder BANNER, usw.) er anfordern soll. :mad:
 
ja aber du kannst es dann vom laden abhängig machen, wenn es nicht geladen werden kann nimmst du den anderen ...
 
Verstehe ich nicht ganz. Ich muss doch so was hier im Quelltext angeben:

adView = new AdView(this, AdSize.IAB_MRECT, "1234567");

Da lege ich doch schon zwangsläufig fest, was geladen wird.

Oder hast du vielleicht ein code snippet für mich, wie ich die Festlegung von AdSize.IAB_MRECT umgehen kann um beides -Banner und MRect- empfangen zu können?
 
Zuletzt bearbeitet:
du kannst das ganze doch dann einfach 2 mal machen

einmal mit iab_mrect -einmal mit dem anderen (wenns fehlschlägt)
 
Aber wie kann ich das abfragen?
Habe nun 2 adView-Objekte: adViewRect und adViewBanner
und
public void onReceiveAd(Ad ad) [und die gibt es ja nur einmal]

Aber wenn ich hier frage:
if (adViewRect != null)...

dann geht das nicht, weil adViewRect -nach einigen Tests- NIE null ist.
Wie stelle ich denn fest, ob nun ein Rect oder ein Banner angekommen ist?
 
du hast doch einen adlistener, der hat sicher sowas wie loadingFailed() ?
 
Ja klar. Womit ich aber immer noch nicht weiß, ob nun das Rect nicht geladen werden konnte oder der Banner.
 
tut mir leid ich checks nicht

public interface AdListener {
public void onReceiveAd(Ad ad);
public void onFailedToReceiveAd(Ad ad, AdRequest.ErrorCode error);
public void onPresentScreen(Ad ad);
public void onDismissScreen(Ad ad);
public void onLeaveApplication(Ad ad);
}

du hast onReceiveAd -> ad kommt und kann angezeigt werden
onFailedToReceiveAd -> ad konnte nicht geladen werden - eigentlich egal warum - probiers mit dem 2. banner einfach nochmal

kann aber auch sein, dass ich dein problem einfach nicht kapier
 
Das Problem ist, dass ich ja nun 2 Objekte habe. Eins für Banner und eins für Rect. Wenn er also aus der zB Error-Methode sagt, dass er keine Ad laden konnte, dann müsste ich ja für das andere Objekt die View auf Visible setzen und für dieses nicht gefundene auf Gone. Aber dafür muss ich unterscheiden können, für welches Objekt er denn nun nichts gefunden hat. Denn beide Objekte laufen ja durch die selben AdListener-Methoden. Ich weiß halt nicht, welche Methode des Objekts ich aufrufen muss um herauszufinden - aha, es ist das zB Rect-Objekt, für das er gerade nichts gefunden hat. Wie kann ich also abfragen, in welches OBJEKT ein Ad geladen / nicht geladen wurde. Sonst würde er mir ja 2 Views anzeigen, wenn er für beide ein Ad gefunden hat. Er soll aber zunächst nur das Rect anzeigen. Und wenn das nicht gefunden wurde dann den Banner. Oder habe ich einen Denkfehler?
 
Zurück
Oben Unten