Comment monétiser vos applications Android avec AdMob

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.. 

Créer un projet Android Studio

Dans Android Studio, créez un nouveau projet nommé Activité principale.

Inclure le SDK Mobile Ads

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.. 

Initialiser MobileAds

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.. 

Modifier le fichier manifeste

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..

1. Bannières publicitaires

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. 

Inclure une bannière publicitaire dans votre mise en page

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_BANNERFULL_BANNERSMART_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)..

Charger l'annonce

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). 

Tester l'annonce

À 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. 

Écoute d'événements publicitaires avec AdListener

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_ERRORERROR_CODE_INVALID_REQUESTERROR_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. 

2. Annonces interstitielles

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. 

Tester l'annonce

À 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.. 

3. Native Ads Express

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

Comprendre NativeExpressAdView dans votre mise en page

Ci-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). 

    

Charger l'annonce

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 (); 

Tester l'annonce

C'est tout! Maintenant, vous pouvez exécuter l'application et voir votre annonce Native Express en action.

Créez votre propre compte AdMob

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! 

Conclusion

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.!