ETH官方钱包

創(chuàng)作內(nèi)容

6 GP

使用Unity的廣告系統(tǒng)

作者:Kumamon│2018-09-29 02:46:41│巴幣:20│人氣:4503
大家好我是沒(méi)路:

今天來(lái)介紹一下如何使用Unity Service Ads來(lái)接入廣告~     (手機(jī)Ios/Android)

首先要有些前置作業(yè):

1.打開(kāi)你的Unity Service  , 在上方選單Window > Services
(這邊使用5.6.3 不同版本介面可能不一樣 , 不過(guò)應(yīng)該都會(huì)在Window底下)




對(duì)了這邊要有Unity帳號(hào) , 應(yīng)該大家都會(huì)有所以就不多贅述 , 記得登入U(xiǎn)nity使用者~



2.這邊可以選擇建立你新的ProjectID , 或是點(diǎn)選I already have a Unity Project ID連接到現(xiàn)有的ProjectID , 這邊就新建一個(gè)吧 !



3.建立之後你就得到一個(gè)專案的Unity Service , 把Ads的按扭打開(kāi)來(lái) , 這樣就OK了 , 照理說(shuō)他會(huì)自動(dòng)幫你引入程式庫(kù) , #如果沒(méi)有也可以去AssetStore另外載下來(lái)。



4.接下來(lái)我們先去一個(gè)地方 , 點(diǎn)擊Go To Dashboard , 前往Unity後臺(tái) , 去設(shè)定一下廣告內(nèi)容



5.進(jìn)到後臺(tái) , 我們先去新增廣告單元 , Unity有提供獎(jiǎng)勵(lì)式影片(Rewarded)跟非獎(jiǎng)勵(lì)式(Non-rewarded) 這邊示範(fàn)播完廣告可以發(fā)給玩家對(duì)應(yīng)的獎(jiǎng)勵(lì) 使用 (Rewarded)。




點(diǎn)擊>符號(hào) , 裡面可以做一些簡(jiǎn)單設(shè)定像是影片靜音或是允許跳過(guò)等等 , 這邊都用預(yù)設(shè)值就行了
然後記住廣告單元ID   ,  "rewardedVideo" , 我們呼叫廣告單元時(shí)要鍵入這串ID , 當(dāng)然你可以多建幾個(gè)來(lái)呼叫 , 不過(guò)我自己習(xí)慣統(tǒng)一只呼叫一個(gè)啦!

6.最後還要去記個(gè)東西 , 把這兩組ID記下來(lái) , 等等要Key進(jìn)程式裡~




7.新建一支程式 ADTest , 然後掛在個(gè)不會(huì)銷毀的物件上 !



直接上Code啦



寫(xiě)到一半如果一直報(bào)錯(cuò)又找不到原因的話 , 可以去看看File > BuildSettings 看你平臺(tái)是不是選到Android 或 Ios



還是錯(cuò)的話可以去AssetStore載一下Unity Ads的資源包試試

有時(shí)候剛開(kāi)專案跳這個(gè)錯(cuò) , 點(diǎn)進(jìn)Code裡隨便Key個(gè)空白讓他重新編譯後就過(guò)了(莫名其妙)
可能是5.6.3以前的Bug


8.最後就是呼叫啦 , 你可以在任何時(shí)機(jī)點(diǎn)先加載廣告
呼叫 ADTest.Inst.CheckRewardIsReady();  

接著呼叫 ADTest.Inst.ShowRewardAD(  call back function );應(yīng)該就能播了

範(fàn)例:



成功的話應(yīng)該會(huì)有這個(gè)畫(huà)面 , 也可以去手機(jī)試播看看 , 不需要用測(cè)試模式 , 直接正式上就可
差別在 正式廣告每天有次數(shù)限制(大約一天20次吧)  , 測(cè)試模式則無(wú)限.






原始碼:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Advertisements; //引入ADS API

public class ADTest : MonoBehaviour {

public static ADTest Inst;//建一個(gè)靜態(tài)實(shí)體 方便呼叫


public delegate void OnAdRewardCallBack();//Call back
OnAdRewardCallBack onAdRewardCallBack;



private string GameID_IOS = "2784192";//後臺(tái)的ID__IOS
private string GameID_ANDROID = "2784191";//後臺(tái)的ID__ANDROID

public bool IsAdReady = false;

// Use this for initialization
void Start () {

Inst = this;


//初始化
#if UNITY_ANDROID
Advertisement.Initialize(GameID_ANDROID,false);
#else
Advertisement.Initialize(GameID_IOS,false);
#endif
}
/// <summary>
/// 撿查廣告有無(wú)加載到廣告
/// </summary>
public void CheckRewardIsReady(){

if(IsAdReady) return;

if (Advertisement.IsReady("rewardedVideo")){//這邊要Key後臺(tái)記的廣告ID
IsAdReady = true;
}

}

/// <summary>
/// 開(kāi)始撥放廣告
/// </summary>
public void ShowRewardAD(OnAdRewardCallBack callback){


if(IsAdReady){
var options = new ShowOptions { resultCallback = HandleShowResult };
Advertisement.Show("rewardedVideo", options); //這邊要Key後臺(tái)記的廣告ID
IsAdReady = false;
this.onAdRewardCallBack = callback;
}

}

/// <summary>
/// 廣告播放結(jié)果
/// </summary>
private void HandleShowResult(ShowResult result){

switch (result){

case ShowResult.Finished:
Debug.Log("The ad was successfully shown.");
//播放成功 呼叫Call back
if(this.onAdRewardCallBack != null){
this.onAdRewardCallBack();
this.onAdRewardCallBack = null;
}  

break;  
case ShowResult.Skipped:
Debug.Log("The ad was skipped before reaching the end.");
//Debug.Log("[FFFF00]略過(guò)影片會(huì)沒(méi)有獎(jiǎng)勵(lì)ㄛ");

break;
case ShowResult.Failed:
Debug.Log("The ad failed to be shown.");
CheckRewardIsReady(); //

break;
}
}

/*


/// <summary>
/// 點(diǎn)擊看廣告按鈕
/// </summary>
public void OnClickAD(){

ADTest.Inst.CheckRewardIsReady(); //先加載廣告
if(ADTest.Inst.IsAdReady){
ADTest.Inst.ShowRewardAD(GiveResult);
}else{
Debug.Log("廣告讀取失敗");
}

}


/// <summary>
/// 發(fā)獎(jiǎng)勵(lì)
/// </summary>
void GiveResult(){
Debug.Log("觀看完畢-發(fā)獎(jiǎng)勵(lì)");
}

*/

}



引用網(wǎng)址:http://www.jamesdambrosio.com/TrackBack.php?sn=4145569
All rights reserved. 版權(quán)所有,保留一切權(quán)利

相關(guān)創(chuàng)作

同標(biāo)籤作品搜尋:Unity|遊戲開(kāi)發(fā)|廣告|影片|獨(dú)立|AD|獎(jiǎng)勵(lì)

留言共 2 篇留言

梯太
不錯(cuò),學(xué)習(xí)了

11-11 22:42

WAIYUI2988
請(qǐng)教一下 Unity ads 與 google Admob 差別在哪呢??

05-04 09:46

我要留言提醒:您尚未登入,請(qǐng)先登入再留言

6喜歡★sirua 可決定是否刪除您的留言,請(qǐng)勿發(fā)表違反站規(guī)文字。

前一篇:由水獺愛(ài)好者製作的小遊戲... 後一篇:自製休閒小遊戲 -《Ta...


face基於日前微軟官方表示 Internet Explorer 不再支援新的網(wǎng)路標(biāo)準(zhǔn),可能無(wú)法使用新的應(yīng)用程式來(lái)呈現(xiàn)網(wǎng)站內(nèi)容,在瀏覽器支援度及網(wǎng)站安全性的雙重考量下,為了讓巴友們有更好的使用體驗(yàn),巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁(yè)面呈現(xiàn)和功能。
屆時(shí)建議您使用下述瀏覽器來(lái)瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業(yè)系統(tǒng)版本才可使用)

face我們了解您不想看到廣告的心情? 若您願(yuàn)意支持巴哈姆特永續(xù)經(jīng)營(yíng),請(qǐng)將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學(xué)】