[유니티] 광고 Ads 달기(Unity ads)

프로그래밍/유니티2018. 5. 10. 20:03

안녕하세요. 개발자 드리머즈입니다.


안드로이드 스튜디오에서 안드로이드 어플을 만들 때는 그냥 구글 Admob 광고를 달면 되지만 유니티로 게임을 만들 때 광고를 어떻게 달아야하나 고민했습니다.


찾아보니 유니티에서 안드로이드/애플/자마린 등에서 사용할 수 있는 Unity ads를 제공하여 이를 이용할 수도 있고(https://unity3d.com/kr/services/ads/quick-start-guide)

또는,

유니티에서 구글 Admob 광고를 달 수 있도록 추가 애셋을 설치하여 진행하면 됩니다.(https://developers.google.com/admob/unity/start)


Google Ads(Admob) VS Unity Ads



어떤 걸 사용할까 고민하다가.. Unity Ads를 추천하는 글도 있고 다양한 경험을 해보고자 유니티 광고를 제가 만드는 게임에 넣어봤습니다.


Unity Ads를 사용할 경우 엄청 간단합니다.



먼저 유니티 에디터에서 우측의 Service 탭에서 ADS를 클릭하고 위 사진처럼 활성화 토글 스위치를 Enable 시켜야 합니다.

그리고 유의해야할 부분은 Test mode의 Enable test mode가 체크되면 테스트용 광고가 보여진다는 것입니다. 비디오 테스트 광고의 경우 짧아서 테스트하기가 좋으나 어플을 릴리즈할 때는 반드시 Enable test mode를 해제하여 광고가 정상적으로 나가게 해야 합니다.


이제 남은 부분은 스크립트에 코드 몇 줄 추가하는 것입니다.

공식홈에 잘 설명되어 있는데 그 코드를 가져왔습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
using UnityEngine;
using UnityEngine.Advertisements;
 
public class UnityAdsExample : MonoBehaviour
{
  public void ShowRewardedAd()
  {
    if (Advertisement.IsReady("rewardedVideo"))
    {
      var options = new ShowOptions { resultCallback = HandleShowResult };
      Advertisement.Show("rewardedVideo", options);
    }
  }
 
  private void HandleShowResult(ShowResult result)
  {
    switch (result)
    {
      case ShowResult.Finished:
        Debug.Log("The ad was successfully shown.");
        //
        // YOUR CODE TO REWARD THE GAMER
        // Give coins etc.
        break;
      case ShowResult.Skipped:
        Debug.Log("The ad was skipped before reaching the end.");
        break;
      case ShowResult.Failed:
        Debug.LogError("The ad failed to be shown.");
        break;
    }
  }
}
cs

길지 않은 코드라 이해가 쉬울 것입니다. 위의 코드 작성 후 버튼이 클릭될 때 ShowRewardedAd()함수가 호출되도록 하면 됩니다.

그러면 광고가(위에서는 비디오 광고를 보여주도록 설정됨) 보여지는데,

사용자가 광고를 다 봤는지 아닌지는 콜백으로 지정한 HandleShowResult에서 판단할 수 있습니다.

사용자가 30초의 광고를 다 봤다면 case ShowResult.Finished:에 해당하니 여기에 보상을 하는 코드를 작성하면 됩니다.




아주 간단한 코드만 추가해도 위 사진처럼 광고가 잘 나옵니다.

(근데 비디오 광고 시청 중에 취소가 안되네요? 흠.. 이에 관해서는 추가로 알아봐야겠습니다)


유니티 대쉬보드에서 Operate 탭을 클릭하면 Unity Ads로 인한 수입 등을 확인할 수 있습니다.(https://operate.dashboard.unity3d.com/)

(Acquire는.. 광고주를 위한 메뉴이니 주의하세요)



Operate에서 Invoicing(지급?출금?)을 클릭하면 출금과 관련된 정보를 볼 수 있습니다.


흠.. 구글 광고랑 비슷한데

약간 다르네요.


매번 지급 받기 위해

인보이스 양식을 작성해서

PDF파일로 저장하고

메일이나 우편으로 보내야 하나 보내요??? ㅡ.ㅡ;;


엑셀로 된 인보이스 양식을 보겠습니다.



제가 처음 보기에는..

상당히 복잡하고

구글 Admob 사용시에 신경 안써도 됐던 많은 항목들을 적어야 하나봅니다.

또 영어로 작성해야 한다는 것도 큰 단점입니다.


이 부분에서 큰 실망을 하게 됐네요.


불행중 다행으로?

유니티 애즈 코리아에.. 인보이스 작성법과 관련한 자세한 내용이 있습니다.

http://www.unityads.co.kr/?p=1105



흠..

구글 애드센스처럼 자동으로 처리되게 해놔야지..

불편하네요.


Unity Ads 사용이 쉬워서.. 이걸 사용해봤는데

지급 받는 과정이 껄끄럽고

동영상 광고 시청 중간에 취소가 안되는 것 같아

(코드 수정하면 취소 된다고 합니다~)

구글 Admob을 알아볼 것 같습니다.

참고하시길 바랍니다.


*유니티에 Google Admob 구현 후기

[유니티] 안드로이드 Google Admob 보상형 광고 구현 문제 해결 방법





작성자

Posted by 드리머즈

관련 글

댓글 영역