AdMob ne sera pas affiché dans mon application. Chaque fois que j'appelle loadAd(..)
, j'obtiens les erreurs suivantes:
La demande de ressource 0x7f0b000e a échoué car elle est complexe. Les ressources des services de lecture Google Sont introuvables. Vérifiez la configuration de votre projet pour vous assurer que les ressources sont incluses. Il y avait un problème pour obtenir une réponse publicitaire. Code d'erreur: 1
J'ai cherché pendant des heures une solution à ce problème mais je n'ai rien trouvé qui puisse fonctionner pour moi! J'ai téléchargé la dernière version du Google Play Services
et les ai ajoutées en tant que bibliothèque dans les préférences de mon projet.
Voici mon code: Activité:
public class WelcomeActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.activity_welcome);
// Look up the AdView as a resource and load a request.
AdView adView = (AdView) this.findViewById(R.id.welcomeAdView);
AdRequest.Builder adRequestBuilder = new AdRequest.Builder();
adRequestBuilder.addTestDevice("************");
adRequestBuilder.addTestDevice(AdRequest.DEVICE_ID_EMULATOR);
AdRequest adRequest = adRequestBuilder.build();
adView.loadAd(adRequest);
}
}
Layout xml:
<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:ads="http://schemas.Android.com/apk/res-auto"
xmlns:tools="http://schemas.Android.com/tools"
xmlns:app="http://schemas.Android.com/apk/res/xx.xx"
Android:id="@+id/container"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
tools:context="xx.xx.WelcomeActivity" >
.... other layout stuff .....
<RelativeLayout
Android:layout_width="wrap_content"
Android:layout_height="match_parent"
Android:layout_alignParentBottom="true" >
<com.google.Android.gms.ads.AdView
Android:id="@+id/welcomeAdView"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
ads:adSize="BANNER"
ads:adUnitId="pub-***************" />
</RelativeLayout>
</RelativeLayout>
AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
package="xx.xx"
Android:versionCode="1"
Android:versionName="1.0" >
<uses-sdk
Android:minSdkVersion="14"
Android:targetSdkVersion="19" />
<uses-permission Android:name="Android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission Android:name="Android.permission.INTERNET" />
<uses-permission Android:name="Android.permission.ACCESS_NETWORK_STATE" />
<application
Android:allowBackup="true"
Android:icon="@drawable/icon"
Android:label="@string/app_name"
Android:theme="@Android:style/Theme.Holo.Light" >
<meta-data
Android:name="com.google.Android.gms.version"
Android:value="@integer/google_play_services_version" />
<activity
Android:name="xx.xx.WelcomeActivity"
Android:label="@string/app_name"
Android:screenOrientation="portrait" >
<intent-filter>
<action Android:name="Android.intent.action.MAIN" />
<category Android:name="Android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
... some more activities ...
<activity
Android:name="com.google.Android.gms.ads.AdActivity"
Android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" >
</activity>
</application>
</manifest>
Je ne trouve aucun problème avec votre code/mise en page. Le problème pourrait être avec le Ads Unit Id
.
Je vous suggérerais d'essayer de créer un Ads Unit Id
différent
Esperons que ça marche.
Ajoutez simplement ceci au cas où quelqu'un aurait le même problème que le mien.
J'ai essayé d'utiliser un nouveau Ads Unit ID
et cela n'a pas fonctionné aussi bien. En fin de compte, le problème était lié au fait que j'essayais de corriger une application qui avait été suspendue de Google Play et qu'Admob avait également arrêté de diffuser des annonces aux applications dotées du package name / bundle ID
spécifique.
Changer le package name
de l'application a résolu le problème pour moi.
Faites attention à la chaîne d'identifiant d'unité d'annonce. Mon erreur était un espace à la fin de l'adUnitId
Vous avez utilisé le mauvais ads:adUnitId="pub-***************"
. Cela doit ressembler au format ca-app-pub-3940256099942544/6300978111
. Vous pouvez le prendre après avoir créé une bannière en url https://apps.admob.com/#monetize/adunit:create
Dans votre fichier de présentation (activity_welcome.xml), la disposition largeur/hauteur du conteneur adview (RelativeLayout) me semble étrange. Et je pense que cela est inutile dans votre cas d'utilisation.
Changer de:
<RelativeLayout
Android:layout_width="wrap_content"
Android:layout_height="match_parent"
Android:layout_alignParentBottom="true" >
<com.google.Android.gms.ads.AdView
Android:id="@+id/welcomeAdView"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
ads:adSize="BANNER"
ads:adUnitId="pub-***************" />
</RelativeLayout>
à:
<com.google.Android.gms.ads.AdView
Android:id="@+id/welcomeAdView"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_alignParentBottom="true"
ads:adSize="BANNER"
ads:adUnitId="pub-***************" />
Ajoutez ceci dans application tag dans votre fichier Manifest:
<meta-data Android:name="com.google.Android.gms.version"
Android:value="@integer/google_play_services_version"/>
Aussi Votre paquet peut être bloqué par Google AdMob. Si vous avez reçu un email comme celui-ci:
Bonjour,
Cet e-mail vous avertit qu'une de vos applications n'est pas en conformité avec les règles de notre programme AdMob. Par conséquent, la diffusion d'annonces a été désactivée pour votre application.
La diffusion des annonces a été désactivée pour: APPNAME (com.example.pack).
Action requise: vérifiez la conformité de toutes les autres applications restantes de votre compte .
État actuel du compte: actif .....
Alors maintenant, vous devez modifier votre package de votre application. sur Eclipse c'est package = "com.example"