コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】InvalidOperationException: Don't call Firebase functions before CheckDependencies has finished

概要

InvalidOperationException: Don't call Firebase functions before CheckDependencies has finished

Firebase を使用しているプロジェクトで上記の例外が発生する現象に遭遇した

using Firebase;
using Firebase.Analytics;
using UnityEngine;

public class Example : MonoBehaviour
{
    private void Start()
    {
        FirebaseApp.CheckAndFixDependenciesAsync();
        FirebaseAnalytics.LogEvent( "hoge" );
    }
}

CheckAndFixDependenciesAsync が完了するのを待たずに
Firebase の機能を使用していたことが原因だった

using Firebase;
using Firebase.Analytics;
using UnityEngine;

public class Example : MonoBehaviour
{
    private async void Start()
    {
        await FirebaseApp.CheckAndFixDependenciesAsync();
        FirebaseAnalytics.LogEvent( "hoge" );
    }
}

CheckAndFixDependenciesAsync が完了するのを待機するようにしたら
例外が発生しなくなった