【发布时间】:2021-06-08 04:57:35
【问题描述】:
我正在使用 Unity Ads 在 Unity 2019.2.21f1 中构建一个带有广告的游戏。我有以下用于展示广告的简短脚本:
using System.Collections;
using UnityEngine;
using UnityEngine.Advertisements;
public class AdBannerScriptUnity : MonoBehaviour
{
public string gameId = "myGameId";
public string placementId = "AdBanner";
public bool testMode = true;
void Start()
{
Advertisement.Initialize(gameId, testMode);
StartCoroutine(ShowBannerWhenReady());
}
IEnumerator ShowBannerWhenReady()
{
while (!Advertisement.IsReady(placementId))
{
yield return new WaitForSeconds(0.5f);
}
Advertisement.Banner.SetPosition(BannerPosition.BOTTOM_CENTER);
Advertisement.Banner.Show(placementId);
}
}
我在 Unity 服务中启用了广告(Unity 编辑器 UI 右上角的云图标按钮)并已从资产商店导入 Unity 货币化资产。
在构建这个游戏时,我收到以下错误:
Assets/Scripts/AdBannerScriptUnity.cs(13,9): error CS0433: The type 'Advertisement' exists in both 'UnityEngine.Advertisements.Editor, Version=3.4.2.0, Culture=neutral, PublicKeyToken=null' and 'UnityEngine.Advertisements, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'
我在某处读到自 Unity 5.2 以来,Unity 货币化资产不再需要使用 Unity 显示广告,因此我尝试将其删除,但后来我得到了
Assets/Scripts/AdBannerScriptUnity.cs(23,23): error CS0117: 'Advertisement' does not contain a definition for 'Banner'
很明显,资产是必要的,但根据上面发布的第一个错误,我似乎不知何故安装了两个版本?如何确保我只安装了一个版本?
【问题讨论】:
标签: c# unity3d compiler-errors ads