Search code examples
firebaseunity-game-enginefacebook-unity-sdk

How to set Firebase Database URL (Unity)


I'm trying to create a login with Facebook with Firebase. My login function is:

public void FacebookLogin()
    {
        var perms = new List<string>() { "public_profile", "email" };
        FB.LogInWithReadPermissions(perms, AuthCallback);

        if (FB.IsLoggedIn)
        {
            
            string aToken = Facebook.Unity.AccessToken.CurrentAccessToken.UserId;
            Firebase.Auth.FirebaseAuth auth = Firebase.Auth.FirebaseAuth.DefaultInstance;

            Firebase.Auth.Credential credential = Firebase.Auth.FacebookAuthProvider.GetCredential(aToken);
           
            auth.SignInWithCredentialAsync(credential).ContinueWith(task => {
                if (task.IsCanceled)
                {
                    Debug.LogError("SignInWithCredentialAsync was canceled.");
                    return;
                }
                if (task.IsFaulted)
                {
                    Debug.LogError("SignInWithCredentialAsync encountered an error: " + task.Exception);
                    return;
                }
                
                Firebase.Auth.FirebaseUser newUser = task.Result;
                Debug.LogFormat("User signed in successfully: {0} ({1})",
                    newUser.DisplayName, newUser.UserId);
            });



        }

       
    }

My problem is the warning "Database URL not set in the Firebase config.", followed by a SignInWithCredentialAsync error (System.AggregateException). How can I change the URL in Firebase config? Where is this Firebase config located? I'm a newbie in coding, thanks for the support.

I should manage to link all the Id app, Oauth etc correctly( i hope so), I believe the problem is caused by the empty URL for firebase db.


Solution

  • firebaser here

    There is a bug in the Firebase games SDKs at the moment, which makes it require that a databaseURL value is specified in the google-services.json and/or google-services-info.plist files. Unfortunately that key is not present anymore, unless you actually use the Realtime Database.

    The easiest might be to:

    1. Create a Realtime Database instance in the Firebase console.
    2. Download the updated configuration files and add them to your project again.

    Update: I just spotted that the issue on Github also mentions a workaround for the problem.