반응형
블로그 이미지
개발자로서 현장에서 일하면서 새로 접하는 기술들이나 알게된 정보 등을 정리하기 위한 블로그입니다. 운 좋게 미국에서 큰 회사들의 프로젝트에서 컬설턴트로 일하고 있어서 새로운 기술들을 접할 기회가 많이 있습니다. 미국의 IT 프로젝트에서 사용되는 툴들에 대해 많은 분들과 정보를 공유하고 싶습니다.
솔웅

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함

카테고리

내 앱에 애플의 iAds 광고 달기

2013. 1. 3. 09:44 | Posted by 솔웅


반응형

Posted on . Written by

“Show me the money!” — Cuba Gooding Jr. as Rod Tidwell in “Jerry McGuire”



Corona Labs 연말연시 선물중 하나가 애플 iAds 를 제공하게 된 것입니다. Project Gluon로 알려진 Corona SDK 플러그 인 시스템으로 만들어진 플러그인 중에 iAds 가 첫번째로 선보이는 플러그인입니다. iAds 는 daily build 992 이 후의 버전에서 사용 가능합니다.


Setup Simplified!


만약 애플의 어떤 기능을 사용하려고 하신다면 그 과정이 쉽지만은 않을 것이라는 걸 아실 겁니다. 코로나에서 제공하는 iAds 를 세팅하는 것은 놀라울 정도로 간단합니다. download 하기 위해 certificate 도 필요없고 인스톨하기 위한 provisioning profile들도 필요 없습니다. 그리고 iTunes Connect 에서 셋업하기 위한 그 까다로운 일도 안 하셔도 됩니다.


첫번째로, 여러분이 하실일은 iTunes Connect 계정으로 가시는 겁니다. “Contracts, Tax and Banking” section에서 iAds 에서 벌어들인 돈을 여러분의 은행계정으로 보낼수 있도록 하기 위해 여러 다양한 contract 에 동의하셔야 합니다.



아마 여러분은 유료 앱에 대한 은행 정보를 이미 셋업 하셨을 겁니다. 만약 지금 만드는 것이 여러분의 첫번째 앱이라면 혹은 지금까지 무료앱만 개발하셨다면 여기서 서류작업을 좀 하셔야 됩니다. 이미 이 부분을 셋업하셨다면 마케팅, finance 같은 다양한 entries 에 대한 contact 정보가 필요할 겁니다. 


그 다음으로는 “Manage Your Applications” section 으로 가세요. 여기서 아셔야 될 것은 이미 만든 앱에는 광고를 삽입할 수 없다는 겁니다. 이미 만든 앱의 새로운 버전을 업로드 하셔야 합니다. 왜냐하면 이미 만들어서 앱 스토어에 있는 앱 안에는 광고 관련 코딩이 안 돼 있을 테니까요.


새 버전 정보를 셋업했으면 “Manage iAds“ 라는 버튼을 보실 수 있을 겁니다. 여러분 앱이 17세 이하에게도 공개하시는 앱이라면 Save를 클릭해 주세요.




애플쪽의 셋업은 이게 다입니다. 이제 여러분 앱쪽으로 옮겨 보죠.

main.lua에서 ads 모듈을 turn on 하셔야 합니다.


local ads = require("ads")
 
local function adListener(event)
local msg = event.response
if event.isError then
-- Failed to receive an ad, we print the error message returned from the library.
print(msg)
end
end
 
ads.init( "iads", "com.yourcompany.yourappid", adListener )


com.yourcompany.yourappid setting 은 여러분 앱에 대한 bundle ID 입니다. iOS provisioning Portal 에서 셋업한 내용이 되겠죠. 광고를 보이고 보이지 않고 하기 위해 ads.init()를 사용하셔야 합니다. listener 함수에 테스트할 수 있도록 코딩을 해 넣으세요. 


iAds Functions


iAds 는 Corona SDK 의 ad system을 사용합니다. 아래 두 함수를 이용하실 수 있습니다.

  • ads.show()
  • ads.hide()


ads.hide() function은 보시면 아시겠죠? 광고를 화면에서 안 보이도록 할 때 사용하는 겁니다.

ads.show() function은 광고를 보이도록 할 때 사용하는 것이죠. 이 함수는 몇개의 파라미터를 사용해야 되는데요. positioning 등의 기능을 하도록 하기 위해 ad type 와a table of parameters들이 필요합니다.


ad type parameter 에는 아래 두가지 중 하나를 사용하실 수 있습니다.

  • banner
  • interstitial


Banner ads는 앱의 top 이나 bottom 에 모일 일반적인 사각형 앱을 말합니다. iAds 는 모든 디바이스에서 사용하실 수 있습니다. 다른 ad type으로 interstitial가 있는데요. scene들이나 level 들 사이에 표시될 fullscreen 광고가 그것입니다. IMPORTANT NOTE:interstitial ads는 iPad 에서만 가능합니다. iPhone 이나 iPod 에서는 사용하실 수 없습니다.

디폴트로 정해지는 positioning 도 괜찮다면 간단하게 아래 코드를 넣으시기만 하면 광고가 보일겁니다.


ads.show( "banner" )


iPad 앱을 개발하시고 fullscreen interstitial ad를 넣으시려면 아래와 같이 하세요.

ads.show( "interstitial" )


InMobi 와 Inneractive 와는 다르게 iAds 에서는 refresh time 을 control 하실 수 없습니다. 그 부분은 애플에서 관리합니다. interstitial ads 는 fullscreen 이기 떄문에 더군다나 이 기능이 필요 없구요. 여러분이 콘트롤 할 수 있는 것은 광고의 top-left 위치에 대한 x,y 값입니다. Ads 는 pixel 이 아니라 point 로 관리 됩니다. 만약 여러분 앱이 320X480 이라면 Retina device 에서는 두배크기로 보일 겁니다. 그리고 위치도 320X480 에 relative 된 위치가 사용될 겁니다.

배너 광고의 위치를 정하시려면 options table 에 x,y 파라미터에 값을 넣어 주시면 됩니다.

ads.show( "banner", { x=0, y=0 } )


이렇게 하면 디바이스의 top left 에 배너가 걸릴 겁니다. 이 값은 디폴트 값입니다. 애플은 iPhone/iPod 에 두가지 종류의 배너를 제공하고 iPad 에도 두가지 종류의 광고를 제공합니다.

이 광고들의 사이즈는 아래와 같습니다.

  • iPhone Portrait = 320×50
  • iPhone Landscape = 480×32
  • iPad Portrait = 768×66
  • iPad Landscape = 1024×66


값들이 달라서 광고를 위치지울 떄 좀 헛갈리실 수도 있습니다. 어떤 경우라도 width 는 full 이기 때문에 x 값은 0이외에 다른 값을 넣을 필요가 없을 겁니다. 만약 화면 아래쪽에 광고를 넣으시려면 코딩할 떄 조금 생각하셔야 할 겁니다. “Device Detection on Steroids” 에서 소개해 드린 device detection module 을 사용하신다면 아래처럼 하시면 될 겁니다.


local adY = display.contentHeight - 66
 
if not device.is_iPad then
if display.contentHeight > than display.contentWidth then
-- portrait
adY = display.contentHeight - 50
else
adY = display.contentHeight - 32
end
end
 
ads.show( "banner", { x=0, y=adY } )



오늘의 튜토리얼은 여기까지 입니다.

질문이 있으시면 댓글에 남겨 주세요.

새해 복 많이 받으세요.


반응형