(출처 : 구글 이미지 검색)
안녕하세요 철사마입니다.
오늘은 오랜만에 Unity 개발에 대해서 유용한 팁을 소개해 드리려고 합니다.
모바일 게임을 만들면 광고가 아주 중요하다는 것을 아실 것입니다.
무료 게임으로 유저에게 부담을 덜어주는 대신 개발자에게 수익을 얻을 수 있는 방법이라 유저와 개발자가 서로 윈윈할 수 있는것이 바로 광고 모델인 것 같습니다.
수많은 광고 플랫폼이 있지만 그중에 Admob 광고는 실제 수익적인 면에서 상당히 매력적인 플랫폼입니다.
게다가 Google거라서 신뢰가 좀 되기도 합니다. ^~^;
(출처 : 구글 이미지 검색)
홈페이지(https://www.google.co.kr/admob/) 입니다.
혹시 계정이 없으면 새로 하나 만들어보세요.
가입도 무료, 광고 ID 생성방법 또한 매우 쉽습니다.
광고 형태는 총 3가지로 구분할 수 있습니다.
1. 일반배너 : 항상 하단이나 상단에 배치되는 띠배너를 의미합니다.
2. 전면배너 : 가끔 팝업으로 뜨는 전면 배너입니다.
3. 동영상 : 새로 추가된 건데 동영상 광고입니다.(이건 미디에이션이라고 해서 타 플랫폼 계정을 추가할 수 있습니다.)
메인 페이지 > 수익창출 탭에서 3가지 광고 형태를 생성할 수 있습니다.
이미 출시했거나, 아직 출시하지 않은 앱에 대해서 등록이 가능합니다.(안드로이드, iOS 모두 가능)
그리고 추가한 앱에 대하여 자유롭게 광고 형식을 추가할 수 있습니다.
그럼 애드몹에 광고 형식 추가 방법은 여기까지 하겠습니다.(이부분은 쉬우니 금방 하실 수 있을 거에요)
이제부터 중요한 Unity에서 어떻게 추가하는지 설명을 하려고 합니다. :)
우선 설명드리고 싶은 부분은...
Admob 공식 사이트에서는 Unity 기반에서 설정하는 방법이 좀 난해하게 되어 있습니다. 네이티브 기반으로 설명이 되어 있어서요
아마 안드로이드 스튜디오를 기반으로 설명을 해서 그런건 아닐까 합니다. Unity에 대한 배려가 좀 부족합니다.
그러나!!!
Unity에서 설정을 매우 쉽게 하는 방법이 있습니다.
커스텀패키지를 설치하면 바로 적용이 될 수 있도록 착한분(?)들이 만들어 주셨어요 ^^
자료는 여기 링크를 참고하시면 됩니다.
https://github.com/googleads/googleads-mobile-unity/releases/tag/v3.0.4
다운로드 합니다.(GoogleMobileAds.unitypackage)
다운로드를 받으셨으면 이제 Unity를 구동합니다.
해당 패키지를 Unity > Assets > Import Package > Custom Package 메뉴를 선택하여 설치합니다.
그럼 아래와 같이 Import 정보가 나옵니다. 모두 Import 합니다. (저는 이미 설치를 해서 new가 안나오는데 처음 깔면 new가 뜹니다.)
이제 준비가 모두 끝났습니다.
간단한 코딩을 통하여 구동을 해보도록 하겠습니다.
새로운 C# 파일을 생성합니다.
아래는 구동을 위한 소스코드입니다.
일반 배너, 전면 배너 두가지 입니다.(동영상은 어떻게 하는지 아직 모르겠네요;;)
<전면배너>
using GoogleMobileAds.Api; // Admob API를 쓰기 위해 설정해 둡니다.
InterstitialAd mInterstitialAd = null; // 전면광고 변수
public string mInterstitialAd_Key; // 전면배너 Key (이렇게 전역변수로 해 놓으면 Unity에서 값을 쉽게 넣을 수 있어서 편합니다. )
string SEE_YOUR_LOGCAT_TO_GET_YOUR_DEVICE_ID = "디바이스 ID";
void Awake() // 제일 먼저 호출되는 함수입니다.( Start 보다 빠릅니다 )
{
// 전면 광고 id 등록
mInterstitialAd interstitial = new InterstitialAd(mInterstitialAd_Key); // 광고 ID로 API를 세팅합니다.
// 애드몹 리퀘스트 초기화
AdRequest request = new AdRequest.Builder()
.AddTestDevice( AdRequest.TestDeviceSimulator ) // Simulator.
.AddTestDevice( SEE_YOUR_LOGCAT_TO_GET_YOUR_DEVICE_ID) // My test device.
.Build();
// 테스트 할 때는 테스트 디바이스로 등록을 해야한다고 합니다. 테스트를 상용으로 하면 광고가 안나올 수 도 있다고 하더군요.
// AdRequest request = builder.Build(); <-- 실제 빌드시에는 이렇게 바꿔줍니다.
// 애드몹 전면 광고를 로드합니다.
mInterstitialAd.LoadAd( request );
}
void Start()
{
// 밑에 부분은 앱 실행 부분에 두면 광고가 안나온다. 실행 후 약간 얼마 뒤로 미루는게 좋다고 합니다.
// 로드 되어 있다면 광고 보여줌
if ( mInterstitialAd.IsLoaded() )
{
mInterstitialAd.Show();
}
}
<일반배너>
using GoogleMobileAds.Api; // Admob API를 쓰기 위해 설정해 둡니다.
BannerView mBannerView = null; // 배너 출력
public string mBannerView_Key; // 배너 Key
string SEE_YOUR_LOGCAT_TO_GET_YOUR_DEVICE_ID = "디바이스 ID";
void Awake() // 제일 먼저 호출되는 함수입니다.( Start 보다 빠릅니다 )
{
// BannerView(애드몹 사이트에 등록된 아이디, 크기, 위치) / AdSize.SmartBanner : 화면 해상도에 맞게 늘임, AdPosition.Bottom : 화면 바닥에 붙음
mBannerView = new BannerView(mBannerView_Key, AdSize.SmartBanner, AdPosition.Bottom);
// 애드몹 리퀘스트 초기화
AdRequest request = new AdRequest.Builder()
.AddTestDevice( AdRequest.TestDeviceSimulator ) // Simulator.
.AddTestDevice( SEE_YOUR_LOGCAT_TO_GET_YOUR_DEVICE_ID) // My test device.
.Build();
// 테스트 할 때는 테스트 디바이스로 등록을 해야한다고 합니다. 테스트를 상용으로 하면 광고가 안나올 수 도 있다고 하더군요.
// AdRequest request = builder.Build(); <-- 실제 빌드시에는 이렇게 바꿔줍니다.
// 애드몹 배너 광고를 로드합니다.
mBannerView.LoadAd(request); //배너 광고 요청
}
void Start()
{
mBannerView.Show(); // 배너 광고 출력
}
처음에 Unity에 Admob을 설정할 때 가이드가 없어서 매우 난감했는데요, 커스텀 패키지를 활용하니까 매우 작업이 쉬워졌습니다. ^^
소스로 보여드린건 샘플에 불과하지만, 이 샘플을 실제 게임에 어떻게 붙여서 자연스럽게 구성할지는 다시 고민을 해야겠지요?
참고로!!
잘 되다가 안되는 경우가 종종 있습니다.
아마도 광고 물량이 100% 수신되는게 아닌 것 같아요.
오류인줄 알고 한참을 봐도... 소스는 이상이 없는데 ^^;;;;
제 개발력의 한계로 여기까지 파악이 됩니다.. (전 아직 로그를 출력해서 볼 실력이 안됩니다. 버그 나면 엄청 당황스러움...)
그럼 다음에 또 재미있는 팁으로 다시 올려드릴게요!!
감사합니다.
먹는 사진 다 올리는 먹는 즐거움, 먹방 펜페이지에 놀러오세요 ^-^
직접 해보고 추천하는 게임한당 펜페이지, 좋아요 하시고 간단 리뷰 스크랩하세요 ^-^
'개발이야기' 카테고리의 다른 글
[Unity이야기]초보자를 위한 Unity 공부하기 - NGUI 버그 쉽게 수정하기 (0) | 2016.12.13 |
---|---|
[Unity이야기]초보자를 위한 Unity 공부하기 - Unity에 버튼 클릭이벤트 설정하기 (0) | 2016.12.13 |
[이용팁] 구글 플레이 연결된 앱 세이브 데이타 파일 삭제하기[Google Play, Save Data ,TIP] (2) | 2016.06.01 |
[이용팁] 구글 플레이 연결된 앱 정보 삭제하기[Google Play, TIP] (2) | 2016.06.01 |
[Unity이야기]초보자를 위한 Unity 공부하기 - 유니티 최신버전(5.3)이상에서 빌드옵션이 없어졌다구요? (5) | 2016.02.18 |