아직 완벽하진 않지만 대강 필요한 기능을 구현한 후 내 앱에 Admob Banner를 배치하고자 했다. 처음에는 R symbol을 못찾아 build 자체가 안되어 그 해결책을 찾아보니 xmlns:ads 항목을 다음과 같이 xml layout에 기록하면 된다고 하여 해봤다. 그리고 일단은 build가 되었다. 그런데...

<com.google.android.gms.ads.AdView
    xmlns:ads=http://schemas.android.com/apk/lib/com.google.ads <!-- 이로서 R symbol을 못 찾는 error는 해결하긴 했지만 adSize was missing error가 발생하였다. -->
    android:id="@+id/adViewAdMob03"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_centerHorizontal="true"
    android:layout_alignParentBottom="true"
    ads:adSize="BANNER"
    ads:adUnitId="@string/banner_ad_unit_id_imageview">
</com.google.android.gms.ads.AdView>

  위 사진과 같이 'Required XML attribute "adSize" was missing' error가 발생하면서 banner가 보여야 할 부분이 저렇게 까맣게 처리되어 출력되는 게 아닌가? 다시 구글링을 해보니 중간의 '~/lib/~'를 '~/libs/~'로 고쳐보라고 하는 글이 많아 그대로 해 봤지만 이 역시 동작하지 않았다. 이제 어쩌나 싶었는데, stackOverflow에 한 답변이 눈에 띄었다.

최신 Admob SDK는 다른 namespace를 사용합니다. 
xmlns:ads="http://schemas.android.com/apk/res-auto

[출처] StackOverflow - AdMob in android “AdView missing required XML attribute 'adSize' ”
          (http://stackoverflow.com/questions/7185335/admob-in-android-adview-missing-required-xml-attribute-adsize)

  아무래도 SDK가 update 된 모양이다. 이대로 해보니 이젠 된다. 개발을 하면 할수록 느끼는 거지만 변화를 쫓는데 힘들어하는 사람이라면 (다른 직군도 그렇겠지만 유독 더) 어려운 일이 개발이지 않을까 싶다. 그나저나 새로나온 Gradle 서적 서평도 기록해야 하는데 정초부터 집안에 일이 많아 아직 1/3밖에 읽지 못했다. 지금까지 읽은 내용만 봐도 정리가 잘 되어 좋은 책이다 싶긴 한데 이벤트로 당첨되어 받은 책이라 빨리 끝까지 읽고 서평을 써야겠다.

 

+ Recent posts