Admob-Werbung anzeigen ohne XML

M

manu

Erfahrenes Mitglied
29
Hallo,
ich habe eine Anwendung, die kein XML-Layout verwendet. Alles wird direkt mit onDraw selber erstellt.
Aber ich habe keine Ahnung, wie ich da jetzt die AdMob-Werbung einbinden kann. Hat da jemand eine Lösung für mich?


Gruß Manu
 
Genau so wie ein anderes Widget.

Klasse ist: com.admob.android.ads.AdView

Es hat die übliche Konstruktoren:

public AdView(Context context)
public AdView(Context context, AttributeSet attrs)
public AdView(Context context, AttributeSet attrs, int defStyle)

Wo genau liegt das Problem?
 
In meinem Code übernimmt einen eigene Klasse das Aussehen.
Code:
setContentView(new Panel(....))
Mittels Canvas und SurfaceHolder wird das Display mit Inhalt gefüllt. Es handelt sich um ein Spiel, daher waren XML-Layouts unmöglich.

Ich habe nun testweise folgendes eingebaut:
Code:
AdView ad = new AdView(this);
ad.layout(...);
Leider bekomme ich die Werbung nicht angezeigt.
Muss ich in mein Canvas irgendwie eine View einbauen.

Ich stehe gerade auf dem Schlauch.
 
manu schrieb:
In meinem Code übernimmt einen eigene Klasse das Aussehen.
Code:
setContentView(new Panel(....))
Mittels Canvas und SurfaceHolder wird das Display mit Inhalt gefüllt. Es handelt sich um ein Spiel, daher waren XML-Layouts unmöglich.
Wieso denn? Ich habe auch eine Spiel, und da geht es
( mit dem nächsten stehe ich aber auch auf dem Schaluch ;) )

Lines Game | SlideME
manu schrieb:
Ich habe nun testweise folgendes eingebaut:
Code:
AdView ad = new AdView(this);
ad.layout(...);
Leider bekomme ich die Werbung nicht angezeigt.
Muss ich in mein Canvas irgendwie eine View einbauen.

Ich stehe gerade auf dem Schlauch.

Schau mal in dem Logcat - es kann gut sein, das keine Ad zugewiesen wurde,
aber die Kommunikation mit dem Logcat musst du sehen

Vielleicht ist was mit den Layout-Attributen nicht in Ordnung ( wieight / width / height )
 
Im LogCat steht dazu nichts.

Ich vermute fast, dass es daran liegt, dass ich gar kein Layout oder View habe. Ich male das Bild ja komplett selber und gebe es aus.

Wie bekomme ich über dieses Bild eine View? Denn in diese View könnte ich die Werbung packen.
 
Was hinder dich daran, doch ein XML-Layout zu machen?

Dann nimmst du halt einen linearen Layout:
Code:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
        >
   <!-- 
    hier komm deine tollde KOmponente die du selber zeichnest,
    oder noch was kompliziertes
     -->
    <!-- admob ad panel -->
    <com.admob.android.ads.AdView
            android:id="@+id/ad"
            android:visibility="visible"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            />
</LinearLayout>

Dann machst du halt setContentView mit dem Resource, und deine tolle selbstzeichnende
Komponente ( abgeleitete SurfaceView? ) kannst du über ID referenzieren.

PS: dies ist copy-paste aus funktionierenden AdMob einbettung
 
Der Tipp ist schonmal gut. Ich soll eine eigene View-Klasse schreiben, die ich dann einfach im XML einbinden. In den Android-Docs nennt sich das Custom-Elements.

Hast du mir noch einen kleinen Tipp für die Klasse, wie die aussehen muss. Habe nichts Vernünftiges finden könne.
 
Hat dein Spiel einen Update-Thread ( Ablauf ist zeitgesteuert ) oder reagiert es nur auf
Benutzereingaben?
Falls ja, heißt deine Basis-Klasse SurfaceView (oder ein anderes SurfaceHolder ) - da du nicht auf deine Widgets aus dem eigene Thread zugreifen kannst.

Einfach von dieser Klasse ableiten, und ein Game-Thread implementieren. EIn Gutes Beispiel wäre das LunarLander-Spiel ( gibt es in SDK als Sample )

Ich persönlich ziehe es vor, eine State-Machine, die das Spiel steuert separat zu programmieren, und es auf eine (Vanilla-)Surface zugreifen zu lassen.

Und Activity übernimmt die Interaktion mit dem Umgebung. (Menus, Ansteuern von
Laden und Speichern, usw. )
 
Danke. Mit dem Lunar-Lander-Code habe ich es nun geschafft.
 
Hey alle zusammen!

Habt ihr nach dem Update vom Admob SDK auch Probleme damit die Ads ohne XML anzuzeigen? Was vorher mit einfachem AdView() ging zeigt nun nichts mehr an.

Wäre dankbar wenn jemand einen Rat hat :)
 

Ähnliche Themen

D
  • Data2006
3 4 5
Antworten
84
Aufrufe
3.641
jogimuc
J
softwaretk
Antworten
3
Aufrufe
1.200
swa00
swa00
G
Antworten
1
Aufrufe
1.071
swa00
swa00
Zurück
Oben Unten