Admob : publicité

Pour ajouter une publicité plein écran : https://publishers.adbuddiz.com

Pour ajouter des bannières publicitaires dans vos applications :

Attention ! You should begin with a new project in Android Studio and check the box to Use AndroidX Artifacts or refer to Migrating to AndroidX to migrate your project. With Android Studio 3.2 and higher, you can migrate an existing project to AndroidX by selecting Refactor > Migrate to AndroidX from the menu bar.

1°) Ajouter dans Build.gradle(module.app) :

implementation 'com.google.android.gms:play-services-ads:19.0.1'

2°) Dans le fichier manifest.xml :

<meta-data
    android:name="com.google.android.gms.ads.APPLICATION_ID"
    android:value="<<la valeur de l'Id de l'application>>"/>

3°) Pour une publicité de type Bandeau, dans le fichier Layout de l’activity :

<com.google.android.gms.ads.AdView
    android:id="@+id/adView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_marginBottom="46dp"
    ads:adSize="BANNER"
    ads:adUnitId="ca-app-pub-3940256099942544/6300978111"></com.google.android.gms.ads.AdView>

4°) Pour une publicité bandeau, ajouter dans le fichier MainActivity  (après onCreate) :

MobileAds.initialize(this, new OnInitializationCompleteListener() {
    @Override
    public void onInitializationComplete(InitializationStatus initializationStatus) {
    }
});
mAdView = findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);

5°) Pour une publicité « interstitiel » s’affichant sur une action (click…), dans l’activité main :

import com.google.android.gms.ads.InterstitialAd;
import com.google.android.gms.ads.AdRequest;
private InterstitialAd mInterstitialAd;

Après Super.onCreate

mInterstitialAd = new InterstitialAd(this);
//-- Test
mInterstitialAd.setAdUnitId("ca-app-pub-3940256099942544/1033173712");

Après un click

if (mInterstitialAd.isLoaded()) {
    mInterstitialAd.show();
} else {
    Log.d(LOG_TAG, "The interstitial wasn't loaded yet.");
}

 

A) Préparation de la publicité :

1°) S’identifier sur le site de Google, renseigner toutes les informations afin d’obtenir  une « Référence éditeur » : pub-xxxxx

2°) Dans le panneau de configuration vous pouvez maintenant choisir de monétiser une nouvelle application, par exemple com.andrologiciels.androadmobtest :

* Choisissez ajouter manuellement et entrer le nom de l’application test,

* Choisissez le type d’annonce « bannière » ou « interstitiel ». Les bannières sont des annonces de petit format qui renvoient les internautes vers une page plein écran lorsqu’ils appuient sur celles-ci. Les interstitiels présentent immédiatement du contenu HTML5 enrichi ou des « applications Web ».

* Vous obtiendrez alors un ID du bloc d’annonces : ca-app-pub-xxxx et un nom pour ce bloc.

B) Insertion dans le code de l’application :

Update : https://developers.google.com/admob/android/quick-start?hl=fr#import_the_mobile_ads_sdk

Pour Studio cf : https://developers.google.com/admob/android/quick-start Bien s’assurer que « Google Repository » est bien installé via SDK Manager

 

1°) Lancez le SDK Manager, et  assurez vous que Google AdMob Ads SDK est bien installé

2°) Importez la librairie Google Play Services Cette librairie soit être située dans \sdk\extras\google\google_play_services\libproject\google-play-services_lib. Dans Eclipse : Import, Existing Android Code Into Workspace, sélectionnez le répertoire google_play-services

2°) Créez votre application de test (new->Android Application Project) minimum required SDK version of 9

3°) Importez la librairie Google Play Services dans votre projet Eclipse : Click droit sur le nom du projet puis Properties puis Android puis add librairie ou Android Project From Existing Code et chercher <android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/

C) Adaptations pour affichage des publicités :

1°) Modifier le fichier manifest pour inclure :

Sous la balise android:targetSdkVersion= »xx » />

 <!-- 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"/>  

Sous la balise 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" />  

Sous la balise </activity> :

 <!--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" />  

2°) Créez une bannière de test :

Insérez dans le fichier strings.xml la ligne comportant votre identifiant banner_ad_unit_id créé sur le site

 <string name="banner_ad_unit_id">ca-app-pub-xxx</string>  

3°) Modification du layout de l’application pour insérer la bannière :

Dans le layout qui devra contenir la publicité, insérez après la ligne xmlns existante la ligne

 xmlns:ads="http://schemas.android.com/apk/res-auto"  

Et à l’endroit voulu (par exemple en bas de page avant /Relativelayout>) l’espace pour la publicité :

 <com.google.android.gms.ads.AdView  
     android:id="@+id/adView"  
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"  
     android:layout_centerHorizontal="true"  
     android:layout_alignParentBottom="true"  
     ads:adSize="BANNER"  
     ads:adUnitId="@string/banner_ad_unit_id">  
   </com.google.android.gms.ads.AdView>  

Remarque : il est parfois utile de rajouter dans le paragraphe <relative layout les balises :

android:paddingLeft= »0dp »
android:paddingRight= »0dp »

4°) Modification du code source de l’application :

* Ajoutez deux lignes d’import :

 import com.google.android.gms.ads.AdRequest;  
 import com.google.android.gms.ads.AdView;  

* Juste après le lancement du layout  (instruction setContentView(R.layout.activity_main);) placez :

     AdView mAdView = (AdView) findViewById(R.id.adView);  
     AdRequest adRequest = new AdRequest.Builder().build();  
     mAdView.loadAd(adRequest);  

* Pour les utilisateurs d’Eclipse LUNA avec ADT 23.04 et le dernier SDK :

click droit sur le projet puis properties et Java Build Path et Order and Export : placez Android Dependencies puis Android Private Libraires

Capture la structure du projet étant la suivante : Capture

 

Si google-play-services.jar n’est pas dans libs, placez le et effectuez un ‘clear’ du projet

* Éventuellement modifier le fichier Proguard du projet en ajoutant les lignes :

 -keep class * extends java.util.ListResourceBundle {  
   protected Object[][] getContents();  
 }  
 -keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {  
   public static final *** NULL;  
 }  
 -keepnames @com.google.android.gms.common.annotation.KeepName class *  
 -keepclassmembernames class * {  
   @com.google.android.gms.common.annotation.KeepName *;  
 }  
 -keepnames class * implements android.os.Parcelable {  
   public static final ** CREATOR;  
 }  

Screenshot_2015-02-27-15-32-18[1] Screenshot_2015-02-27-17-10-56[1]

Le code source est ici pour l’affichage d’une baniere à partir du code android et là pour le code source à partir d’un fichier xml

Attention :  si le message Unable to execute dex: Java heap space apparaît click droit sur le projet puis Properties -> Java Build Path -> Order and Export. Décochez toutes les cases cochées puis Ok. Exécutez de nouveaux le projet.

Vous devez changer la version de Java (utilisez la 1.8) via le menu Window/Preferences puis Java et options Installed JRE et compiler

 Références :

http://www.google.com/admob/?_adc=ww-en-et-developers_sdk

https://developers.google.com/mobile-ads-sdk/docs/admob/android/eclipse

http://www.androidbegin.com/tutorial/integrating-new-google-admob-banner-interstitial-ads/

Pour la taille et les propriétés des bannières : 

https://developers.google.com/mobile-ads-sdk/docs/admob/intermediate?hl=fr#play

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l’aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.

Articles récents
Commentaires récents
fatima dans Bienvenue !
AdminDroid dans Bienvenue !
fatima dans Bienvenue !
Archives
Catégories
%d blogueurs aiment cette page :