2017-04-04 83 views
1

我在我的android/iOS遊戲中使用基於統一獎勵的廣告。但是當我檢查Advertisement.IsReady (rewardVideoID);Unity廣告不會自動啓動?

總是返回false。

另外,如果檢查中清醒團結廣告初始化爲假

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

但我所以在這裏啓用了統一編輯器的廣告,我想知道爲什麼統一廣告是不會自動初始化。我在之前的項目中使用了統一廣告,它正在自動進行初始化。

回答

0

在檢查Advertisement.isInitializedAdvertisement.IsReady之前,您必須致電Advertisement.Initialize

不僅如此。當您致電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(); 
} 
+0

但根據統一團結的最新版本並不需要手動初始化 –

+0

你不,如果你使用的是帶有在編輯器中啓用自動初始化UnityAds。我的回答的目的是告訴你,「Advertisement.isInitialized」和「Advertisement.IsReady」不一定是立即成立的。你必須經常在'Update'函數中檢查它們,或者使用協程和'while'循環。 – Programmer