În acest tutorial, veți afla cum să integrați AdMob, astfel încât să puteți câștiga bani din acea minunată aplicație Android pe care ați scris-o, care nu dorește asta? AdMob se numără printre cele mai mari platforme de publicitate mobilă de pe piață și este deținută de Google.
Există câteva moduri diferite de a genera bani prin intermediul aplicațiilor Android: descărcări plătite, abonamente plătite, achiziții în aplicații și afișări de anunțuri. Puteți să le combinați, dar este recomandat să alegeți un singur model. În acest tutorial, veți afla despre modul de generare a venitului prin afișarea anunțurilor.
Tipurile de anunțuri pe care le veți crea în acest tutorial sunt anunțuri banner, interstițiale și native express. Le voi explica fiecare dintre ele și vă va arăta cum să le implementați în aplicația dvs. Dar, înainte de toate, să vedem mai întâi cum să integrăm SDK-ul pentru anunțuri mobile și să-l inițializăm.
În Android Studio, creați un nou proiect numit Activitate principala
.
Pentru a începe integrarea aplicației AdMob cu aplicația dvs., va trebui mai întâi să includeți setul SDK pentru anunțuri mobile în modulul dvs. de aplicație build.gradle
fişier:
compile 'com.google.android.gms: play-services-ads: 11.0.2'
Dacă intenționați să integrați Firebase în aplicația dvs., atunci ar trebui să utilizați fișierul SDK care face parte din Firebase:
compile 'com.google.firebase: firebase-ads: 11.0.2'
Consultați câteva dintre tutorialele Firebase aici pe Envato Tuts + dacă aveți nevoie de ajutor pentru a începe să utilizați Firebase:
Asigurați-vă că sincronizați proiectul după ce ați adăugat SDK-urile pentru a trage bibliotecile de pe internet în aplicația dvs..
Trebuie să inițializați setul SDK pentru anunțuri mobile înainte de a putea încărca anunțuri în aplicația dvs. Android, așa că faceți acest lucru cât mai curând posibil. Creăm o clasă care extinde cerere
și apoi inițializăm MobileAds
SDK în onCreate ()
metoda acestei clase, deoarece această metodă este numită o singură dată când aplicația este lansată.
import com.google.android.gms.ads.MobileAds; import șiroid.app.Application; clasa de aplicații publice extinde aplicația @Override public void onCreate () super.onCreate (); MobileAds.initialize (aceasta, "ca-app-pub-3940256099942544/6300978111");
Al doilea argument furnizat metodei statice inițializa ()
din MobileAds
clasa trebuie să fie ID-ul aplicației AdMob pe care l-ați primit când v-ați înscris pentru AdMob. În acest caz, folosim ID-ul aplicației publice furnizat de Google pentru scopuri demo.
Trebuie să adăugăm clasa de aplicații pe care am creat-o la atributul nume de etichetă al aplicației în AndroidManifest.xml fişier.
În acest fișier, asigurați-vă că includeți și INTERNET
astfel încât să poată fi difuzate anunțurile mobile Google.
În fragmentul de cod de mai jos, am adăugat AdActivity
pentru noi AndroidManifest.xmlfișier în eticheta aplicației.
Această activitate este furnizată de SDK. Este util ca anunțurile bannere să aprindă anunțul care să fie vizionat atunci când utilizatorul face clic pe anunț, iar în cazul unui anunț interstițial, acesta este utilizat pentru afișarea anunțului când acesta face clic pe acesta.
Anunțurile bannere acoperă o parte a ecranului vizibil în prezent. Cu alte cuvinte, orice conținut din aplicația dvs. și din anunț sunt afișate împreună pe ecran. Acest lucru îmbunătățește experiența utilizatorilor, deoarece utilizatorii dvs. pot continua să utilizeze aplicația în timp ce anunțul se afișează, spre deosebire de un anunț interstițial (stați puțin, vom ajunge la acest lucru în scurt timp). Rețineți că un anunț banner poate fi text sau o imagine.
Să ne uităm la modul de implementare a unui anunț banner.
parametru AdView
este un obicei ViewGroup
care va conține anunțul banner, așa că trebuie să ne editați activity_banner_ad.xml pentru a include această vizualizare.
Definim definiția parametru AdView
mărimea utilizând atributul anunțuri: adSize
și setarea la BANNER
. Alte alternative disponibile sunt LARGE_BANNER
, FULL_BANNER
, SMART_BANNER
, etc.
anunțuri: adUnitId
parametru AdView
atributul este setat la o unitate de eșantion de anunțuri furnizată de Google. Va trebui să actualizați acest lucru cu o unitate de anunț asociată contului dvs. dacă doriți să obțineți bani din anunțurile dvs.!
Codul unității de anunțuri identifică o destinație de plasare a anunțurilor și o puteți găsi în consola de administrare AdMob. Acest cod va indica AdMob tipul de anunț care va fi afișat în aplicația dvs., precum și formatul de afișare (imagine, text sau video).
Pentru ca noi să afișăm în cele din urmă anunțul, trebuie să facem o cerere și apoi să o afișăm în parametru AdView
am creat mai sus în BannerAdActivity
clasă.
import com.google.android.gms.ads.AdRequest; import com.google.android.gms.ads.AdView; import android.os.Bundle; import șiroid.support.v7.app.AppCompatActivity; clasa publică BannerAdActivity extinde AppCompatActivity privat AdView mAdView; @Override protejate void onCreate (Bundle savedInstanceState) super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); mAdView = (AdView) findViewById (R.id.adView); AdRequest adRequest = nou AdRequest.Builder () .addTestDevice (AdRequest.DEVICE_ID_EMULATOR) .build (); mAdView.loadAd (adRequest);
Am creat o solicitare de anunț prin crearea unei instanțe de AdRequest folosind constructorul. Apoi am folosit metoda addTestDevice ()
, transmiterea unui id de dispozitiv ca argument pentru a primi anunțuri de testare pe dispozitiv, care în cazul nostru este emulatorul. Apoi am sunat în cele din urmă parametru AdView
metodă loadAd ()
care ia asta AdRequest
instanță și apoi încarcă anunțul pe un fir de fundal (astfel încât să nu blocheze UI / firul principal).
În acest moment, putem conduce proiectul nostru și vom vedea rezultatul.
Din captura de ecran de mai sus, putem vedea că anunțul nostru banner de test se afișează sub vizualizare. Acum interacționează cu anunțul dând clic pe el.
Să explorăm evenimentele sau apelurile telefonice pe care le putem observa într-un anunț. Acestea sunt evenimentele disponibile:
onAdLoaded ()
: această metodă este declanșată atunci când anunțul este recuperat. onAdOpened ()
: această metodă este invocată atunci când anunțul este deschis. onAdClosed ()
: această metodă este declanșată atunci când anunțul este închis.onAdLeftApplication ()
: această metodă este invocată atunci când utilizatorul a părăsit aplicația.onAdFailedToLoad (int errorCode)
: aceasta este declanșată atunci când o solicitare pentru anunț nu reușește. Codul poate fi unul din ERROR_CODE_NETWORK_ERROR
, ERROR_CODE_INVALID_REQUEST
, ERROR_CODE_NO_FILL
, sau ERROR_CODE_INTERNAL_ERROR
.// ... @Override protejat void onCreate (Bundle savedInstanceState) // ... mAdView.setAdListener (noul AdListener () @Override public void peAdLoaded () super.onAdLoaded (); Toast.makeText (MainActivity.this, "onAdLoaded ) ", Toast.LENGTH_SHORT) .show (); @Override public void peAdOpened () super.onAdOpened (); Toast.makeText (MainActivity.this," onAdOpened () ", Toast.LENGTH_SHORT) .show (); @Override public void peAdClosed () super.onAdClosed (); Toast.makeText (MainActivity.this, "onAdClosed ()", Toast.LENGTH_SHORT) .show (); @Override public void onAdFailedToLoad (int i) .onAdFailedToLoad (i); Toast.makeText (MainActivity.this, "onAdFailedToLoad ()", Toast.LENGTH_SHORT) .show (); @Override public void peAdLeftApplication () super.onAdLeftApplication (); aceasta, "onAdLeftApplication ()", Toast.LENGTH_SHORT) .show ();); @Override public void onPause () // Această metodă trebuie apelată în metoda onPause () a activității părinte. dacă (mAdView! = null) mAdView.pause (); super.onPause (); @Override public void peResume () super.onResume (); // Această metodă trebuie apelată în metoda parental Activity onResume (). dacă (mAdView! = null) mAdView.resume (); @Override public void onDestroy () // Această metodă trebuie apelată în metoda onDestroy () a activității părintelui. dacă (mAdView! = null) mAdView.destroy (); super.onDestroy ();
După adăugarea ascultătorului, rulați din nou proiectul și interacționați cu anunțul. Observați evenimentele invocate prin vizionarea toasturilor pe care le-am creat.
Am văzut cât de ușor este să afișați un anunț banner. Acum, să examinăm cum să creați anunțuri intercalate.
Anunțurile intercalate sunt anunțuri care acoperă întregul ecran al aplicației dvs., fără a oferi spațiu pentru afișarea altor aplicații (cum vom vedea în scurt timp). Deoarece acest lucru preia întregul ecran și, de asemenea, durează un timp pentru încărcare dacă rețeaua este lentă, trebuie să aveți grijă să nu vă iritați utilizatorii. În mod ideal, aceste anunțuri intermediare ar trebui să fie afișate în timpul pauzelor naturale din aplicația dvs., de ex. între nivelurile dintr-un joc, și nu atunci când utilizatorii se află în mijlocul unei alte sarcini.
import com.google.android.gms.ads.AdListener; import com.google.android.gms.ads.AdRequest; import com.google.android.gms.ads.InterstitialAd; import android.os.Bundle; import șiroid.support.v7.app.AppCompatActivity; importă android.widget.Toast; clasa publică InterstitialAdActivity extinde AppCompatActivity private InterstitialAd mInterstitialAd; @Override protejate void onCreate (Bundle savedInstanceState) super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); loadInterstitialAd (); void private voidInterstitialAd () mInterstitialAd = nou InterstitialAd (acest); mInterstitialAd.setAdUnitId ( "ca-app-pub-3940256099942544/1033173712"); mInterstitialAd.setAdListener (noul AdListener () @Override public void peAdLoaded () super.onAdLoaded (); Toast.makeText (MainActivity.this, "onAdLoaded ()", Toast.LENGTH_SHORT) .show (); ()) mInterstitialAd.show (); @Override public void peAdFailedToLoad (int i) super.onAdFailedToLoad (i); Toast.makeText (MainActivity.this, "onAdFailedToLoad ()", Toast.LENGTH_SHORT) .show ();); AdRequest adRequest = nou AdRequest.Builder (). Build (); mInterstitialAd.loadAd (adRequest);
În codul de mai sus, am declarat și inițializat o instanță a clasei InterstitialAd
în InterstitialAdActivity
clasă. Am setat ID-ul unității de adăugare trecând metoda furnizată de Google ca singur argument în metodă setAdUnitId ()
.
La fel ca ceea ce am făcut pentru anunțul banner, dorim să ascultăm evenimentele din anunț, așadar am stabilit un ascultător să tragă metodele supraîncărcate onAdLoaded ()
și onAdFailedToLoad (int i)
. Facem o cerere de anunț prin crearea unei instanțe a AdRequest
clasa utilizând constructorul său și apoi apelați metoda loadAd ()
, trecând această solicitare ca argument al metodei. Folosim metoda isLoaded ()
pentru a determina momentul în care anunțul a fost încărcat și apoi apelați metoda spectacol()
pentru a afișa în cele din urmă.
De asemenea, puteți adăuga un AdListener
la fel cum am făcut pentru anunțul banner.
În acest moment, putem rula aplicația și vom vedea rezultatul.
În captura de ecran de mai sus, puteți vedea că anunțul nostru de anunț interstițial se afișează acum.
Anunțurile native Express vă oferă (editorului) posibilitatea de a personaliza aspectul anunțurilor astfel încât să se potrivească în mod natural cu aplicația dvs. Această particularizare se face prin definirea șabloanelor CSS în care vă definiți propriile fonturi, culori, dimensiuni etc. din contul dvs. AdMob. Cu toate acestea, nu puteți schimba imaginile, descrierile și titlurile - acestea sunt stabilite de către agenții de publicitate.
Anunțurile personalizate pot fi afișate în aplicația dvs. într-un NativeExpressAdView
.
NativeExpressAdView
în aspectul dvs.Mai jos, vom include NativeExpressAdView
, care este un ViewGroup
, în fișierul nostru de aspect. De asemenea, definim Android: layout_height
și Android: layout_width
a fi wrap_content
. anunțuri: adSize
va fi "320x300"
, și vom utiliza ID-ul unității de anunțuri NativeExpress furnizat de Google (numai pentru scopuri demonstrative).
Apoi, ne construim AdRequest
și apoi începe încărcarea anunțului care urmează să fie afișat. De asemenea, vom adăuga codul pentru a răspunde la apelurile de apel ale ciclului de viață al activității. De asemenea, puteți adăuga un AdListener
dacă doriți, la fel ca în cazul anunțului banner.
import com.google.android.gms.ads.AdRequest; import com.google.android.gms.ads.NativeExpressAdView; import android.os.Bundle; import șiroid.support.v7.app.AppCompatActivity; clasa publică NativeExpressAdActivity extinde AppCompatActivity NativeExpressAdView mNativeExpressAdView; @Override protejate void onCreate (Bundle savedInstanceState) super.onCreate (savedInstanceState); setContentView (R.layout.activity_native_ad); mNativeExpressAdView = (NativeExpressAdView) findViewById (R.id.adView); AdRequest.Builder adRequestBuilder = nou AdRequest.Builder (); adRequestBuilder.addTestDevice (AdRequest.DEVICE_ID_EMULATOR); mNativeExpressAdView.loadAd (adRequestBuilder.build ()); @Override public void peResume () super.onResume (); mNativeExpressAdView.resume (); @Override public void onPause () mNativeExpressAdView.pause (); super.onPause (); @Override public void peDestroy () mNativeExpressAdView.destroy (); super.onDestroy ();
Asta e! Acum puteți rula aplicația și puteți vedea anunțul dvs. Express în natură în acțiune.
Acum, că am aflat despre diferitele tipuri de anunțuri, puteți continua și le puteți integra în aplicația dvs. Pentru a începe să afișați anunțuri reale și să câștigați bani, veți avea nevoie de un cont AdMob - cu ID-uri reale de anunțuri care sunt conectate la anunțuri reale de la agenții de publicitate. Doar vizitați site-ul AdMob pentru a vă înscrie!
În acest tutorial, ați aflat despre AdMob și despre modul de integrare a diferitelor formate de anunțuri AdMob, cum ar fi anunțurile banner, interstițiale și native express pe Android.
Pentru a afla mai multe despre AdMob pe Android, consultați documentația oficială. Între timp, verificați câteva dintre celelalte cursuri și tutoriale ale dezvoltării aplicațiilor Android!