2

我在我的 android/iOS 游戏中使用基于统一奖励的广告。但是当我检查它时 Advertisement.IsReady (rewardVideoID);

总是返回假。

此外,如果签入 Awake unity 广告初始化是错误的

void Awake ()
{
    Debug.Log ("Unity ads ini state : " + Advertisement.isInitialized); //it is false everytime
} 

但是我在 Unity 编辑器中启用了广告,所以在这里我想知道为什么统一广告没有自动初始化。我在之前的项目中使用了统一广告,它会自动初始化。

4

2 回答 2

0

您必须Advertisement.Initialize在检查Advertisement.isInitialized或之前致电Advertisement.IsReady

不仅如此。当您调用Advertisement.Initialize时,不能保证它会立即初始化。这就是为什么您必须在协程函数中执行此检查,以便您可以连续检查它,直到它初始化。

Unity 的广告文档中的一个示例:

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();
}
于 2017-04-04T09:17:14.010 回答
0

选择 Android 或 iOS 作为活动构建目标。Unity Ads 不支持独立。它在文件 -> 构建设置 -> 平台中

于 2018-07-07T20:39:23.450 回答