Gagner de l’argent avec Admob

 

Dans la vie, faire des applications Android c’est bien, mais faire des applications qui vous rapportent de l’argent c’est encore mieux ! 😀

Aujourd’hui, nous allons découvrir comment faire pour mettre en place Admob dans une application Android, et on essayera d’afficher une banner et un interstitial.

Qu’est-ce que c’est ?

Une banner : c’est la publicité qui s’affiche sous forme de barre comme celle la


device-2015-07-13-153151

 

Un Interstitial ( drôle de nom ) : C’est la publicité que recouvre tout l’écran de votre téléphone

 

device-2015-07-13-153142

Banner Vs Interstitial

Je ne peux pas vous dire qui est le meilleur, car cela dépend de votre application, mais de part ma petite expérience, je préfère nettement les interstitials, je gagne plus d’argent avec. Mais hélas cela a un inconvénient, c’est que certains utilisateurs ne supportent pas ce genre de publicités.

L’intégration

Pour l’intégrer, la première chose à faire c’est d’aller sur Admob :

  1. Cliquez sur le bouton “Monétiser une nouvelle application”                    image3165
  2. Vous choisissez “Ajouter une application manuellement” dans le cas où votre application n’est pas disponible sur le Play Store, sinon vous laisser par défaut.                                          image3182
  3. Normalement maintenant vous devriez arriver à cela, et vous devez donner un nom à votre bloc d’annonces, et bien sûr laisser sur bannerimage3210
  4. Après Admob va vous générer un ID pour votre bloc d’annonce et vous je vous conseille de le garder quelques parts. Pour la suite et vous cliquer sur “Créer un autre bloc d’annonces” et vous faîtes la même chose sauf que vous choisissez interstitial                                                                           image3227

 

Voilà, maintenant nous pouvons l’intégrer côté client.

  1. Dans Android studio, créer un nouveau projet en allant dans File->New->New Project                                       
  2. Dans Application name mettez “AdMobTest” et Company domaine “com.androidpourtous.admobbannerinterstitialexample”
  3. Dans votre fichier build.gradle, copier le code suivant et synchroniser
    compile 'com.google.android.gms:play-services-ads:7.5.0'
  4. Dans le fichier res/strings.xml, copier les ressources suivantes mais n’oubliez pas de les remplacer par les ids que vous avez générer plus haut
    <!--
        ATTENTION ! n'oubliez pas de remplacer les ID par les vôtres !
     -->
    <string name="id_banner">ca-app-pub-3431238505773100/3500190000</string>
    <string name="id_interstitiel">ca-app-pub-3431238505773100/4976920000</string>
  5. Dans votre AndroidManifest.xml, copier le code ci-dessous, il y a tout ce qui est nécessaire pour l’affichage des publicités.
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="com.androidpourtous.admobbannerinterstitialexample" >
    
     <!-- Include required permissions for Google Mobile Ads to run-->
     <uses-permission android:name="android.permission.INTERNET"/>
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    
     <application
     android:allowBackup="true"
     android:icon="@mipmap/ic_launcher"
     android:label="@string/app_name"
     android:theme="@style/AppTheme" >
    
     <!--This meta-data tag is required to use Google Play Services.-->
     <meta-data android:name="com.google.android.gms.version"
     android:value="@integer/google_play_services_version" />
    
     <!--Include the AdActivity configChanges and theme. -->
     <activity android:name="com.google.android.gms.ads.AdActivity"
     android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
     android:theme="@android:style/Theme.Translucent" />
    
     <activity
     android:name=".MainActivity"
     android:label="@string/app_name" >
     <intent-filter>
     <action android:name="android.intent.action.MAIN" />
    
     <category android:name="android.intent.category.LAUNCHER" />
     </intent-filter>
     </activity>
     </application>
    
    </manifest>
    
  6. Créer un fichier activity_main.xml dans layouts et copier cela
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
     xmlns:ads="http://schemas.android.com/apk/res-auto"
     android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
     android:paddingRight="@dimen/activity_horizontal_margin"
     android:paddingTop="@dimen/activity_vertical_margin"
     android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
    
     <TextView android:text="CLIQUE SUR LA PUB SVP, J'AI BESOIN D'ARGENT !" android:layout_width="wrap_content"
     android:layout_height="wrap_content" />
    
     <Button
     android:id="@+id/btn_show_ad_interstitial"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_centerInParent="true"
     android:text="Clique bébé !"/>
    
    
     <com.google.android.gms.ads.AdView
     android:id="@+id/adView"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_centerHorizontal="true"
     android:layout_alignParentBottom="true"
     ads:adSize="BANNER"
     ads:adUnitId="@string/id_banner">
     </com.google.android.gms.ads.AdView>
    
    </RelativeLayout>
    
  7. Et pour finir, créer une class MaintActivity
    package com.androidpourtous.admobbannerinterstitialexample;
    
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.view.View;
    import android.widget.Button;
    
    import com.google.android.gms.ads.AdRequest;
    import com.google.android.gms.ads.AdView;
    import com.google.android.gms.ads.InterstitialAd;
    
    public class MainActivity extends AppCompatActivity {
    
        private AdView mAdView;
        private InterstitialAd mInterstitialAd;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            mAdView = (AdView) findViewById(R.id.adView);
    
            loadBanner();
    
            loadInterstitialAd();
    
            Button button = (Button) findViewById(R.id.btn_show_ad_interstitial);
    
            // On fait en sorte que dès qu'on clique sur notre buouton
            // on affiche la grosse pub qui couvre tout l'écran
            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
    
                    /**
                     *  Avant d'essayer de l'afficher, il faut vérifier qu'il est chargé
                     */
                    if (mInterstitialAd != null &amp;&amp; mInterstitialAd.isLoaded())
                        mInterstitialAd.show();
    
                }
            });
        }
    
        /**
         * Pour charger la petite bannière
         */
        private void loadBanner() {
            AdRequest adRequest = new AdRequest.Builder()
                    // à utiliser simplement quand vous faîtes des tests
                    .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
                    .build();
    
            // Ici on commence à afficher notre publicité
            mAdView.loadAd(adRequest);
        }
    
        /**
         *  Pour charger notre interstitial, mais on ne l'affiche pas
         */
        private void loadInterstitialAd() {
    
            mInterstitialAd = new InterstitialAd(this);
    
            AdRequest adRequest = new AdRequest.Builder()
                    // Même chose ici, il ne faut surtout pas l'oublier en test
                    .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
                    .build();
    
            // On récupère depuis le ressource l'id de l'interstitiel
            mInterstitialAd.setAdUnitId(getString(R.string.id_interstitiel));
    
            mInterstitialAd.loadAd(adRequest);
        }
    
        // Quand on quitte notre activity
        @Override
        public void onPause() {
            if (mAdView != null) {
                mAdView.pause();
            }
            super.onPause();
        }
    
        // Quand on retourne sur notre activity
        @Override
        public void onResume() {
            super.onResume();
            if (mAdView != null) {
                mAdView.resume();
            }
        }
    
        // Avant que notre activity ne soit détruite
        @Override
        public void onDestroy() {
            if (mAdView != null) {
                mAdView.destroy();
            }
            super.onDestroy();
        }
    
    }

Essayez l’application, et normalement tout fonctionnera correctement 😉

Voilà le CODE SOURCE GITHUB.

PS: bien évidemment, ne dites jamais à vos utilisateurs de cliquer, sinon vous allez avoir des surprises au niveau du Play Store 😀

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *