https://unityads.unity3d.com/help/unity/integration-guide-unity
选择里面的统一集成指南,如下图(我的是网页翻译后的)
首先Unity用UGUI创建几个Button,如下图:
注:一下代码在接口文档里面都有
然后是上代码UnityAdsScript (随便找个空物体放上):
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Monetization;
public class UnityAdsScript : MonoBehaviour {
// Use this for initialization string gameId = "1234567"; bool testMode = true;
void Start() { Monetization.Initialize(gameId, testMode); }
using UnityEngine; using UnityEngine.UI; using UnityEngine.Monetization;
[RequireComponent(typeof(Button))] public class UnityAdsButton : MonoBehaviour {
public string placementId = "rewardedVideo"; private Button adButton; public string GameID; //#if UNITY_IOS // private string gameId = "1234567"; //#elif UNITY_ANDROID // private string gameId = "7654321"; //#endif void Awake() { string gameId = "1234567"; GameID = gameId; } void Start() { adButton = GetComponent<Button>(); if (adButton) { adButton.onClick.AddListener(ShowAd); }
if (Monetization.isSupported) { Monetization.Initialize(GameID, true); } } void Update() { if (adButton) { adButton.interactable = Monetization.IsReady(placementId); } }
void ShowAd() { ShowAdCallbacks options = new ShowAdCallbacks(); options.finishCallback = HandleShowResult; ShowAdPlacementContent ad = Monetization.GetPlacementContent(placementId) as ShowAdPlacementContent; ad.Show(options); }
void HandleShowResult(ShowResult result) { if (result == ShowResult.Finished) { // Reward the player } else if (result == ShowResult.Skipped) { Debug.LogWarning("The player skipped the video - DO NOT REWARD!"); } else if (result == ShowResult.Failed) { Debug.LogError("Video failed to show"); } } }
using System.Collections; using System.Collections.Generic; using UnityEngine;
using UnityEngine.Monetization;
public class RewardedAdsPlacement : MonoBehaviour {
public string placementId = "rewardedVideo";
public void ShowAd() { StartCoroutine(WaitForAd()); }
IEnumerator WaitForAd() { while (!Monetization.IsReady(placementId)) { yield return null; }
ShowAdPlacementContent ad = null; ad = Monetization.GetPlacementContent(placementId) as ShowAdPlacementContent;
if (ad != null) { ad.Show(AdFinished); } }
void AdFinished(ShowResult result) { if (result == ShowResult.Finished) { Debug.LogError("Finished"); } } }
using UnityEngine.Monetization; using UnityEngine; using System.Collections;
public class UnityAdsPlacement : MonoBehaviour {
public string placementId = "video";
public void ShowAd() { StartCoroutine(ShowAdWhenReady()); }
private IEnumerator ShowAdWhenReady() { while (!Monetization.IsReady(placementId)) { yield return new WaitForSeconds(0.25f); }
ShowAdPlacementContent ad = null; ad = Monetization.GetPlacementContent(placementId) as ShowAdPlacementContent;
if (ad != null) { ad.Show(); } } }
这样简单的使用广告就可以了。