So Geld verdienen Sie Ihre Android Apps mit AdMob

In diesem Lernprogramm erfahren Sie, wie Sie AdMob integrieren, damit Sie mit dieser fantastischen Android-App, die Sie geschrieben haben, Geld verdienen können. Wer möchte das nicht? AdMob gehört zu den größten mobilen Werbeplattformen auf dem Markt und ist im Besitz von Google.

Es gibt verschiedene Möglichkeiten, Apps in Android zu monetarisieren: kostenpflichtige Downloads, kostenpflichtige Abonnements, In-App-Käufe und Anzeigen. Sie können sie kombinieren, es wird jedoch empfohlen, ein einzelnes Modell auszuwählen. In diesem Lernprogramm erfahren Sie, wie Sie Ihre App durch Anzeigen von Anzeigen monetarisieren können. 

Zu den Arten von Anzeigen, die Sie in diesem Lernprogramm erstellen, gehören Banner-, Interstitial- und native Express-Anzeigen. Ich erkläre jedes von ihnen und zeige Ihnen, wie Sie sie in Ihrer Anwendung implementieren können. Zuvor sollten Sie jedoch zunächst prüfen, wie Sie das Mobile Ads SDK integrieren und initialisieren können. 

Erstellen Sie ein Android Studio-Projekt

Erstellen Sie in Android Studio ein neues Projekt mit dem Namen Hauptaktivität.

Schließen Sie das Mobile Ads SDK ein

Um mit der Integration von AdMob in Ihre App zu beginnen, müssen Sie zunächst das Mobile Ads SDK in Ihr App-Modul aufnehmen build.gradle Datei:

"com.google.android.gms: play-services-ads: 11.0.2" kompilieren

Wenn Sie Firebase in Ihre App integrieren möchten, sollten Sie das SDK verwenden, das Bestandteil von Firebase ist:

"com.google.firebase: firebase-ads: 11.0.2" kompilieren

In Envato Tuts + finden Sie einige unserer Firebase-Tutorials, wenn Sie Hilfe beim Einstieg in Firebase benötigen:

Stellen Sie sicher, dass Sie das Projekt synchronisieren, nachdem Sie die SDKs hinzugefügt haben, um die Bibliotheken aus dem Internet in Ihre Anwendung zu ziehen. 

MobileAds initialisieren

Sie müssen das Mobile Ads SDK initialisieren, bevor Sie Anzeigen in Ihre Android-App laden können. Machen Sie dies also so früh wie möglich. Wir schaffen eine Klasse, die das erweitert Anwendung Klasse, und dann initialisieren wir die MobileAds SDK in der onCreate () Methode dieser Klasse, da diese Methode nur einmal aufgerufen wird, wenn die App gestartet wird. 

importieren Sie com.google.android.gms.ads.MobileAds; import android.app.Application; öffentliche Klasse App erweitert Anwendung @Override public void onCreate () super.onCreate (); MobileAds.initialize (dies "ca-app-pub-3940256099942544/6300978111"); 

Das zweite Argument für die statische Methode initialisieren() des MobileAds Diese Klasse sollte Ihre AdMob-Anwendungs-ID sein, die Sie bei der Anmeldung bei AdMob erhalten haben. In diesem Fall verwenden wir zu Demonstrationszwecken die von Google bereitgestellte öffentliche Anwendungs-ID. 

Ändern Sie die Manifestdatei

Wir müssen die von uns erstellte Anwendungsklasse dem Attribut name des Anwendungsnamens in unserem hinzufügen AndroidManifest.xml Datei. 

  

Stellen Sie in dieser Datei auch sicher, dass Sie die INTERNET Erlaubnis, damit Google Mobile-Anzeigen geschaltet werden können. 

  

Im folgenden Code-Snippet haben wir die AdActivity zu unserer AndroidManifest.xmlDatei innerhalb des Anwendungs-Tags. 

Diese Aktivität wird vom SDK bereitgestellt. In Banneranzeigen ist es nützlich, die Anzeige zu starten, die angezeigt wird, wenn der Nutzer auf die Anzeige klickt. Bei einer Interstitial-Anzeige wird sie verwendet, um die Anzeige anzuzeigen, wenn der Nutzer darauf klickt.

1. Werbebanner

Werbebanner decken einen Teil des aktuell sichtbaren Bildschirms ab. Mit anderen Worten, alle Inhalte Ihrer App und der Anzeige werden zusammen auf dem Bildschirm angezeigt. Dies verbessert die Benutzererfahrung, da Ihre Nutzer Ihre App während der Schaltung der Anzeige weiter verwenden können (im Gegensatz zu einer Interstitial-Anzeige (halten Sie einfach an, wir werden dies in Kürze tun). Beachten Sie, dass eine Banneranzeige Text oder ein Bild sein kann. 

Sehen wir uns an, wie eine Bannerwerbung implementiert wird. 

Binden Sie eine Banneranzeige in Ihr Layout ein

AdView ist ein Brauch ViewGroup das wird die Werbebanner enthalten, also müssen wir unsere bearbeiten activity_banner_ad.xml Layoutdatei, um diese Ansicht einzuschließen. 

    

Wir definieren das AdView Größe mithilfe des Attributs ads: adSize und setzen es auf BANNER. Andere Alternativen stehen zur Verfügung LARGE_BANNERFULL_BANNERSMART_BANNER, usw. 

Das ads: adUnitId AdView Attribut wird auf einen von Google bereitgestellten Beispiel-Anzeigenblock gesetzt. Sie müssen dies mit einem mit Ihrem Konto verknüpften Anzeigenblock aktualisieren, wenn Sie mit Ihren Anzeigen tatsächlich Geld verdienen möchten! 

Die Anzeigenblock-ID gibt eine Anzeigenplatzierung an. Diese finden Sie in der AdMob-Administrationskonsole. Diese ID teilt AdMob mit, welche Art von Anzeige in Ihrer App angezeigt wird, sowie das Anzeigeformat (Bild, Text oder Video)..

Laden Sie die Anzeige

Damit wir die Anzeige endlich schalten können, müssen wir eine Anfrage machen und sie dann im anzeigen AdView wir haben oben in der erstellt BannerAdActivity Klasse. 

import com.google.android.gms.ads.AdRequest; importieren Sie com.google.android.gms.ads.AdView; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; public class BannerAdActivity erweitert AppCompatActivity private AdView-mAdView; @Override protected void onCreate (Bundle savedInstanceState) super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); mAdView = (AdView) findViewById (R.id.adView); AdRequest adRequest = new AdRequest.Builder () .addTestDevice (AdRequest.DEVICE_ID_EMULATOR) .build (); mAdView.loadAd (adRequest);  

Wir haben eine Anzeigenanfrage gemacht, indem wir mit dem Builder eine Instanz von AdRequest erstellt haben. Dann haben wir die Methode angewendet addTestDevice (), Übergeben einer Geräte-ID als Argument, um Testanzeigen an das Gerät zu übergeben, in unserem Fall der Emulator. Wir haben dann endlich die angerufen AdView Methode loadAd () das nimmt das auf AdRequest Instanz und lädt dann die Anzeige in einem Hintergrundthread (um den UI / Hauptthread nicht zu blockieren). 

Testen Sie die Anzeige

An diesem Punkt können wir unser Projekt ausführen und das Ergebnis sehen. 

In der Abbildung oben sehen Sie, dass unsere Test-Banneranzeige unterhalb der Ansicht angezeigt wird. Jetzt können Sie mit der Anzeige interagieren, indem Sie darauf klicken. 

Mit AdListener auf Anzeigenereignisse warten

Lassen Sie uns nun die Ereignisse oder Rückrufe untersuchen, die wir in einer Anzeige beobachten können. Dies sind die verfügbaren Veranstaltungen: 

  • onAdLoaded (): Diese Methode wird ausgelöst, wenn die Anzeige abgerufen wird. 
  • onAdOpened (): Diese Methode wird beim Öffnen der Anzeige aufgerufen. 
  • onAdClosed (): Diese Methode wird ausgelöst, wenn die Anzeige geschlossen wird.
  • onAdLeftApplication (): Diese Methode wird aufgerufen, wenn der Benutzer die Anwendung verlassen hat.
  • onAdFailedToLoad (int errorCode): Dies wird ausgelöst, wenn eine Anfrage für die Anzeige fehlschlägt. Der Code kann einer von sein ERROR_CODE_NETWORK_ERRORERROR_CODE_INVALID_REQUESTERROR_CODE_NO_FILL, oder ERROR_CODE_INTERNAL_ERROR.
//… @Override protected void onCreate (Bundle savedInstanceState) //… mAdView.setAdListener (neuer AdListener () @Override-public void onAdLoaded () super.onAdLoaded (); Toast.makeText (MainActivity.this, "onAdLoaded ( ) ", Toast.LENGTH_SHORT) .show (); @Override public void onAdOpened () super.onAdOpened (); Toast.makeText (MainActivity.this," onAdOpen () ", Toast.LENGTH_SHORT) .show ();  @Override public void onAdClosed () super.onAdClosed (); Toast.makeText (MainActivity.this, "onAdClosed ()", Toast.LENGTH_SHORT) .show (); @Override public void onAdFailedToLoad (in i) über .onAdFailedToLoad (i); Toast.makeText (MainActivity.this, "onAdFailedToLoad ()", Toast.LENGTH_SHORT) .show ();; dies "onAdLeftApplication ()", Toast.LENGTH_SHORT) .show (););  @Override public void onPause () // Diese Methode sollte in der onPause () - Methode der übergeordneten Activity aufgerufen werden. if (mAdView! = null) mAdView.pause ();  super.onPause ();  @Override public void onResume () super.onResume (); // Diese Methode sollte in der onResume () - Methode der übergeordneten Activity aufgerufen werden. if (mAdView! = null) mAdView.resume ();  @Override public void onDestroy () // Diese Methode sollte in der onDestroy () - Methode der übergeordneten Aktivität aufgerufen werden. if (mAdView! = null) mAdView.destroy ();  super.onDestroy (); 

Führen Sie nach dem Hinzufügen des Listeners das Projekt erneut aus und interagieren Sie mit der Anzeige. Beobachten Sie die aufgerufenen Ereignisse, indem Sie die von uns erstellten Toasts beobachten. 

2. Interstitial-Anzeigen

Wir haben gesehen, wie einfach es ist, eine Banneranzeige zu schalten. Sehen wir uns nun an, wie Sie Interstitial-Anzeigen erstellen. 

Interstitial-Anzeigen sind Anzeigen, die den gesamten Bildschirm Ihrer Anwendung abdecken und keinen Platz für andere Ansichten Ihrer App bieten (wie wir in Kürze sehen werden). Da dies den gesamten Bildschirm überdeckt und bei langsamen Netzwerken auch einige Zeit zum Laden benötigt, müssen Sie darauf achten, Ihre Benutzer nicht zu irritieren. Idealerweise sollten diese Interstitial-Anzeigen in natürlichen Pausen in Ihrer App angezeigt werden, z. zwischen den Levels eines Spiels und nicht, wenn sich Benutzer mitten in einer anderen Aufgabe befinden.

import com.google.android.gms.ads.AdListener; import com.google.android.gms.ads.AdRequest; importiere com.google.android.gms.ads.InterstitialAd; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.widget.Toast; Öffentliche Klasse InterstitialAdActivity erweitert AppCompatActivity private InterstitialAd mInterstitialAd; @Override protected void onCreate (Bundle savedInstanceState) super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); loadInterstitialAd ();  private void loadInterstitialAd () mInterstitialAd = new InterstitialAd (this); mInterstitialAd.setAdUnitId ("ca-app-pub-3940256099942544/1033173712"); mInterstitialAd.setAdListener (neuer AdListener () @Override public void onAdLoaded () super.onAdLoaded (); Toast.makeText (MainActivity.this, "onAdLoaded ()", Toast.LENGTH_SHORT) .now (); isLoaded ()) mInterstitialAd.show (); @Override public void onAdFailedToLoad (int i) super.onAdFailedToLoad (i); Toast.makeText (MainActivity.this, "onAdFailedToLoad"), Toast.LANTach ();); AdRequest AdRequest = new AdRequest.Builder (). Build (); mInterstitialAd.loadAd (adRequest); 

Im obigen Code haben wir eine Instanz der Klasse deklariert und initialisiert InterstitialAd in dem InterstitialAdActivity Klasse. Wir legen die Add-Unit-ID fest, indem wir das von Google bereitgestellte als einziges Argument an die Methode übergeben setAdUnitId ()

So wie wir es für die Bannerwerbung getan haben, möchten wir auf Ereignisse in der Anzeige achten. Wir stellen also einen Listener ein, der die überladenen Methoden auslöst onAdLoaded () und onAdFailedToLoad (int i). Wir machen eine Anzeigenanfrage, indem wir eine Instanz von erstellen AdRequest Klasse mit seinem Builder und rufen dann die Methode auf loadAd (), Übergeben dieser Anforderung als Argument an die Methode. Wir benutzen die Methode isLoaded () Um festzustellen, wann die Anzeige geladen wurde, rufen Sie die Methode auf Show() um es endlich anzuzeigen. 

Sie können auch eine hinzufügen AdListener genau wie wir es für die Werbebanner gemacht haben. 

Testen Sie die Anzeige

Jetzt können wir die App ausführen und das Ergebnis sehen. 

Im obigen Screenshot sehen Sie, dass unsere Test-Interstitial-Anzeige jetzt angezeigt wird. 

3. Native Ads Express

Mit Native Ads Express können Sie (der Publisher) das Erscheinungsbild von Anzeigen so anpassen, dass sie ganz natürlich in Ihre App passen. Diese Anpassung erfolgt durch die Definition von CSS-Vorlagen, in denen Sie eigene Schriftarten, Farben, Größen usw. in Ihrem AdMob-Konto definieren. Sie können die Bilder, Beschreibungen und Titel nicht ändern, diese werden jedoch von den Werbetreibenden festgelegt. 

Die benutzerdefinierten Anzeigen können in Ihrer App in a angezeigt werden NativeExpressAdView

Umfassen NativeExpressAdView in Ihrem Layout

Unten schließen wir die NativeExpressAdView, die ein ViewGroup, in unserer Layoutdatei. Wir definieren auch die android: layout_height und android: layout_width sein wrap_content. Das ads: adSize wird sein "320x300", und wir verwenden die von Google bereitgestellte NativeExpress-Anzeigenblock-ID (nur zu Demonstrationszwecken).. 

    

Laden Sie die Anzeige

Als nächstes bauen wir unsere AdRequest und beginnen Sie mit dem Laden der Anzeige, die angezeigt werden soll. Wir fügen auch Code hinzu, um auf die Aktivitäts-Lebenszyklus-Rückrufe zu reagieren. Sie können auch eine hinzufügen AdListener Wenn Sie möchten, so wie wir es für die Bannerwerbung gemacht haben. 

import com.google.android.gms.ads.AdRequest; importiere com.google.android.gms.ads.NativeExpressAdView; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; public class NativeExpressAdActivity erweitert AppCompatActivity NativeExpressAdView mNativeExpressAdView; @Override protected void onCreate (Bundle savedInstanceState) super.onCreate (savedInstanceState); setContentView (R.layout.activity_native_ad); mNativeExpressAdView = (NativeExpressAdView) findViewById (R.id.adView); AdRequest.Builder AdRequestBuilder = new AdRequest.Builder (); adRequestBuilder.addTestDevice (AdRequest.DEVICE_ID_EMULATOR); mNativeExpressAdView.loadAd (adRequestBuilder.build ());  @Override public void onResume () super.onResume (); mNativeExpressAdView.resume ();  @Override public void onPause () mNativeExpressAdView.pause (); super.onPause ();  @Override public void onDestroy () mNativeExpressAdView.destroy (); super.onDestroy (); 

Testen Sie die Anzeige

Das ist es! Jetzt können Sie die App ausführen und Ihre Native Express-Anzeige in Aktion sehen.

Erstellen Sie Ihr eigenes AdMob-Konto

Nachdem wir nun die verschiedenen Arten von Anzeigen kennen gelernt haben, können Sie diese in Ihre Anwendung integrieren. Um echte Anzeigen zu schalten und Geld zu verdienen, benötigen Sie ein AdMob-Konto mit echten Anzeigenblock-IDs, die mit echten Anzeigen von Werbetreibenden verknüpft sind. Besuchen Sie einfach die AdMob-Website, um sich anzumelden! 

Fazit

In diesem Lernprogramm haben Sie etwas über AdMob und die Integration verschiedener AdMob-Anzeigenformate wie Banner, Interstitial-Anzeigen und native Express-Anzeigen auf Android gelernt. 

Weitere Informationen zu AdMob unter Android finden Sie in der offiziellen Dokumentation. In der Zwischenzeit können Sie einige unserer anderen Kurse und Tutorials zur Entwicklung von Android-Apps ausprobieren!