2011-03-18 26 views
16

Hola trato de hacer algún programa de ejemplo que muestra anuncios en el teléfono Android, y trato de probarlo en el emulador de v2.2 Todo en código parece estar bien, pero en AdListener depurador dice que:Admob - Ningún anuncio para mostrar

El mensaje de respuesta es cero o nulo;
on FailToReceiveAd (No hay anuncio para mostrar).

¿Hay alguna forma de que sea mi culpa? ¿Alguien se encontró con el mismo problema? Heres el código Manifiesto:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.AdTest" 
android:versionCode="1" 
android:versionName="1.0"> 
<application android:icon="@drawable/icon" android:label="@string/app_name"> 
    <activity android:name=".AdTest" 
       android:label="@string/app_name"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
<!-- AdMobActivity definition --> 
<activity android:name="com.google.ads.AdActivity" 
android:configChanges="orientation|keyboard|keyboardHidden" /> 
</application> 
<uses-sdk android:minSdkVersion="7"></uses-sdk> 
<!-- AdMob SDK requires Internet permission --> 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

diseño xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/main" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
> 
<TextView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello" 
/> 
</LinearLayout> 

y Actividad código

package com.AdTest; 
import com.google.ads.*; 
import com.google.ads.AdRequest.ErrorCode; 
import android.app.Activity; 
import android.os.Bundle; 
import android.util.Log; 
import android.widget.LinearLayout; 

public class AdTest extends Activity implements AdListener{ 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    LinearLayout layout = (LinearLayout)findViewById(R.id.main); 
    AdView adView = new AdView(this, AdSize.BANNER, "anonymouse"); 
    // Unit ID is correct, I changed it on purpose while pasting here 
    adView.setAdListener(this); 
    layout.addView(adView); 
    AdRequest request= new AdRequest(); 
    adView.loadAd(request);    
    } 

public void onFailedToReceiveAd(AdView adView) 
    { 
     Log.d("AdListener", "onFailedToReceiveAd"); 
    } 

    public void onFailedToReceiveRefreshedAd(AdView adView) 
    { 
     Log.d("AdListener", "onFailedToReceiveRefreshedAd"); 
    } 

    public void onReceiveAd(AdView adView) 
    { 
     Log.d("AdListener", "onReceiveAd"); 
    } 

    public void onReceiveRefreshedAd(AdView adView) 
    { 
     Log.d("AdListener", "onReceiveRefreshedAd"); 
    } 

    @Override 
    public void onDismissScreen(Ad arg0) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void onFailedToReceiveAd(Ad arg0, ErrorCode arg1) { 
      Log.d("AdListener", "onFailedToReceiveAD"); 

    } 

    @Override 
    public void onLeaveApplication(Ad arg0) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void onPresentScreen(Ad arg0) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void onReceiveAd(Ad arg0) { 
     Log.d("AdListener", "Received succesfully"); 

    } 
} 
+0

's hay alguna manera para que sea mi culpa' Nos don'? Lo sé hasta que veamos tu código. – Aliostad

Respuesta

2

Tengo enfrentar el mismo problema con

on FailToReceiveAd (No hay anuncios para mostrar).

Parece que AdMob no ha enviado contenido de anuncios para nuestra aplicación por algún motivo. Incluso cuando estoy en el modo de prueba todavía no hay anuncios.

Creo mi anuncio de casa en AdMob para verificar mi aplicación. Es una forma más fácil de desarrollar que el modo de prueba.

1

Tuve el mismo problema también. Así que cambié el código para establecer el modo de prueba verdadero, luego el anuncio de prueba Admob comenzó a mostrarse en el emulador. Pruebe esto en su método OnCreate():

LinearLayout layout = (LinearLayout)findViewById(R.id.main);  
AdView adView = new AdView(this, AdSize.BANNER, "anonymouse");  
// Unit ID is correct, I changed it on purpose while pasting here  
adView.setAdListener(this);  
AdRequest request = new AdRequest(); 
request.setTesting(true);  
adView.loadAd(request); 

Si ejecuta este en un dispositivo real y todavía no hay anuncios para mostrar, entonces creo que podría tener algo que ver con Admob tasa de relleno.

+0

Publiqué mi aplicación en Android Market con esta implementación, después de aproximadamente 100 solicitudes, el anuncio real comenzó a aparecer en el dispositivo real, aunque la tasa de relleno era baja (alrededor del 20%). Esto demuestra que el código es correcto, el problema está en el lado de AdMob. –

0

1/obtener la última versión del SDK
2/tratar de demostración admob con su ID de editor
3/probarlo en modo de prueba (esto debería funcionar siempre)
4/trate de añadir un poco de anuncios internos de la muestra (que se muestra cuando no hay ningún otro anuncio disponible)
5/tratar de cambiar las palabras clave

en general, las impresiones de AdMob error detallado para iniciar la sesión (ID faltante, la actividad que falta en el manifiesto, etc).

0

Realicé la integración admob y se ejecuta en el dispositivo y en el emulador.

así, por favor intente más adelante código:

creo que usted tiene que quitar Vista de Texto de la principal.xml

y también intente esto:

1) Crear nueva aplicación en tu admob a/c 2) a continuación, sólo tiene que sustituir el ID de aplicación anterior por uno nuevo

probarlo hermano.

1

Cambie el modo de prueba a verdadero. Tenga en cuenta que los anuncios no se mostrarán hasta que se hayan realizado al menos 3 intentos de acceso para ese día.

+0

No lo dudo, pero ¿tiene un enlace donde dice que los anuncios no se muestran hasta que se realicen 3 intentos de acceso para ese día? – CrackerJack9

+0

lo siento, no recuerdo dónde lo leí, tal vez en el SDK mismo. –

1

Parece que el último admob SDK 4.0.4 no muestra anuncios en dispositivos de 1.5.

En el emulador funciona bien para 1.6+, pero no 1.5.

Creo que es de la nueva publicidad cruzada con AdSense. Por lo que puedo decir, el SDK ahora incluye una vista web como el componente visual de la vista para que pueda publicar los diferentes tipos de anuncios. Una mirada cercana al registro muestra WebView.multitouch habilitado, ya que 1.5 no es compatible con multitouch (para los desarrolladores de los Estados Unidos en Java) debido a que Apple arrojó sus juguetes del cochecito y tiene un dummyspit (entiendo que ellos creen que solo ellos pueden use dos dedos a la vez ...) y quizás habilitar multitouch en la vista web cause una excepción interna y la vista nunca se cree, y por lo tanto no puede recibir la respuesta HTML del servidor http de admob.

también ver este link

2

que implementa AdListener en mi actividad y establecerlo como el oyente AdView, luego añadió lo siguiente

public void onFailedToReceiveAd(Ad arg0, ErrorCode arg1) 
{ 
    Log.d("AdMob", "Failed to receive an Ad. Requesting a new one..." + arg1); 
    arg0.stopLoading(); 
    arg0.loadAd(new AdRequest()); 

} 
+1

¿Qué hay de la redundancia ciclyc? Te llamas a ti mismo con este código si falla - bucle infinito. – Kostadin

0

también tengo este problema. Puede intentar personalizar la solicitud antes de cargarla. De esta manera:

AdRequest re = new AdRequest(); 
//re.setTesting(true); 
re.setGender(AdRequest.Gender.FEMALE); 
adview.loadAd(re); 

pongo mi ejemplo, archivo APK y el código fuente aquí, puede intentar:

Add Google Admob in Android Application

Cuestiones relacionadas