使用 Unity 进行 Firebase 电话身份验证

Posted

技术标签:

【中文标题】使用 Unity 进行 Firebase 电话身份验证【英文标题】:Firebase Phone Authentication with Unity 【发布时间】:2018-07-03 15:33:30 【问题描述】:

我正在尝试使用 Unity 中的 firebase 电话身份验证系统对用户进行身份验证,但是当我尝试按照 link 中的 firebase 文档进行操作时,出现错误。这是我写的代码:

public void sendSms()

    Firebase.Auth.FirebaseAuth auth = Firebase.Auth.FirebaseAuth.DefaultInstance;
    phoneNumber = "+905555555555";
    uint phoneAuthTimeoutMs = 10000;
    PhoneAuthProvider provider = PhoneAuthProvider.GetInstance(auth);
    provider.VerifyPhoneNumber(phoneNumber, phoneAuthTimeoutMs,null,
        verificationCompleted: (credential) => 

        ,
        verificationFailed: (error) => 

        ,
        codeSent: (id, token) => 
            MyText.text = "SMS Has been sent " + id;
        ,
        codeAutoRetrievalTimeout: (id) => 

        );
    MyText.text += "HMM";

但是,它说“无法解析符号代码自动检索超时”。当我删除 codeAutoRetrievalTimeout 参数时,这一次我的 IDE 为 codeSent、codeAutoRetrievalTimeout 和 verifyCompleted 部分显示“冗余名称标识符”。

以下是我的 IDE 中有关错误的一些屏幕截图:

【问题讨论】:

您在谈论“您的 IDE”,但您从未命名它,也没有命名它的版本。我们可以猜测它是 Rider,但没有指定。 是的,它的骑士。它不仅仅是关于我的 IDE,Unity 编辑器也给出了同样的错误。当我删除“codeAutoRetrievalTimeout”部分时,这次没有错误,但就像我说的那样,Rider 说的是“冗余标识符”。如果我运行该程序,我会收到“HMM”文本,但我的手机没有短信。 第二个屏幕截图显示的是警告而不是错误。您是否在 Firebase 控制台中启用了电话身份验证? 【参考方案1】:

在您的代码中,您有 codeAutoRetrievalTimeout(小写元音)。

只需将其更改为:codeAutoRetrievalTimeOut 即可找到该符号。

【讨论】:

我也遇到了这个错误。它来自于尝试浏览 Google 文档和盲目复制粘贴。

以上是关于使用 Unity 进行 Firebase 电话身份验证的主要内容,如果未能解决你的问题,请参考以下文章

使用 BLoC 进行 Flutter Firebase 电话身份验证

Unity/Firebase 如何使用 Google 进行身份验证?

Firebase 使用电话号码对现有的自定义登录流程进行身份验证

使用提供程序在 Flutter 中进行 Firebase 电话身份验证 [关闭]

未处理的异常:[firebase_auth/unknown] null:使用颤振/firebase 进行电话身份验证时出错

我是 Flutter Web 的新手,如何使用 Firebase 电话身份验证对用户进行身份验证,有没有办法让用户保持登录状态?