2011-03-25 705 views
6

he estado buscando la respuesta por un tiempo, pero no puedo encontrar el mismo conjunto de circunstancias, por lo que recurren a ti por ayuda ...servidor de anuncios de AdMob en Android a través de Google SDK

Estoy tratando de usar el SDK de google (no el adkb sdk) para poner anuncios en mi aplicación de Android. Cuando se ejecuta la aplicación en el emulador, los mensajes de registro que veo son:

03-25 22:35:17.457: INFO/Ads(853): adRequestUrlHtml: [ contains two <script> tags ] 
03-25 22:35:21.028: INFO/Ads(853): Received ad url: [ big long url ] 

A veces me sale:

03-25 22:35:21.828: INFO/Ads(853): onFailedToReceiveAd(No ad to show.) 

la que tal vez pueda entender, pero también me sale:

03-25 22:50:56.817: INFO/Ads(1084): onFailedToReceiveAd(A network error occurred.) 

Si toco la "url larga grande" arriba en el navegador de mi computadora de escritorio, obtengo un anuncio aproximadamente la mitad del tiempo y en blanco el otro 1/2. (Hola, Dish Network) Nunca me da un error.

Puedo navegar por la web con el navegador del emulador, por lo que el componente de red funciona.

La aplicación tiene privilegios de Internet.

Me siento frustrado por la falta de código de muestra utilizable: veo mucha gente usando el antiguo SDK de admob y algunos fragmentos de código de personas que usan el SDK de Google, pero no un ejemplo/tutorial de sopa de nueces .

He comentado el resto de mi código, fue en vano. Aquí está la porción principal de código:

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    AdView adView = new AdView(this, AdSize.BANNER, ADMOB_PUBLISHER_ID); 
    LinearLayout layout = (LinearLayout)findViewById(R.id.mainLayout); 
    layout.addView(adView); 
    AdRequest req = new AdRequest(); 
    // req.setTesting(true); 
    adView.loadAd(req); 
} 

Mi manifiesto incluye lo siguiente:

<activity android:name="com.google.ads.AdActivity" 
      android:configChanges="keyboard|keyboardHidden|orientation"/> 

y

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

Mi main.xml contiene este diseño de la página:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:background="@color/yellow" 
android:id="@+id/mainLayout" 
> 

admob support no ha respondido.

¿Alguien puede ayudarme o al menos referirme a la guía perfecta de google sdk para admob noobs?

Gracias!

Respuesta

0

intento de añadir esta línea permiso para presentar su AndroidManifest.xml

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

Amigos, me encuentro con el mismo problema hoy en día. Seguí las instrucciones de Google. Finalmente lo tengo. Puede personalizar la solicitud de carga de llamadas. De esta manera:

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

Puede probar mi ejemplo, puse mi código fuente y apk aquí:

Add Google Admob in Android Application

1

has añadir attr.xml archivo ???

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <declare-styleable name="com.google.ads.AdView"> 
    <attr name="adSize"> 
     <enum name="BANNER" value="1"/> 
     <enum name="IAB_MRECT" value="2"/> 
     <enum name="IAB_BANNER" value="3"/> 
     <enum name="IAB_LEADERBOARD" value="4"/> 
    </attr> 
    <attr name="adUnitId" format="string"/> 
    </declare-styleable> 
</resources> 
Cuestiones relacionadas