我在Android / iOS游戏中使用基于团结奖励的广告。但是当我检查Advertisement.IsReady (rewardVideoID);
总是返回false。
此外,如果检入Awake统一广告初始化为假
void Awake ()
{
Debug.Log ("Unity ads ini state : " + Advertisement.isInitialized); //it is false everytime
}
但我在Unity编辑器中启用了广告,因此我想知道为什么统一广告不会自动初始化。我在之前的项目中使用了统一广告,它正在自动初始化。
答案 0 :(得分:0)
在检查Advertisement.Initialize
或Advertisement.isInitialized
之前,您必须致电Advertisement.IsReady
。
不仅如此。当您致电Advertisement.Initialize
时,无法保证会立即初始化。这就是你必须在协程功能中执行此检查的原因,这样你就可以连续检查它,直到它被初始化。
来自Unity's Ads Doc的示例:
IEnumerator Start()
{
!UNITY_ADS // If the Ads service is not enabled...
if (Advertisement.isSupported)
{ // If runtime platform is supported...
Advertisement.Initialize(gameId, enableTestMode); // ...initialize.
}
if
// Wait until Unity Ads is initialized,
// and the default ad placement is ready.
while (!Advertisement.isInitialized || !Advertisement.IsReady())
{
yield return new WaitForSeconds(0.5f);
}
// Show the default ad placement.
Advertisement.Show();
}
答案 1 :(得分:0)
选择Android或iOS作为活动的构建目标。 Unity Ads不支持独立。 它在文件->构建设置->平台
中