Android Tutorial AdMob Tutorial – Werbung in Ihre Anendung einbinden.

klaus

Expert
Licensed User
Mit der neuen AdMob Library können Sie Geld verdienen in dem Sie Werbung in Ihrer Anwendung anzeigen.

Das Englische OriginalTutorial.

AdMob Libraries Installieren:

1. Gehen Sie nach AdMob - Register und registrieren Sie sich in AdMob.

2. Eine Anwendung anfügen:

admob_3.png


Der URL kann auch ein Platzhalter für eine zukünftige Anwendung sein.

3. Nach dem Erstellen der Anwendung sollten Sie einen Bildschirm sehen mit Ihrem "Publisher-ID" und einem Link zu "get publisher code".
Später müssen Sie diesen "Publisher-ID" in den Programmcode einfügen. Jetzt sollten Sie den AdMob SDK herunterladen, indem Sie auf "get publisher code" klicken.
Sie müssen eine zip Datei herunterladen mit einem Namen ähnlich wie: GoogleAdMobAdsSdk-4.0.4.zip.
In der zip Datei befindet sich ein Ordner mit dem gleichenNamen. In diesem Ordner befindet sich die erforderliche jar Datei (GoogleAdMobAdsSdk-x.x.x.jar).
Beachten Sie daß Probleme auftreten können die ganze zip Datei zu extrahieren weil sie einen Ordner und eine Datei mit gleichen Namen enthält. Die Lösung ist die nötige Datei zur Seite ziehen (drag). Den Namen der jar Datei auf GoogleAdMobAdsSdk.jar ändern (ohne dem Versionsuffix)

4. AdMob B4A library herunterladen.
Sie müssen alle Dateien in den Additional Libraries Ordner kopieren.

5. Die GoogleAdMobAdsSdk.jar Datei in den Additional Libraries Ordner kopieren.

AdMob in Ihre Anwendung einfügen

1. Sie müssen die beiden Libraries AdMob und admob android-sdk im IDE anhaken.

2. Typische sieht der Code wie folgend aus:
B4X:
Sub Process_Globals
 
End Sub
Sub Globals
    Dim AdView1 As AdView
End Sub
Sub Activity_Create(FirstTime As Boolean)
    Activity.LoadLayout("1")
    AdView1.Initialize("Ad", "YourPublisherId") 'publisher id that you received from AdMob.
    Activity.AddView(AdView1, 0dip, 0dip, 320dip, 50dip) [B]'previously the height was 48dip. Now it is 50dip.[/B]
    AdView1.LoadAd 'loads an ad
End Sub
'debugging only:
Sub Ad_FailedToReceiveAd (ErrorCode As String)
    Log("failed: " & ErrorCode)
End Sub
Sub Ad_ReceiveAd
    Log("received")
End Sub
- Sie müssen für den PublisherId den Wert eingeben den Sie auf der AdMob Website unter "Publisher-ID" bekommen haben.
- AdView1 size muß 320dip x 50dip sein, sonst wird es nicht angezeigt.

Der obige Code zeigt eine Werbung am oberen Rand des Bildschirms an.

admob_1.png


Sie können die Visible-Eigenschaft ändern um die Werbung anzuzeigen oder zu verbergen.

Damit AdMob arbeiten kann müssen einige spezielle Felder in die AndroidManifest.xml Datei hinzugefügt werden. Diese Datei beschreibt Ihre Anwendung. Normalerweise wird sie bei jeder Kompilierung neu erstellt. In unserem Fall müssen wir die vorhandene Datei ändern um zu verhindern, daß die IDE eine neue erstellt.

Gehen Sie in den Ordner <Programm-Ordner> \ Objects.
AndroidManifest.xml mit einem Texteditor öffnen.
Sie müssen eine <activity> Deklaration hinzufügen und sicher stellen dass die zwei folgenden Erlaubnisse (permissions) enthalten sind:
android.permission.INTERNET
android.permission.ACCESS_NETWORK_STATE

Die Datei soll so aussehen:
B4X:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="[URL]http://schemas.android.com/apk/res/android[/URL]"
      package="anywheresoftware.b4a.samples.smiley"
      android:versionCode="1"
      android:versionName=""
      android:installLocation="preferExternal">
      <uses-sdk android:minSdkVersion="4" />
      <supports-screens
          android:largeScreens="true"
          android:normalScreens="true"
          android:smallScreens="true"
          android:anyDensity="true"/>
    <application android:icon="@drawable/icon" android:label="Smiley">
 
        <activity android:windowSoftInputMode="stateHidden" android:launchMode="singleTop" android:name=".main"
                  android:label="Smiley" android:screenOrientation="unspecified">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
 
        <!-- *** For AdMob: manually added *** -->
        <activity android:name="com.google.ads.AdActivity"
              android:configChanges="keyboard|keyboardHidden|orientation"/>
 
    </application>
    <!-- permissions required by AdMob (will probably already appear) -->
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
</manifest>
Speichern Sie die Datei. Rechts auf sie klicken, Eigenschaften wählen und auf 'read-only' nur lesbare Datei setzten. Ansonsten würde sie gelöscht und neu erstellt werden wenn das Programm kompiliert wird.

Beachten Sie, daß wenn Sie eine neue Activity im Programm hinzufügen die auf neue Libraries Zugriff braucht, daß Sie auch diese Libraries in die AndroidManifest.xml Datei hinzufügen falls sie noch nicht drin sind. Ändern Sie den Package-Namen oder die Versionwerte die gebraucht werden um die Datei zu löschen und editieren sie dann die AndroidManifest.xml Datei neu (oder machen Sie Änderungen selbst).

Wenn Sie das Programm kompilieren wird folgende Nachricht angezeigt:

admob_4.png



Einige Tipps:
- AdMob schreibt Debugging-Meldungen auf LogCat. Allerdings werden Sie diese nicht sehen, wenn LogCat gefiltert wird. Deaktivieren Sie das Kontrollkästchen "Filter" und schauen Sie sich die Nachrichten an.
- Im Emulator erscheint eine "Testwerbung" anstatt einer richtigen Werbung.
- Sehr oft kommt es vor, speziell wenn man anfängt, dass AdMob keine Werbung urück gibt. In diesem Fall sollte LogCat etwas ähnliches anzeigen wie:

B4X:
failed. No ad to show.
Sie können auf diese Zeile klicken, dann rechts klicken und 'Copy to clipboard' wählen. Kopieren Sie es und selektieren Sie nur den ID-Teil.

- Sehr oft, speziell am Anfang, sendet AdMob gar keine Werbungen zurück. LogCat sieht dann ungefähr so aus:
B4X:
failed. No ad to show
Nach einiger Zeit beginnt es zu funktionieren. Falls es nicht funktionieren sollte, stellen Sie sicher daß der Package-Name der gleiche ist wie der der in der AdMob Website unter "package url" definiert wurde.
 
Last edited:
Top