Dans ce didacticiel, vous apprendrez à intégrer AdMob afin de gagner de l'argent avec cette application Android géniale que vous avez écrite, allez, qui ne veut pas de ça? AdMob est l’une des plus grandes plateformes de publicité mobile du marché et appartient à Google..
Il existe différentes manières de monétiser vos applications sur Android: téléchargements payants, abonnements payants, achats intégrés et affichage d'annonces. Vous pouvez les combiner, mais il est recommandé de choisir un seul modèle. Dans ce didacticiel, vous apprendrez à monétiser votre application en affichant des annonces..
Les types d'annonces que vous allez créer dans ce didacticiel sont les bannières, les annonces interstitielles et les annonces express natives. Je vais vous expliquer chacune d'elles et vous montrer comment les implémenter dans votre application. Mais avant cela, voyons d’abord comment intégrer le SDK pour les annonces mobiles et l’initialiser..
Dans Android Studio, créez un nouveau projet nommé Activité principale
.
Pour commencer l'intégration d'AdMob avec votre application, vous devez d'abord inclure le kit de développement mobile Ads SDK dans votre module d'application. build.gradle
fichier:
compiler 'com.google.android.gms: play-services-ads: 11.0.2'
Si vous souhaitez intégrer Firebase à votre application, vous devez utiliser le kit de développement logiciel (SDK), qui fait partie de Firebase:
compiler 'com.google.firebase: firebase-ads: 11.0.2'
Découvrez quelques-uns de nos tutoriels Firebase ici sur Envato Tuts + si vous avez besoin d'aide pour démarrer avec Firebase:
Assurez-vous de synchroniser le projet après l’ajout du SDK afin d’extraire les bibliothèques d’Internet dans votre application..
Avant de pouvoir charger des annonces sur votre application Android, vous devez initialiser le kit de développement de Mobile Ads SDK. Faites-le dès que possible. Nous créons une classe qui étend la Application
classe, puis nous initialisons la MobileAds
SDK dans le onCreate ()
méthode de cette classe, car cette méthode est appelée une seule fois au lancement de l'application.
importer com.google.android.gms.ads.MobileAds; importer android.app.Application; Classe publique App étend Application @Override public void onCreate () super.onCreate (); MobileAds.initialize (this, "ca-app-pub-3940256099942544/6300978111");
Le deuxième argument fourni à la méthode statique initialiser()
du MobileAds
La classe doit être votre ID d’application AdMob que vous avez obtenu lors de votre inscription à AdMob. Dans ce cas, nous utilisons l'ID d'application publique fourni par Google à des fins de démonstration..
Nous devons ajouter la classe d’application que nous avons créée à l’attribut de nom de balise d’application de notre AndroidManifest.xml fichier.
Dans ce fichier, veillez également à inclure le L'INTERNET
autorisation pour que les annonces mobiles Google puissent être diffusées.
Dans l'extrait de code ci-dessous, nous avons ajouté le AdActivity
à notre AndroidManifest.xmlfichier dans la balise d'application.
Cette activité est fournie par le SDK. Dans les bannières publicitaires, il est utile de lancer l'annonce à afficher lorsque l'utilisateur clique dessus, tandis que pour une annonce interstitielle, elle est utilisée pour afficher l'annonce lorsque l'utilisateur clique dessus..
Les bannières publicitaires couvrent une partie de l'écran actuellement visible. En d'autres termes, tout le contenu de votre application et l'annonce sont affichés ensemble à l'écran. Cela améliore l'expérience utilisateur, car vos utilisateurs peuvent continuer à utiliser votre application pendant la diffusion de l'annonce, contrairement à une annonce interstitielle (attendez, nous y reviendrons dans un instant). Notez qu'une bannière publicitaire peut être du texte ou une image..
Voyons comment implémenter une bannière publicitaire.
AdView
est une coutume ViewGroup
qui contiendra la bannière publicitaire, nous devons donc modifier notre activity_banner_ad.xml fichier de disposition pour inclure cette vue.
Nous définissons le AdView
taille en utilisant l'attribut annonces: adSize
et le mettre à BANNIÈRE
. Les autres alternatives disponibles sont LARGE_BANNER
, FULL_BANNER
, SMART_BANNER
, etc.
le annonces: adUnitId
AdView
L'attribut est défini sur un exemple de bloc d'annonces fourni par Google. Vous devrez mettre à jour cette information avec un bloc d'annonces associé à votre compte si vous souhaitez réellement rentabiliser vos annonces.!
L'ID de bloc d'annonces identifie un emplacement et vous pouvez le trouver dans la console d'administration AdMob. Cet identifiant indiquera à AdMob le type d'annonce à afficher sur votre application, ainsi que le format d'affichage (image, texte ou vidéo)..
Pour que nous puissions enfin diffuser l’annonce, nous devons faire une demande, puis la montrer dans AdView
nous avons créé ci-dessus dans le BannerAdActivity
classe.
importer com.google.android.gms.ads.AdRequest; importer com.google.android.gms.ads.AdView; importer android.os.Bundle; importer android.support.v7.app.AppCompatActivity; Classe publique BannerAdActivity étend 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);
Nous avons créé une demande d'annonce en créant une instance de AdRequest à l'aide du générateur. Ensuite, nous avons utilisé la méthode addTestDevice ()
, passer un identifiant d'appareil en tant qu'argument pour recevoir des annonces de test sur l'appareil, qui dans notre cas est l'émulateur. Nous avons finalement appelé le AdView
méthode loadAd ()
cela prend dans cette AdRequest
instance, puis charge l'annonce sur un fil de discussion (afin de ne pas bloquer le fil d'interface utilisateur / principal).
À ce stade, nous pouvons lancer notre projet et voir le résultat..
Sur la capture d'écran ci-dessus, nous pouvons voir que notre bannière test est affichée sous la vue. Maintenant, interagissez avec l'annonce en cliquant dessus.
Explorons maintenant les événements ou rappels que nous pouvons observer dans une publicité. Ce sont les événements disponibles:
onAdLoaded ()
: cette méthode est déclenchée lorsque l'annonce est récupérée. onAdOpened ()
: cette méthode est invoquée à l'ouverture de la publicité. onAdClosed ()
: cette méthode est déclenchée à la fermeture de l'annonce.onAdLeftApplication ()
: cette méthode est invoquée lorsque l'utilisateur a quitté l'application.onAdFailedToLoad (int errorCode)
: ceci est déclenché lorsqu'une demande d'annonce échoue. Le code peut être l'un des ERROR_CODE_NETWORK_ERROR
, ERROR_CODE_INVALID_REQUEST
, ERROR_CODE_NO_FILL
, ou ERROR_CODE_INTERNAL_ERROR
.//… @Override protected void onCreate (Bundle savedInstanceState) //… mAdView.setAdListener (new 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," onAdOpened () ", Toast.LENGTH_SHORT) .show (); @Override public void onAdClosed () super.onAdClosed (); Toast.makeText (MainActivity.this, "onAdClosed ()", Toast.LENGTH_SHORT) .show (); @Override public void onAdFailedToLoad (int i) super .onAdFailedToLoad (i); Toast.makeText (MainActivity.this, "onAdFailedToLoad ()", Toast.LENGTH_SHORT) .show (); @Override annulation publique surAdLeftApplication () super.onAdAdLeftApplication); ceci, "onAdLeftApplication ()", Toast.LENGTH_SHORT) .show ();); @Override public void onPause () // Cette méthode doit être appelée dans la méthode onPause () de l'activité parent. if (mAdView! = null) mAdView.pause (); super.onPause (); @Override public void onResume () super.onResume (); // Cette méthode doit être appelée dans la méthode onResume () de l'activité parent. if (mAdView! = null) mAdView.resume (); @Override public void onDestroy () // Cette méthode doit être appelée dans la méthode onDestroy () de l'Activité parent. if (mAdView! = null) mAdView.destroy (); super.onDestroy ();
Après avoir ajouté le programme d'écoute, réexécutez le projet et interagissez avec l'annonce. Observez les événements invoqués en regardant les toasts que nous avons créés.
Nous avons vu à quel point il est facile d'afficher une bannière publicitaire. Voyons maintenant comment créer des annonces interstitielles..
Les annonces interstitielles sont des annonces qui couvrent la totalité de l'écran de votre application. Elles ne permettent pas l'affichage d'autres vues de votre application (comme nous le verrons bientôt). Étant donné que cela occupe tout l'écran et prend du temps à charger si le réseau est lent, vous devez faire attention à ne pas irriter vos utilisateurs. Donc, idéalement, ces annonces interstitielles doivent être diffusées lors de pauses naturelles dans votre application, par exemple entre les niveaux d'un jeu et non lorsque les utilisateurs sont au milieu d'une autre tâche.
importer com.google.android.gms.ads.AdListener; importer com.google.android.gms.ads.AdRequest; import com.google.android.gms.ads.InterstitialAd; importer android.os.Bundle; importer android.support.v7.app.AppCompatActivity; importer android.widget.Toast; Classe publique InterstitialAdActivity étend 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 (new AdListener () @Override public void onAdLoaded () super onAdLoaded (); Toast.makeText (MainActivity.this, "onAdLoaded ()", Toast.LENGTH_SHORT) .show (); si (mt). isLoaded ()) mInterstitialAd.show (); @Override public void onAdFailedToLoad (int i) super.onAdFailedToLoad (i); Toast.makeText (MainActivity.this, "onAdFailedToLoad ()", Toast.Grand. ();); AdRequest adRequest = new AdRequest.Builder (). Build (); mInterstitialAd.loadAd (adRequest);
Dans le code ci-dessus, nous avons déclaré et initialisé une instance de la classe Interstitiel ad
dans le InterstitialAdActivity
classe. Nous définissons l'id d'unité add en passant celui fourni par Google comme seul argument de la méthode. setAdUnitId ()
.
Tout comme ce que nous avons fait pour la bannière publicitaire, nous souhaitons écouter les événements de la publicité. Nous avons donc demandé à un auditeur d'activer les méthodes surchargées. onAdLoaded ()
et onAdFailedToLoad (int i)
. Nous faisons une demande d’annonce en créant une instance du AdRequest
classe en utilisant son constructeur et ensuite appeler la méthode loadAd ()
, passer cette requête en argument à la méthode. Nous utilisons la méthode est chargé()
pour déterminer quand l'annonce a été chargée, puis appelez la méthode spectacle()
pour finalement l'afficher.
Vous pouvez également ajouter un AdListener
comme nous l'avons fait pour la bannière publicitaire.
À ce stade, nous pouvons exécuter l'application et voir le résultat..
Dans la capture d'écran ci-dessus, vous pouvez voir que notre annonce test interstitielle est maintenant affichée..
Native Ads Express vous donne (à l'éditeur) la possibilité de personnaliser l'aspect et la convivialité des annonces pour qu'elles s'intègrent naturellement à votre application. Cette personnalisation se fait en définissant des modèles CSS dans lesquels vous définissez vos propres polices, couleurs, tailles, etc. à partir de votre compte AdMob. Vous ne pouvez pas modifier les images, les descriptions et les titres, bien que ceux-ci soient définis par les annonceurs..
Les annonces personnalisées peuvent être affichées dans votre application dans un NativeExpressAdView
.
NativeExpressAdView
dans votre mise en pageCi-dessous, nous incluons le NativeExpressAdView
, qui est un ViewGroup
, dans notre fichier de mise en page. Nous définissons également le android: layout_height
et Android: layout_width
être wrap_content
. le annonces: adSize
sera "320x300"
, et nous utiliserons l'identifiant de bloc d'annonces NativeExpress fourni par Google (à des fins de démonstration uniquement).
Ensuite, nous construisons notre AdRequest
puis commencez à charger l'annonce à afficher. Nous ajouterons également du code pour répondre aux rappels du cycle de vie de l'activité. Vous pouvez également ajouter un AdListener
si vous voulez, comme nous l'avons fait pour la bannière publicitaire.
importer com.google.android.gms.ads.AdRequest; importer com.google.android.gms.ads.NativeExpressAdView; importer android.os.Bundle; importer android.support.v7.app.AppCompatActivity; Classe publique NativeExpressAdActivity étend 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 ();
C'est tout! Maintenant, vous pouvez exécuter l'application et voir votre annonce Native Express en action.
Maintenant que nous avons appris les différents types d’annonces, vous pouvez les intégrer et les intégrer à votre application. Pour commencer à diffuser des annonces réelles et à gagner de l'argent, vous devez disposer d'un compte AdMob contenant des identifiants de blocs d'annonces réels liés à des annonces réelles d'annonceurs. Il suffit de visiter le site Web AdMob pour vous inscrire!
Dans ce didacticiel, vous avez appris à connaître AdMob et à intégrer différents formats d’annonce AdMob, tels que les bannières, les annonces interstitielles et les annonces express natives sur Android..
Pour en savoir plus sur AdMob sur Android, reportez-vous à la documentation officielle. Et en attendant, découvrez certains de nos autres cours et tutoriels sur le développement d'applications Android.!