Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


El tamaño del anuncio y el ID de la unidad de anuncio deben estar configurados antes de cargarla.

Tengo esto en mi archivo xml principal:

<com.google.android.gms.ads.AdView xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" android:layout_width="wrap_content" android:layout_height="wrap_content" ads:adUnitId="******************" ads:adSize="BANNER" android:id="@+id/adView"/> 

Ya he definido el tamaño del anuncio y el ID de la unidad, pero cuando se ejecuta (desde MainActivity.java),

 AdView adView = (AdView)this.findViewById(com.example.lovetestactual.R.id.adView); AdRequest adRequest = new AdRequest.Builder().build(); adView.loadAd(adRequest); 

Lanzó una excepción de lo que está en el título.

  • Cómo hacer que SearchView pierda el foco y se contraiga al hacer clic en otra parte de la actividad
  • ¿Cuál es la señal fatal 6 en android logcat
  • Conexión WiFi a través de Android
  • Cómo hacer referencia a una vista en una notificación personalizada
  • Alojamiento de widgets en un lanzador de Android
  • Cómo obtener el número de milisegundos transcurrido hasta ahora hoy
  • Java se inició pero devolvió exit code = 13 eclipse
  • Sombra larga de Android TextView
  • 5 Solutions collect form web for “El tamaño del anuncio y el ID de la unidad de anuncio deben estar configurados antes de cargarla.”

    He encontrado la solución en el ejemplo github, es decir:

    en lugar de

     xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" 

    Borre la etiqueta xmlns: ads *** y agregue

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

    A su etiqueta LinearLayout de la siguiente manera:

     <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:ads="http://schemas.android.com/apk/res-auto" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/hello"/> <com.google.android.gms.ads.AdView android:id="@+id/adView" android:layout_width="match_parent" android:layout_height="wrap_content" ads:adSize="BANNER" ads:adUnitId="INSERT_YOUR_AD_UNIT_ID_HERE"/> </LinearLayout> 

    Eso es 🙂

    Github enlace para este xml

    Esto va a ser vago, ya que no ha indicado qué tipo de vista de su archivo XML es (Relativo, Lineal, etc)

    En mi aplicación con una disposición relativa desplazable que he incluido:

     <RelativeLayout android:id="@+id/test" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_below="@+id/TextView07" android:paddingTop="20dp" > </RelativeLayout> 

    Ahora dentro de mi clase real que quiero wan't el anuncio que he incluido:

     private AdView adView; /* Your ad unit id. Replace with your actual ad unit id. */ private static final String AD_UNIT_ID = "ca-app-pub-xxxxxx/yyyyyy"; /** * Simply loads the xml about page layout to display the text. */ public void onCreate(Bundle start) { super.onCreate(start); setContentView(R.layout.about); final TelephonyManager tm = (TelephonyManager) getBaseContext() .getSystemService(Context.TELEPHONY_SERVICE); //String deviceid = tm.getDeviceId(); adView = new AdView(this); adView.setAdSize(AdSize.SMART_BANNER); adView.setAdUnitId(AD_UNIT_ID); // Add the AdView to the view hierarchy. The view will have no size // until the ad is loaded. RelativeLayout layout = (RelativeLayout) findViewById(R.id.test); layout.addView(adView); // Create an ad request. Check logcat output for the hashed device ID to // get test ads on a physical device. AdRequest adRequest = new AdRequest.Builder() .build(); //.addTestDevice(AdRequest.DEVICE_ID_EMULATOR) //.addTestDevice(deviceid).build(); // Start loading the ad in the background. adView.loadAd(adRequest); } 

    }

    Ahora idealmente usted desea utilizar una bandera elegante para optimizar su disposición para todos los dispositivos, como tengo arriba, esto es estándar ahora.

    Si esto no sirve de ayuda, ve hacia aquí.

    Asegúrese de establecer el tamaño del anuncio y el ID de la unidad de anuncios de la misma manera (es decir, establecer tanto en XML como en ambos programas).

    Mucha gente La migración de aplicaciones existentes al método de servicios de Google Play está agregando incorrectamente la información incorrecta.

    Algo que me gustaría señalar es que muchas personas con la misma pregunta han estado utilizando esto como una plantilla

     <com.google.android.gms.ads.AdView xmlns:ads="http://schemas.android.com/apk/lib-auto" android:id="@+id/adView" android:layout_width="match_parent" android:layout_height="50dp" ads:adSize="BANNER" ads:adUnitId="ca-app-pub-XXXXXXXXXXXXXXXX/XXXXXXXXXX" ads:loadAdOnCreate="true" > </com.google.android.gms.ads.AdView> 

    Esto es incorrecto como xmlns: los anuncios deben cambiarse a: – xmlns:ads="http://schemas.android.com/apk/res-auto"

    Al igual que

     <com.google.android.gms.ads.AdView xmlns:ads="http://schemas.android.com/apk/res-auto" android:id="@+id/adView" android:layout_width="match_parent" android:layout_height="50dp" ads:adSize="BANNER" ads:adUnitId="ca-app-pub-XXXXXXXXXXXXXXXX/XXXXXXXXXX" ads:loadAdOnCreate="true" > </com.google.android.gms.ads.AdView> 

    Intenté cambiar la declaración del espacio de nombres pero apenas no trabaja. Fijé esto especificando un valor de la altura para el adView en vez de wrap_content . Esto funciona para mi

     <com.google.android.gms.ads.AdView android:id="@+id/adView2" android:layout_width="match_parent" android:layout_height="50dp" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:layout_gravity="center|bottom" ads:adSize="BANNER" ads:adUnitId="@string/banner_ad_unit_id" /> 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.