2011-01-11 3 views
0

Ceci est ma toute première tentative d'inclure des annonces dans mon application. J'ai lu la documentation en ligne et l'ai lue mot pour mot. Maintenant, la seule partie que je ne comprends pas, c'est comment demander des annonces et l'ajouter dans mon application.Android admob adview force fermer

AdView adView = (AdView)findViewById(R.id.ad); 

Cela semble fonctionner si bien. Tout ce que je fais va juste forcer à proximité. Par exemple en ajoutant cette ligne:

adView.setAdListener(this); 

J'ai mis en AdListener à l'activité.

Soit dit en passant, quand je passe la souris sur les classes importées:

import com.admob.android.ads.AdView; 

ou d'autres classes similaires, il est dit: Note: Cet élément n'attache la source ni Javadoc ci-joint et par conséquent n'a pu être trouvée sans Javadoc.

Est-ce censé être correct?

+0

Pouvez-vous fournir les journaux pour l'accident? La note est normale. –

+0

01-10 20: 20: 11.152: ERROR/AndroidRuntime (2043): sur com.admob.android.ads.AdView. (AdView.java:323) 01-10 20: 20: 11.152: ERROR/AndroidRuntime (2043): sur com.admob.android.ads.AdView. (AdView.java:308) 01-10 20: 20: 11.152: ERROR/AndroidRuntime (2043): sur com.admob.android.ads.AdView. (AdView.java:267) Désolé, jamais publié un journal avant ... – semajhan

Répondre

2

Il est difficile de dire à coup sûr sans voir votre code et votre mise en page, mais voici quelques choses que vous pourriez vouloir vérifier:

1) Le AdMobActivity est déclaré dans votre AndroidManifest:

<activity android:name="com.admob.android.ads.AdMobActivity" 
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 
android:configChanges="orientation|keyboard|keyboardHidden" /> 

2) Vous demandez la permission INTERNET dans votre AndroidManifest:

<uses-permission android:name="android.permission.INTERNET" /> 

3) votre fichier attrs.xml contient les styles nécessaires:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <declare-styleable name="com.admob.android.ads.AdView"> 
     <attr name="backgroundColor" format="color" /> 
     <attr name="primaryTextColor" format="color" /> 
     <attr name="secondaryTextColor" format="color" /> 
     <attr name="keywords" format="string" /> 
     <attr name="refreshInterval" format="integer" /> 
    </declare-styleable> 
</resources> 

4) Votre AdView est inclus dans votre mise en page:

<com.admob.android.ads.AdView 
    android:id="@+id/ad" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    myapp:backgroundColor="#000000" 
    myapp:primaryTextColor="#FFFFFF" 
    myapp:secondaryTextColor="#CCCCCC" 
/> 

5) Votre AdView est bien trouvé:

AdView adView = (AdView)findViewById(R.id.ad); 
if (adView == null) { 
    Log.e(TAG, "AdView not found!"); 
} 
+0

apparemment la vue est introuvable. J'ai vérifié et le xml semble bien. Je vais devoir revérifier à nouveau. – semajhan

+0

Les annonces s'affichent maintenant sur l'émulateur, mais ce que je ne comprends toujours pas, c'est pourquoi il ne fonctionne pas avec le code xml. J'ai créé un code AdView via le code et maintenant ça fonctionne. Bah, j'ai détesté le xml et pour une fois j'ai pensé que je pouvais me débrouiller et apprendre le xml mais cela me rendait très difficile. – semajhan

+0

Vérifiez que vous appelez setContentView avec la disposition correcte et que vous transmettez l'ID correct à findViewById. Il est assez facile d'avoir quelque chose comme "adview" dans une mise en page et "ad" dans une autre et d'appeler findViewById avec le mauvais, résultant en null. –