2017-04-04 9 views
1

私はアンドロイド/ iOSゲームでユニティ報酬ベースの広告を使用しています。しかし私がそれをチェックするときAdvertisement.IsReady (rewardVideoID);ユニティ広告は自動的に初期化されませんか?

は常にfalseを返します。また

アウェイク統一広告の初期化にチェックが

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

偽であるしかし、私は、私は統一広告が自動初期化されない理由を知りたいので、ここでユニティ・エディタで広告を有効にした場合。私はそれが自動的に初期化されている私の以前のプロジェクトで統一広告を使用しました。

答えて

0

Advertisement.isInitializedまたはAdvertisement.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

が、統一によると団結の最新バージョンは手動であなたはエディタで有効に自動初期化とUnityAdsを使用しているしていない場合 –

+0

初期化する必要はありません。私の答えの目的は、 'Advertisement.isInitialized'と' Advertisement.IsReady'が即座にtrueになるように束縛されていないことを伝えることです。 'Update'関数で常にそれらをチェックするか、コルーチンと' while'ループを使用する必要があります。 – Programmer

関連する問題