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
la structure du projet étant la suivante :
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;
}
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