admob in Emulator testen

  • Antworten:7
  • Bentwortet
Duckemai
  • Forum-Beiträge: 63

04.11.2010, 20:57:04 via Website

Hallo zusammen,

ich würde gerne einmal admob in einem App lokal auf meinem Rechner testen.

Wenn ich die Anweisung richtig verstanden habe, geht das. Ich habe auch schon Quelltext und
die Manifest entsprechend angepasst. Nur bei einem hänge ich fest. Kann mir jemand sagen, wie ich an die Device ID herankomme?

" Step 6 – Setting Test Mode
When integrating AdMob ads into your application it is recommended that you use test
mode. In test mode, ads are always returned.
Test mode is enabled on a per-device basis. To enable test mode for a device, first
request an ad, then look in LogCat for a line like the following:
To get test ads on the emulator use AdManager.setTestDevices...
Once you have copied the device ID from this LogCat line, you can enable test mode by
calling AdManager.setTestDevices as follows:
AdManager.setTestDevices( new String[] {
AdManager.TEST_EMULATOR, // Android emulator
"E83D20734F72FB3108F104ABC0FFC738", // My T-Mobile G1 Test Phone
} ); "

Wenn ich die Anwendung laufen lasse, dann gibt mir LogCat gar nichts aus. Leer. Aber auch keine Fehlermeldung.
Was ist gemeint mit: At first request an ad! Wie fordere ich die an? Folgende Codezeilen habe
ich bereits integriert:

//admob
AdView adView = (AdView)findViewById(R.id.ad);
adView.requestFreshAd();

Vielen Dank
Duckemai

Antworten
Duckemai
  • Forum-Beiträge: 63

05.11.2010, 12:55:59 via Website

Also, die CatLog wird mittlerweile befüllt. Hatte vergessen den Debugmodus auf true zu setzen...

Kennt jemand ein gutes Tutorial, wie man admob richtig einsetzt?
Benutze derzeit das von admob selbst erstellte: "AdMob Android SDK Installation Instructions"

Aber alleine damit komme ich nicht weiter.

Danke
Duckemai

— geändert am 05.11.2010, 12:56:19

Antworten
Tobias Eckert
  • Forum-Beiträge: 155

05.11.2010, 19:25:26 via Website

Beim SDK ist als Beispiel eine Einbindung der Werbung in das Lunar Lander Spiel dabei. Schau Dir doch das mal an. Das ist praktisch die Referenz wie man AdMob einbinden soll.

Duckemai

Antworten
Duckemai
  • Forum-Beiträge: 63

05.11.2010, 20:38:55 via Website

Hallo Tobias,

ich hatte schon von Lunar Landers gehört. Allerdings ist das Spiel bei mir nicht im SDK von admob enthalten???
Ich wollte das SDK nun ein weiteres mal von admob downloaden. Aber auf der Seite von admob dreht man sich immer irgendwie im Kreis. :cold:

In admob SDK sind enthalten:
javadoc
admob-sdk-android.jar
2 txt-Dateien

Kannst Du mir sagen, wo ich das Projekt zum Einbinden finden beziehungsweise woher ich es bekommen kann?

Vielen Dank
Duckemai

Antworten
Dominic Bartl
  • Forum-Beiträge: 180

06.11.2010, 02:11:59 via Website

das is ganz einfach du misst nur setTestDevices aufrufen das steht aba eigentlich eh in der dokumentation

Antworten
Duckemai
  • Forum-Beiträge: 63

07.11.2010, 22:54:09 via Website

@Dominic: setTestDevices aufrufen -> wie komme ich aber an meine DeviceID heran. Ist damit die IMEI gemeint?


Ich habe nun 5 Tage versucht, den Werbebanner ans Laufen zu bringen. Null Erfolg. Habe alles so gemacht, wie in der Doku:
"AdMob Android SDK Installation Instructions" beschrieben. Da ich meine DeviceID noch nicht herausgefunden habe, habe ich
den Punkt 6 weggelassen. Der (wohl) nur für den Emulator von Bedeutung ist. Auf dem Marktplatz ist mein App also ohne Werbebanner.
Ich habe mich genau an das Beispiel Lunar Landers gehalten. Nichts!

Muss man noch eine separate Einstellung bei admob selbst vornehmen? Dort habe ich das App hinzugefügt und auch die
Veröffentlicher-ID benutzt. Sonst aber nichts eingestellt.

Diese Schritte habe ich im App vorgenommen:

1. jar einbinden
2. AndroidManifest:
<!-- The application's publisher ID assigned by AdMob -->
<meta-data android:value="12345577899" android:name="ADMOB_PUBLISHER_ID" />
<!-- AdMobActivity definition -->
<activity android:name="com.admob.android.ads.AdMobActivity"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:configChanges="orientation|keyboard|keyboardHidden" />
<!-- Track Market installs -->
<receiver android:name="com.admob.android.ads.analytics.InstallReceiver"
android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>

<uses-permission android:name="android.permission.INTERNET" />

3. attrs.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="com.admob.android.ads.AdView">
<attr name="backgroundColor" format="color" />
<attr name="primaryTextColor" format="color" />
<attr name="secondaryTextColor" format="color" />
<attr name="keywords" format="string" />
<attr name="refreshInterval" format="integer" />
</declare-styleable>
</resources>

4. Layout:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:myapp="http://schemas.android.com/apk/res/com.myAppPackageName"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<com.admob.android.ads.AdView
android:id="@+id/ad"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
myapp:backgroundColor="#000000"
myapp:primaryTextColor="#FFFFFF"
myapp:secondaryTextColor="#CCCCCC"
/>
</LinearLayout>

5. Java-File

import com.admob.android.ads.AdManager;
import com.admob.android.ads.AdView;

setContentView(R.layout.main);
AdView adView = (AdView)findViewById(R.id.ad);
adView.requestFreshAd();


Fehlt noch irgend was ?

Vielen Dank
Duckemai

— geändert am 07.11.2010, 22:55:42

Antworten
Michael Haar
  • Forum-Beiträge: 55

08.11.2010, 01:30:10 via App

Poste mal deine logcat Ausgaben ...

Duckemai

Antworten
Duckemai
  • Forum-Beiträge: 63

08.11.2010, 16:51:04 via Website

Nun klappt es doch.
Meine Eintragungen waren also richtig.

Hatte im LogCat so etwa stehen wie:
Ignoring requestFreshAd() because we are requesting an ad right now already.

Dann sollte man etwas warten (Schlimmstenfalls ein paar Stunden). Später funktioniert es.

Danke an alle!
Duckemai

Antworten