2017-02-19 2 views
1

J'ai récemment commencé à utiliser des bannières publicitaires admob dans mes applications Android. Cela fonctionne très bien, mais j'ai quelques problèmes. Pour l'instant, j'utilise BANNER, et non SMART_BANNER. Mes bannières fonctionnent sur la plupart des téléphones, sauf pour un petit groupe. Sur mon émulateur, je peux voir que le problème se produit lorsque la bannière est trop grande pour l'écran.Redimensionner bannière admob à la taille de l'écran dans le studio android

J'ai essayé d'utiliser des bannières intelligentes, mais j'ai toujours le même message dans logcat: "bannière a besoin de 340 x 50. Seulement 288x460". Mes bannières fonctionnent sur la plupart des écrans de 5 pouces, sauf pour certains, mais lorsque j'essaie l'application sur des écrans de petite taille, la bannière n'est pas visible

Ma question est: comment redimensionner ma bannière pour l'adapter à tous les écrans ? tailles

voici mon code que j'utiliser pour créer bannière publicitaire:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:ads="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" android:layout_height="match_parent"> 

    <android.support.percent.PercentRelativeLayout 

     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:paddingBottom="@dimen/activity_vertical_margin" 
     android:paddingLeft="@dimen/activity_horizontal_margin" 
     android:paddingRight="@dimen/activity_horizontal_margin" 
     android:paddingTop="@dimen/activity_vertical_margin" 
     android:id="@+id/timer1background2" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true"> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentTop="true" 
      android:layout_centerHorizontal="true" 
      android:layout_marginTop="127dp" 
      android:id="@+id/TimerTextview1" 
      android:textColor="@android:color/black" 
      android:textStyle="normal|bold" 
      app:layout_marginTopPercent="11%" 
      android:text="APP NAME" 
      android:textSize="45dp" /> 

     <Button 
      android:text="Go To Timer 1" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_centerHorizontal="true" 
      android:id="@+id/StartB1" 
      android:textColor="@android:color/background_light" 
      android:background="@color/colorPrimaryDark" 
      android:textStyle="normal|bold" 
      android:textSize="35sp" 
      app:layout_marginTopPercent="33%" 
      app:layout_heightPercent="15%"/> 

     <Button 
      android:text="Go To Timer 2" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_centerHorizontal="true" 
      android:id="@+id/StartB2" 
      android:textColor="@android:color/background_light" 
      android:background="@color/colorPrimaryDark" 
      android:textStyle="normal|bold" 
      android:textSize="35sp" 
      app:layout_marginTopPercent="58%" 
      app:layout_heightPercent="15%"/> 

    </android.support.percent.PercentRelativeLayout> 

    <com.google.android.gms.ads.AdView 
     android:id="@+id/adView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:layout_alignParentBottom="true" 
     ads:adSize="BANNER" 
     ads:adUnitId="MY KEY"> 
    </com.google.android.gms.ads.AdView> 
</RelativeLayout> 

Et:

//Load ads 
MobileAds.initialize(getActivity().getApplicationContext(), "MY KEY"); 

AdView adView = (AdView) myView.findViewById(R.id.adView); 
AdRequest adRequest = new AdRequest.Builder().build(); 
adView.loadAd(adRequest); 

Répondre

0

de la documentation Google pour les annonces, des bannières publicitaires est disponible en tailles particulières, see here, pour une publicité en plein écran, je pense que vous devriez utiliser les annonces interstitielles pour cela. Documented here.

+0

Vous pouvez voir que le WxH minimum pour BANNER est 320x50. Alors, que faire si la taille de l'écran est plus petit que cela? – AndreasWT

+0

C'est le ratio. Si la largeur du périphérique varie, l'affichage de l'annonce l'ajustera. – ADM

+0

Mais quand je fais comme vous le dites, l'annonce n'est pas affichée. Seulement quand l'écran a de la place pour ça. – AndreasWT

0

bannières régulières sont disponibles en taille fixe et vous ne pouvez pas les étendre

Qu'est-ce que vous avez besoin est bannières intelligentes qui remplissent la largeur de l'écran

Regardez this