2013-02-10 3 views
2

왜 이런 일이 일어나고 있는지, 나는 그것이 나를 미치게 만듭니다. MoPub를 통해 사용하는 모든 광고 네트워크 중에서 AdMob은 충분한 공간이 없다고 주장하면서 광고를 게재하지 않는 유일한 것으로 보입니다. MoPub에는 휴대 전화 광고 단위와 태블릿 광고 단위가 있습니다. 특정 로그는 다음과 같습니다.MoPub를 통한 AdMob - 광고를 표시 할 공간이 충분하지 않습니다.

02-10 09:44:44.094: I/Ads(9363): Request scenario: Online server request. 
02-10 09:44:50.114: D/webviewglue(9363): nativeDestroy view: 0x678b8418 
02-10 09:44:50.124: I/Ads(9363): onReceiveAd() 
02-10 09:44:50.124: D/MoPub(9363): Google AdMob load succeeded. Showing ad... 
02-10 09:44:50.124: D/MoPub(9363): adLoaded 
02-10 09:44:50.124: D/MoPub(9363): Tracking impression for native adapter. 
02-10 09:44:50.144: W/Ads(9363): Not enough space to show ad! Wants: <969, 119>, Has: <800, 1073741823> 
02-10 09:44:50.144: W/Ads(9363): Not enough space to show ad! Wants: <969, 119>, Has: <800, 1073741823> 

광고가로드되었지만 표시되지 않습니다. 분명히 더 많은 공간이 필요하기 때문입니다. 배너 광고 만 표시하고 싶습니다. Nexus 7을 테스트 중입니다.

내가 사용하는 다른 네트워크는 LeadBolt 및 Millennial입니다. 그들은 동일한 공간에서 배너 광고를 잘 표시합니다.

내 자바 코드

는 (화면 크기에 따라 전화 또는 태블릿)를 표시 할 광고 단위 선택 :

//Advert if statement 
    Configuration config = getResources().getConfiguration(); 

      if ((config.screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == 
          Configuration.SCREENLAYOUT_SIZE_LARGE) { 
        //Tablet 
        mAdViewTabletLarge = (MoPubView) findViewById(R.id.LargeAdvert); 
          mAdViewTabletLarge.setAdUnitId("id here"); 
          mAdViewTabletLarge.setVisibility(Application.getAdVisibiltyForEdition(this.getApplicationContext())); 
          mAdViewTabletLarge.loadAd(); 
      } 
      else if ((config.screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == 
            Configuration.SCREENLAYOUT_SIZE_XLARGE) { 
        //Tablet 
        mAdViewTabletXLarge = (MoPubView) findViewById(R.id.LargeAdvert); 
          mAdViewTabletXLarge.setAdUnitId("id here"); 
          mAdViewTabletXLarge.setVisibility(Application.getAdVisibiltyForEdition(this.getApplicationContext())); 
          mAdViewTabletXLarge.loadAd(); 
      } 
      else { 
        //Phone 
        mAdViewPhone = (MoPubView) findViewById(R.id.LargeAdvert); 
          mAdViewPhone.setAdUnitId("id here"); 
          mAdViewPhone.setVisibility(Application.getAdVisibiltyForEdition(this.getApplicationContext())); 
          mAdViewPhone.loadAd(); 
      } 

누구나 무슨 일이 일어나고 있는지에 대한 어떠한 단서있어?

+0

어리석은 질문을 제거되지 않았 음을 확인 하지만 * *이 얼마나 많은 공간이 있습니까? 969x119가 없다면 단순히 표시되지 않을 것입니다. 로그에 따르면 가로 800 (충분하지 않음) 및 세로의 임의 오버플로가있는 숫자가 있습니다. 'getWidth()'와'getHeight()'를 로깅하면 무엇이 드러날까요? – Geobits

+1

AdMob은 다른 네트워크보다 AdMob에 대해 더 잘 알고 있습니다. 다른 사람들은 여전히 ​​광고를 게재하고 앱이 그것을 확장 할 수있게합니다.AdMob은 규칙/가이드 라인을 엄격하게 준수하기를 원합니다. – Geobits

+0

나는 그것이 충분한 공간을 가지고 있지 않다는 것을 알지만, 배너 광고를 위해서 왜 그렇게 큰 광 고라는지 알 수가 없다. MoPub에서는 타블렛 광고를 728x90으로 설정했습니다. 그게 내가 가진 유일한 통제 야. 내가 생각하기에는 10 인치짜리 태블릿이지만 7 인치짜리 태블릿에는 충분한 공간이 없을 것입니다. –

답변

1

너비가 600dp 인 세로 모드의 Nexus 7에서 728x90 dp 광고가 너무 크기 때문에 오류가 발생합니다. 종횡비를 유지하기 위해 높이를 조정하지 않는 한 다른 네트워크가 728x90 이미지를 600x90에 맞추는 방법을 상상할 수 없습니다. AdMob은 그런 광고를 확장하지 않고 대신이 경고를 throw합니다.

태블릿 광고는 한 가지 크기 일 수있는 Mopub 제한 사항처럼 들립니다. Mopub 프런트 엔드 설정에 익숙하지 않지만 7 인치 태블릿 용으로 작은 크기의 두 번째 광 고를 만들고 런타임시 화면 너비를 확인하여 표시 할 광고를 결정하십시오.

+0

나는 그것이 사실이라고 상상할 수있다. 다른 광고는 확장되지 않으며 광고는 화면에 맞지 않습니다. 나는 그것이 허용되어서는 안된다는 것을 알고 있지만, 당신이 말한 것처럼, MoPub은 오직 하나의 수치만을 허용합니다. 어쨌든 728x90 광고는 10inch 태블릿에만 표시되며 350x50 전화 광고는 넥서스 7에 표시됩니다. 이상적이지만 잘합니다. 나의 다음 호는 천년 광 고를 클릭하는 것이 왜 절대적으로 필요한지를 알아내는 것이다. 문제 후 문제! –

+0

7 인치 태블릿의 경우 적절한 크기가 468x60입니다 .Mopub이 제공하지 않는 것에 조금 놀랐습니다 : Re : Millennial, 나는 그 문제에 대한 가능한 설명을하고 있습니다. API 17 또는 18 포함. API 16 이후에 광고를 클릭해도 아무런 문제가없는 문제가 있습니다. –

+0

내 Nexus 7은 API 17 기기이므로 안심해도됩니다. 도움을 주셔서 감사합니다. –

1

MoPub에서 320x50 크기의 광고 단위와 728x90 크기의 광고 단위를 만들고 기기의 너비를 감지 한 다음 기기의 너비에 따라 조건부로 해고합니다.

화면 너비가 728 픽셀보다 작 으면 320x50 크기의 광고 단위.이 큰 경우

는, 리더 보드 광고 단위를 사용합니다.

+0

그래, 원래 생각했지만 LARGE-XLARGE 조건문을 더 쉽게 발견했다. 이러한 문제를 디버깅하는 동안 장치의 화면 너비를 잡아서 if 문을 작성하여 코드를 업데이트하는 방법을 배웠다. –

+0

필자는 admob이 969의 장치 너비를 요구하기 때문에 작동하지 않을 것이라는 것을 깨달았습니다. 너비가 970을 초과하면 태블릿 광 고를 표시해야합니다. 7Inch 탭은 장치 너비가 넘다. 728 그래서 같은 문제가 발생할 것입니다. –

3

임 프로 같은를 받고 현재 Eclipse Juno, Service Release 1을 사용하고 있습니다.이 버전에는 @dimension/... 참조가 xml 레이아웃 파일에 자동으로 추가됩니다.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    ... 
    ... 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    ... 
    ... 

@dimension/... 참조를 제거하면 오류가 사라지고 광고가 표시됩니다. 오류를 무시하고 @dimension/... 매개 변수 내에 광고를 표시하는 트릭이 있는지 확실하지 않습니다. 누구든지 알고 있다면 공유하십시오!

+0

그게 다야! 감사!! – ercan

1

이 오류의 원인 :

상위 뷰에서 삭제 된 광고를 게재하려는보기.

<LinearLayout 
     android:id="@+id/layoutAdmobGame" 
     android:layout_width="wrap_content" 
     android:layout_height="52dp" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentRight="true" 
     android:background="@android:color/transparent" 
     android:gravity="center_horizontal" 
     android:orientation="vertical" > 
</LinearLayout> 
부모 뷰 내에서

이하고

관련 문제