# 广告展示

Mint Mediation Unity支持插屏广告、激励视频广告、激励插屏广告、开屏广告、横幅广告。您可以通过以下步骤来展示您需要使用的广告类型。

# 插屏广告

# 步骤1. 设置回调事件

插屏广告在加载或展示过程中,会触发一些事件,您可以通过监听这些事件来获取广告的展示状态:

// set up event listeners

MintEvents.onInterstitialAvailabilityChangedEvent += InterstitialAdAvailabilityChangedEvent;
MintEvents.onInterstitialShowedEvent += InterstitialAdShowedEvent;
MintEvents.onInterstitialShowFailedEvent += InterstitialAdShowFailedEvent;
MintEvents.onInterstitialClickedEvent += InterstitialAdClickedEvent;
MintEvents.onInterstitialClosedEvent += InterstitialAdClosedEvent;

Mint SDK会通过以下事件回调通知您广告的可用性、展示状态、展示失败原因等信息:


void InterstitialAdAvailabilityChangedEvent(bool available) {
	// TODO: interstitial ad availability changed
}

void InterstitialAdShowFailedEvent(string error) {
	// TODO: interstitial ad show failed
}

void InterstitialAdClickedEvent(string scene) {
	// TODO: interstitial ad clicked
}

void InterstitialAdShowedEvent(string scene) {
	// TODO: interstitial ad showed
}

void InterstitialAdClosedEvent(string scene) {
	// TODO: interstitial ad closed
}

# 步骤2. 加载广告(可选)

插屏广告支持预加载,Mint SDK初始化成功后,会自动加载插屏广告,SDK会通过InterstitialAdAvailabilityChangedEvent回调通知您广告资源的可用性。

void InterstitialAdAvailabilityChangedEvent(bool available) {
	Debug.Log("UnityApp Interstitial OnInterstitialAdAvailabilityChanged"+available);
}

如果您需要在特定时机加载插屏广告,可以调用Mint.Agent.loadInterstitial()方法主动加载广告。

Mint.Agent.loadInterstitial();

WARNING

注意:InterstitialAdAvailabilityChangedEvent 会在多种情况下被调用,请不要在该回调中直接展示广告或者加载广告,严重时可能导致应用崩溃。

# 步骤3. 展示广告

需要展示广告时,调用Mint.Agent.showInterstitial()方法即可展示广告。

在展示广告之前,我们建议您需要先检查SDK是否已有广告库存可用,调用SDK的isInterstitialReady方法。

if (Mint.Agent.isInterstitialReady()) 
{
	Mint.Agent.showInterstitial();
}

如果您使用了广告场景,可以参考以下方式来展示广告:

if (Mint.Agent.isInterstitialReady("YOUR SCENE NAME")) 
{
	Mint.Agent.showInterstitial("YOUR SCENE NAME");
}

# 激励视频广告

# 步骤1. 设置回调事件

激励视频广告在加载或展示过程中,会触发一些事件,您可以通过监听这些事件来获取广告的展示状态。

// set up event listeners
MintEvents.onRewardedVideoAvailabilityChangedEvent += RewardedVideoAvailabilityChangedEvent;
MintEvents.onRewardedVideoShowedEvent += RewardedVideoShowedEvent;
MintEvents.onRewardedVideoShowFailedEvent += RewardedVideoShowFailedEvent;
MintEvents.onRewardedVideoClickedEvent += RewardedVideoClickedEvent;
MintEvents.onRewardedVideoClosedEvent += RewardedVideoClosedEvent;
MintEvents.onRewardedVideoRewardedEvent += RewardedVideoRewardedEvent;
MintEvents.onRewardedVideoStartedEvent += RewardedVideoStartedEvent;
MintEvents.onRewardedVideoEndedEvent += RewardedVideoEndedEvent;

Mint SDK会通过以下事件回调通知您广告的可用性、展示状态、展示失败原因等信息:


void RewardedVideoAvailabilityChangedEvent(bool available)
{
	// TODO: rewarded video availability changed
}

void RewardedVideoShowedEvent(string scene)
{
	// TODO: rewarded video showed
}

void RewardedVideoShowFailedEvent(string error)
{
	// TODO: rewarded video show failed
}

void RewardedVideoClosedEvent(string scene)
{
	// TODO: rewarded video closed
}

void RewardedVideoClickedEvent(string scene)
{
	// TODO: rewarded video clicked
}

void RewardedVideoRewardedEvent(string scene)
{
	// TODO: rewarded video rewarded
}

void RewardedVideoStartedEvent(string scene)
{
	// TODO: rewarded video started
}


void RewardedVideoEndedEvent(string scene)
{
	// TODO: rewarded video ended
}

# 步骤2. 加载广告(可选)

激励视频广告支持预加载,Mint SDK初始化成功后,会自动加载激励视频广告,SDK会通过RewardedVideoAvailabilityChangedEvent回调通知您广告资源的可用性。

void RewardedVideoAvailabilityChangedEvent(bool available) {
	Debug.Log("UnityApp RewardedVideo OnRewardedVideoAvailabilityChanged"+available);
}

如果您需要在特定时机加载激励视频广告,可以调用Mint.Agent.loadRewardedVideo()方法主动加载广告。

Mint.Agent.loadRewardedVideo();

WARNING

注意:RewardedVideoAvailabilityChangedEvent 会在多种情况下被调用,请不要在该回调中直接展示广告或者加载广告,严重时可能导致应用崩溃。

# 步骤3. 展示广告

在需要展示广告的时候,调用Mint.Agent.showRewardedVideo()方法即可展示广告。

在展示广告之前,我们建议您需要先检查SDK是否已有广告库存可用,调用SDK的isRewardedVideoReady方法。

if (Mint.Agent.isRewardedVideoReady()) 
{
	  Mint.Agent.showRewardedVideo();
}

如果您使用了广告场景,可以参考以下方式来展示广告:

if (Mint.Agent.isRewardedVideoReady("YOUR SCENE NAME")) 
{
	Mint.Agent.showRewardedVideo("YOUR SCENE NAME");
}

# 步骤4. 奖励用户

在激励视频广告播放完成后,您可以通过RewardedVideoRewardedEvent回调来奖励用户。

void RewardedVideoRewardedEvent(string scene)
{
	// TODO: rewarded video rewarded
}

# 横幅广告

# 步骤1. 设置回调事件

横幅广告在加载或展示过程中,会触发一些事件,您可以通过监听这些事件来获取广告的展示状态。

// set up event listeners
MintEvents.onBannerLoadSuccessEvent += BannerLoadSuccessEvent;
MintEvents.onBannerLoadFailedEvent += BannerLoadFailedEvent;
MintEvents.onBannerClickedEvent += BannerClickedEvent;

Mint SDK会通过以下事件回调通知您广告的加载与展示状态等信息:



void BannerClickedEvent(string pid)
{
	// TODO: banner clicked
}

void BannerLoadFailedEvent(string pid, string msg)
{
	// TODO: banner load failed
}

void BannerLoadSuccessEvent(string pid)
{
	// TODO: banner load success
}

# 步骤2. 加载广告

横幅广告不支持预加载,您需要在需要展示广告的时候,调用Mint.Agent.loadBanner()方法加载广告。

Mint.Agent.loadBanner("YOUR BANNER PLACEMENT ID", AdSize.BANNER, BannerPostion.BOTTOM);

横幅广告支持以下几种尺寸:

public enum AdSize
{
    // 320x50
    BANNER = 0,
    // 300x250
    MEDIUM_RECTANGLE = 1,
    // 728x90
    LEADERBOARD = 2,
    // Smart banner, If screen width ≤ 720, 320 x 50 else 728 x 90
    SMART = 3
}

横幅广告支持以下几种位置:

public enum BannerPostion
{
    // Bottom
    BOTTOM = 0,
    // Top
    TOP = 1
}

横幅广告加载成功后,会触发BannerLoadSuccessEvent事件,并且会在屏幕上展示广告。

void BannerLoadSuccessEvent(string pid)
{
	// TODO: banner load success
}

横幅广告加载成功展示后,会自动刷新展示中的横幅广告,您无需再手动加载banner刷新广告。

如果横幅广告处于不可见的状态,则不会自动刷新广告。

WARNING

注意:横幅广告加载失败不会自动重试加载,收到onBannerLoadFailedEvent事件后,您需要自行调用loadBanner方法重新加载横幅广告,但是请勿在onBannerLoadFailedEvent事件中频繁调用loadBanner方法,否则可能会导致应用崩溃。

# 步骤3. 隐藏展示横幅广告

在游戏的某些场景中,您可能不希望展示横幅广告,您可以调用Mint.Agent.hideBanner()方法隐藏横幅广告,在需要展示横幅广告时,再调用Mint.Agent.displayBanner()方法展示横幅广告:

// hide banner
Mint.Agent.hideBanner("YOUR BANNER PLACEMENT ID");

// show banner
Mint.Agent.displayBanner("YOUR BANNER PLACEMENT ID");

WARNING

注意:在横幅广告加载成功之前调用hideBanner方法,横幅广告加载成功之后会默认隐藏广告,不会自动展示。

如果您不希望横幅广告加载成功后自动展示横幅广告,可以在加载横幅广告之前,调用hideBanner隐藏横幅广告,然后在加载成功后,手动调用displayBanner展示横幅广告。

# 步骤3. 销毁横幅广告(可选)

如果您的应用不再需要展示横幅广告,可以调用Mint.Agent.destroyBanner()方法销毁横幅广告,销毁后的横幅广告不能再次加载。

如果您需要重新设置横幅广告尺寸或者位置,也需要先销毁横幅广告,然后重新加载横幅广告。

Mint.Agent.destroyBanner("YOUR BANNER PLACEMENT ID");

# 激励插屏广告

# 步骤1. 设置回调事件

// set up event listeners
MintEvents.onRewardedInterstitialAvailabilityChangedEvent += RewardedInterstitialAvailableChangedEvent;
MintEvents.onRewardedInterstitialShowedEvent += RewardedInterstitialShowedEvent;
MintEvents.onRewardedInterstitialShowFailedEvent += RewardedInterstitialShowFailedEvent;
MintEvents.onRewardedInterstitialClickedEvent += RewardedInterstitialClickedEvent;
MintEvents.onRewardedInterstitialClosedEvent += RewardedInterstitialClosedEvent;
MintEvents.onRewardedInterstitialRewardedEvent += RewardedInterstitialRewardedEvent;

Mint SDK会通过以下事件回调通知您广告的可用性、展示状态等信息:

void RewardedInterstitialAvailableChangedEvent(bool available) 
{
	// TODO: rewarded interstitial availability changed
}

void RewardedInterstitialShowedEvent(string scene) 
{
	// TODO: rewarded interstitial showed
}

void RewardedInterstitialShowFailedEvent(string msg) 
{
	// TODO: rewarded interstitial show failed
}

void RewardedInterstitialClosedEvent(string scene) 
{
	// TODO: rewarded interstitial closed
}

void RewardedInterstitialClickedEvent(string scene) 
{
	// TODO: rewarded interstitial clicked
}

void RewardedInterstitialRewardedEvent(string scene) 
{
	// TODO: rewarded interstitial rewarded
}

# 步骤2. 加载广告(可选)

激励插屏广告支持预加载,Mint SDK初始化成功后,会自动加载激励插屏广告。SDK会通过RewardedInterstitialAvailableChangedEvent回调通知您广告资源的可用性。

void RewardedInterstitialAvailableChangedEvent(bool available) 
{
	Debug.Log("RewardedInterstitialAvailableChangedEvent: " + available);
}

如果您需要在特定时机加载激励插屏广告,可以调用Mint.Agent.loadRewardedInterstitial()方法加载激励插屏广告。

Mint.Agent.loadRewardedInterstitial();

WARNING

注意:RewardedInterstitialAvailableChangedEvent 会在多种情况下被调用,请不要在该回调中直接展示广告或者加载广告,严重时可能导致应用崩溃。

# 步骤3. 展示广告

需要展示激励插屏广告时,调用Mint.Agent.showRewardedInterstitial()方法展示激励插屏广告。

在展示广告之前,我们建议您先调用Mint.Agent.isRewardedInterstitialReady()方法检查激励插屏广告是否可用。

if (Mint.Agent.isRewardedInterstitialReady()) {
	Mint.Agent.showRewardedInterstitial();
}

如果您使用了广告场景,可以参考以下方式来展示广告:

if (Mint.Agent.isRewardedInterstitialReady("YOUR SCENE NAME")) {
	Mint.Agent.showRewardedInterstitial("YOUR SCENE NAME");
}

# 步骤4. 奖励用户

在激励插屏广告展示成功后,用户观看完整的广告,可以获得奖励。您可以在RewardedInterstitialRewardedEvent回调中,给用户奖励。

void RewardedInterstitialRewardedEvent(string scene) 
{
	// TODO: rewarded interstitial rewarded
}

# 开屏广告

# 步骤1. 设置回调事件

MintEvents.onSplashAvailabilityChangedEvent += SplashAvailabilityChangedEvent;
MintEvents.onSplashShowedEvent += SplashShowed;
MintEvents.onSplashShowFailedEvent += SplashShowFailed;
MintEvents.onSplashClosedEvent += SplashClosed;
MintEvents.onSplashClickedEvent += SplashClicked;
MintEvents.onSplashTickEvent += SplashTick;

Mint SDK会通过以下事件回调通知您广告的可用性、展示状态等信息:


void SplashAvailabilityChangedEvent(bool available) 
{
	// TODO: splash availability changed
}

private void SplashShowed(string scene) 
{
	// TODO: splash showed
}

private void SplashShowFailed(string msg) 
{
	// TODO: splash show failed
}

private void SplashTick(long millisUntilFinished) 
{
	// TODO: splash tick
}

private void SplashClicked(string scene) 
{
	// TODO: splash clicked
}

private void SplashClosed(string scene) 
{
	// TODO: splash closed
}

# 步骤2. 加载广告(可选)

开屏广告支持预加载,Mint SDK初始化成功后,会自动加载开屏广告。SDK会通过SplashAvailabilityChangedEvent回调通知您广告资源的可用性。

void SplashAvailabilityChangedEvent(bool available) 
{
	Debug.Log("SplashAvailabilityChangedEvent: " + available);
}

如果您需要在特定时机加载开屏广告,可以调用Mint.Agent.loadSplash()方法加载开屏广告。

Mint.Agent.loadSplash();

WARNING

注意:SplashAvailabilityChangedEvent 会在多种情况下被调用,请不要在该回调中直接展示广告或者加载广告,严重时可能导致应用崩溃。

# 步骤3. 展示广告

需要展示开屏广告时,调用Mint.Agent.showSplash()方法展示开屏广告。

在展示广告之前,我们建议您先调用Mint.Agent.isSplashReady()方法检查开屏广告是否可用。

if (Mint.Agent.isSplashReady()) {
	Mint.Agent.showSplash();
}