“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
디폴트로 정해지는 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 } )
오늘의 튜토리얼은 여기까지 입니다.
질문이 있으시면 댓글에 남겨 주세요.
새해 복 많이 받으세요.
'Corona SDK > Corona Doc' 카테고리의 다른 글
Pinch Zoom Rotate 구현하기 - 3/11 - (0) | 2013.01.29 |
---|---|
Pinch Zoom Rotate 구현하기 - 2/11 - (0) | 2013.01.29 |
Pinch Zoom Rotate 구현하기 - 1/11 - (0) | 2013.01.26 |
코로나에서 time, date 다루기 (0) | 2013.01.18 |
Multi-Element Physics Body 다루기 (0) | 2013.01.11 |
코로나의 Holiday Gifts : Android Push Notification 등 등 (0) | 2012.12.30 |
iOS 에 구글 맵이 돌아왔다. (Corona의 구글 맵 지원 기능 소개) (2) | 2012.12.19 |
간단하게 Device 분별하는 예제 (0) | 2012.12.13 |
다양한 디바이스 해상도에 맞게 이미지 표시하기 - config.lua file- (0) | 2012.12.06 |
physics engine (물리엔진)의 새로운 기능 event.contact 소개 (0) | 2012.11.29 |