繁体   English   中英

Firebase 手机登录失败

[英]Firebase login failed on mobile

我有一个统一的应用程序。 我可以在我的电脑上登录 firebase,当我创建 an.exe 时,但是当我生成 apk 时,登录失败。 我应该配置其他东西吗?

我的脚本

void Start()
{
    auth = Firebase.Auth.FirebaseAuth.DefaultInstance;
}

public void Login()
{
    string email = inputFieldEmail.text;
    string password = inputFieldPassword.text;

    auth.SignInWithEmailAndPasswordAsync(email, password).ContinueWith(task => {
        if (task.IsCanceled)
        {
            Debug.LogError("SignInWithEmailAndPasswordAsync was canceled.");
            return;
        }
        if (task.IsFaulted)
        {
            Debug.LogError("SignInWithEmailAndPasswordAsync encountered an error: " + task.Exception);
            return;
        }

        Firebase.Auth.FirebaseUser newUser = task.Result;
        Debug.LogFormat("User signed in successfully: {0} ({1})",
            newUser.DisplayName, newUser.UserId);
        GameManager.instance.SetNombre(email.Split('@')[0]);
        signedIn = true;
    });
}

是的,您应该在您的 Firebase 控制台上配置您的移动设备密钥。 另请记住,Firebase 目前正在与 API 16+ 合作。

更多信息在这里: https://firebase.google.com/docs/unity/setup

关于该代码的一些简短建议,请尝试将ContinueWith替换为ContinueWithOnMainThread 这将使您更容易调试代码,并避免 Unity 中出现任何与线程相关的问题(尤其是您的GameManager.instance.SetNombre让我感到紧张)。 这是一个下降的替代品。

要在 Android 上进行身份验证,您需要三样东西:

  1. 一个 google-services.json 文件(如果您注册了一个 iOS 应用程序,您就有可能拥有一个 GoogleService-Info.plist)。 帮助网站
  1. 将 Android 应用程序 Go 的配置文件获取到 Firebase 控制台中的项目设置。
  2. 在您的应用卡中,select 您需要配置文件的应用的名称 package。
  3. 单击 google-services.json。
  4. 将配置文件移动到应用程序的模块(应用程序级)目录中。 确保您的应用程序中只有这个最近下载的配置文件。

(请注意 Unity 中的第 4 步 - 只需将其放在您的 Assets/ 目录中的某个位置)

  1. 确保您已在 Firebase 控制台中启用分析。 听起来你已经这样做了。

  2. 将您的 SHA-1 添加到 Firebase。这是基于签名密钥的,因此每个开发人员可能需要注册他们的本地开发 SHA-1,并且您需要注册您的最终签名密钥。 帮助网站

如果您最初没有为您的 Firebase Android 应用程序提供 SHA 证书指纹,或者如果您需要添加一个额外的指纹,请按照这些步骤操作。

  1. 确保您拥有签名证书的 SHA 指纹。
  2. 在您的项目设置中,go 到您的应用卡片。
  3. Select Firebase Android 要添加 SHA 指纹的应用程序。
  4. 单击添加指纹。
  5. 输入或粘贴 SHA 指纹,然后单击保存。

获取您的开发 SHA-1 密钥,大致输入以下命令:

keytool -list -v -alias androiddebugkey -keystore ~/.android/debug.keystore

如果您不能运行 keytool 命令,我写了这个简短的解释器。 您可以在您的 JDK 目录中找到它(如果您正在构建 Android,则在某处有一个 JDK)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM