어제 Unity Youtube 채널에서 새로운 컨텐츠가 업로드 되어 리뷰해 보도록 하겠습니다.
Unity Mediation 이란 툴인데 한국말로 중개라는 뜻입니다.
광고를 중개하는 의미인 것 같습니다.
먼저 영상을 보고 제 게임에 그대로 설치해 보도록 하겠습니다.
https://www.youtube.com/watch?v=useuVhrLfWM
Youtube에서 자막 자동을 하면 한국말로 보실 수 있습니다.
광고는 게임 진행에 방해를 하지 말아야 합니다.
그리고 개발자는 광고 수익을 최적화 해아 합니다.
다양한 광고 네트워크 SDK를 모두 게임에 통합 관리하는 방법을 찾아야 하는 이유이유입니다.
Mediation은 여러 광고 네트워크를 통합하는 방법을 제시합니다.
먼저 Mediation을 설치합니다.
Mediationᴮᴱᵀᴬ
Increase ad demand from top networks by driving more competition for player’s attention and higher yield for your game.
unity.com
여기서 Get the Mediation SDK 선택합니다.
Unity Mediation Setup checklist
Unity Mediation Setup checklist Follow this checklist to install, set up, and use Unity Mediation (Beta) in your app. After downloading the latest version of the Unity Mediation SDK (Beta), you can also refer to the following videos to: Install and config
docs.unity.com
다음 다운로드 링크로 Unity Mediation SDK를 다운받습니다.
다음과 같이 Package Manager에 설치되었습니다.
이제 유니티 대쉬보드에 들어갑니다.
https://dashboard.unity3d.com/
Unity Gaming Services
dashboard.unity3d.com
로그인 후에 Projects를 생성합니다. Mediation으로 생성해 보겠습니다.
이제 유니티 에디터로 돌아와서 Project Setting에서 계정을 연결합니다.
Mediation의 프로젝트 셋팅 화면입니다.
다음과 광고 채널을 통합하여 관리 할 수 있습니다.
여기에 해당하는 코드를 생성할 수 있습니다. 아래로 내려서 Open Code Generator를 선택합니다.
메인 창에 표시되니 잘 확인해 보시기 바랍니다.
using System;
using Unity.Services.Core;
using Unity.Services.Mediation;
using UnityEngine;
namespace Unity.Example
{
public class InterstitialAdExample
{
IInterstitialAd ad;
string adUnitId = "Interstitial_XXXXXXX";
string gameId = "XXXXXX";
public async void InitServices()
{
try
{
InitializationOptions initializationOptions = new InitializationOptions();
initializationOptions.SetGameId(gameId);
await UnityServices.InitializeAsync(initializationOptions);
InitializationComplete();
}
catch (Exception e)
{
InitializationFailed(e);
}
}
public void SetupAd()
{
//Create
ad = MediationService.Instance.CreateInterstitialAd(adUnitId);
//Subscribe to events
ad.OnLoaded += AdLoaded;
ad.OnFailedLoad += AdFailedLoad;
ad.OnShowed += AdShown;
ad.OnFailedShow += AdFailedShow;
ad.OnClosed += AdClosed;
ad.OnClicked += AdClicked;
// Impression Event
MediationService.Instance.ImpressionEventPublisher.OnImpression += ImpressionEvent;
}
public void ShowAd()
{
if (ad.AdState == AdState.Loaded)
{
ad.Show();
}
}
void InitializationComplete()
{
SetupAd();
ad.Load();
}
void InitializationFailed(Exception e)
{
Debug.Log("Initialization Failed: " + e.Message);
}
void AdLoaded(object sender, EventArgs args)
{
Debug.Log("Ad loaded");
}
void AdFailedLoad(object sender, LoadErrorEventArgs args)
{
Debug.Log("Failed to load ad");
Debug.Log(args.Message);
}
void AdShown(object sender, EventArgs args)
{
Debug.Log("Ad shown!");
}
void AdClosed(object sender, EventArgs e)
{
// Pre-load the next ad
ad.Load();
Debug.Log("Ad has closed");
// Execute logic after an ad has been closed.
}
void AdClicked(object sender, EventArgs e)
{
Debug.Log("Ad has been clicked");
// Execute logic after an ad has been clicked.
}
void AdFailedShow(object sender, ShowErrorEventArgs args)
{
Debug.Log(args.Message);
}
void ImpressionEvent(object sender, ImpressionEventArgs args)
{
var impressionData = args.ImpressionData != null ? JsonUtility.ToJson(args.ImpressionData, true) : "null";
Debug.Log("Impression event from ad unit id " + args.AdUnitId + " " + impressionData);
}
}
}
코드를 입력해 봤는데 광고가 표시되지 않네요..
해결책을 아직 못 찾음. 혹시 찾으신분 있으면 연락주세요.
'Youtube 리뷰' 카테고리의 다른 글
유니티 무료 쉬운 게임 개발 (조코딩 강의 리뷰) - 광고 붙이기 파트 설명 (0) | 2022.02.09 |
---|---|
유니티 X 지식백과 2D 플랫포머 게임 개발. 5부 Plastic SCM으로 소스형상관리 (0) | 2022.02.05 |
유니티 코리아 튜토리얼. 코딩 없이도 OK, AR 개발의 첫걸음 | 뷰포리아 튜토리얼 (0) | 2022.02.04 |
유니티 코리아 튜토리얼. 코딩 없이도 OK, AR 개발의 실습 | AR Foundation 튜토리얼 (2) | 2022.02.04 |
유니티 X 지식백과 2D 플랫포머 게임 개발. 4부 게임 배포 방법 (0) | 2022.02.04 |