>

윈도우 유니버셜 앱(UWP)에 광고 다는 법(C++/CX)

광고를 달기 전에

* 여기서 이야기하는 광고는 Microsoft Store Engagement and Monetization SDK(구 Microsoft Advertising SDK) 광고 삽입

* 원래는 pubcenter라는 곳에서 광고 관리를 따로 했으나 올해 4월 1일부터 windows 개발자 센터 대시보드로 통합되었다

* windows 개발자 센터의 계정설정에서 연락처 정보 / 재무 세부 정보를 입력해줘야한다

* 기타 지원되는 광고 플랫폼은 https://msdn.microsoft.com/ko-kr/library/windows/apps/xaml/dn864356.aspx 에서 확인

* 사실 빌드 2016이후 새 글이 올라왔는데 올라온지 얼마 안되어서 아직 영문이다... 원한다면 https://developer.microsoft.com/ko-kr/windows/monetize/ads 에서 확인

* 자세한 내용은 위 사이트에 있는 내용을 읽어보길 권장(사실 이 글보다 저 글이 더 좋음 ㅋㅋㅋㅋ)



일단 아래 주소에서 sdk를 받아 설치한다

https://visualstudiogallery.msdn.microsoft.com/229b7858-2c6a-4073-886e-cbb79e851211



설치를 완료한 다음 프로젝트를 열고 [참조]-[참조 추가]를 누릅니다



[확장]탭에서 체크되어 있는 두가지를 모두 체크합니다(사실 위에꺼만 해도 됩니다)


그리고 xaml을 열어 페이지 코드에 다음과 같이 맨 아래에 적습니다

xmlns:ad="using:Microsoft.Advertising.WinRT.UI라는 코드를 적습니다

이것은 namespace Microsoft.Advertising.WinRT.UI을 ad라는 이름으로 사용한다 라고 선언해주는 거라고 생각하시면 됩니다



예)

<Page
    x:Class="Xbox_Controller_Tester.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:Xbox_Controller_Tester"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:ad="using:Microsoft.Advertising.WinRT.UI"
    mc:Ignorable="d">




그 다음에 광고를 넣을 부분에 다음과 같은 소스코드를 넣는다

<ad:AdControl Width="300" Height="250" AdUnitId="10043121" ApplicationId="d25517cb-12d4-4699-8bdc-52040c712cab" AdRefreshed="Ad_Refreshed" ErrorOccurred="Ad_Error"/>


여기서 AdUnitIdApplicationId는 이따 다루겠지만 현재는 마소에서 공식적으로 테스트할때 쓰는 값을 넣었다

AdRefreshed는 광고를 불러오는데 성공했을때 들어가는 함수

ErrorOccurred는 실패했을때 들어가는 함수이다


광고 크기도 정해져있다

아래 목록에서 선택해서 사용하면 된다


Windows 10 and Windows 8.1:

  • 160 x 600
  • 250 x 250 (Note that very few ads are available in this size. We recommend using other sizes to maximize the fill rate and eCPM.)
  • 300 x 250
  • 300 x 600
  • 728 x 90
  • Windows 10 Mobile, Windows Phone 8.1 and Windows Phone 8:
    • 300 x 50
    • 320 x 50
    • 480 x 80
    • 640 x 100
    그리고 인터넷 연결에 대한 엑세스 권한을 필요로 하기때문에 앱 매니페스트에서 인터넷(클라이언트를) 체크한다


    한번 테스트해보자
    광고는 바로 뜨지 않을 수도 있기때문에 5분정도 기다려보자(이게 광고 요청을 해도 광고 표시할게 없어서 안뜬다... 지역에 따라 다른데 미국은 거의 100% 뜨는듯? 5분정도 기다렸는데도 안뜨면 문제가 있다...)
    약 1분정도 기다리면 아래와같이 뜰 것이다

    왜 오류가 뜨는 것일까?(실제로 이것때문에 한참 고민했다...)
    나도 잘모르겠지만 계속 버튼을 눌러 무시하자...
    실제로 이대로 배포해도 아무런 문제가 없었다


    광고를 확인하고 광고단위를 만들어 id를 바꿔보자
    Windows 개발자센터의 대시보드에서 해당 앱을 선택하고 수익창출 -> 광고로 수익창출에 들어간다

    광고 단위를 만들면 저렇게 뜨는데 아까 그 코드의 id를 표시되는대로 바꿔주면 된다
    광고 조정에 대해서는 해당 페이지에서 잘 설명해주고 있기때문에 생략하겠다


    여기까지 했으면 기본적으로 광고를 게제하는 부분은 끝났다


    광고가 표시가 안되었을 때 다른 플랫폼의 광고를 표시하는 방법이 있다고 한다

    아직 안해봤기때문에 여기에는 작성하지 않겠다...


    (추가적으로 참고할만한 사이트)

    https://msdn.microsoft.com/en-us/library/mt313191(v=msads.30).aspx


    (샘플(예제가 엄청 많은데 Advertising을 보면 된다))

    https://github.com/Microsoft/Windows-universal-samples



    1. 이주호 - 2017.07.30 07:37 M/D Reply

      제가 desktop bridge https://developer.microsoft.com/en-us/windows/bridges/desktop
      를 이용해서 기존 윈도우 프로그램 (Win32)프로그램을 uwp로 바꿨는데 여기에도 똑같은 방식으로 광고를 삽입할 수 있는지 궁금해서 여쭤봅니다.

     [ 1 ]  [ 2 ]  [ 3 ]  [ 4 ]  [ 5 ]  [ 6 ]  [ 7 ] 

    최근 트랙백

    알림

    이 블로그는 구글에서 제공한 크롬에 최적화 되어있고, 네이버에서 제공한 나눔글꼴이 적용되어 있습니다.

    태그

    카운터

    Today : 45
    Yesterday : 58
    Total : 126,083