首页 > 解决方案 > 无法为 Xamarin Android Firebase 电话身份验证发送 OTP 代码

问题描述

我正在使用 xamarin 表单和 C# 创建一个跨平台移动应用程序(iOS、Android),并且我正在尝试使用 firebase 设置用户身份验证。

我想设置它,以便当用户想使用他们的电话号码登录他们的帐户时,我首先向他们发送一个 otp 代码以验证他们输入的电话号码是否有效。这是我在我的 Android 项目中创建的函数:

    public Task<bool> SendOtpCodeAsync(string PhoneNumber)
    {
        _PhoneAuthenticationTCS = new TaskCompletionSource<bool>();

        PhoneAuthOptions newOptions = PhoneAuthOptions.NewBuilder().SetPhoneNumber(PhoneNumber).SetTimeout((Java.Lang.Long)60L, TimeUnit.Seconds).SetActivity(Platform.CurrentActivity).SetCallbacks(this).Build();
        PhoneAuthProvider.VerifyPhoneNumber(newOptions);

        return _PhoneAuthenticationTCS.Task;
    }

我遇到的问题是,当我运行它时,“newOptions”变量总是给我一个异常:“无法将'Mono.Debugger.Soft.PointerValue'类型的对象转换为'Mono.Debugger.Soft。原始价值”。

我不知道如何解决这个问题,因为即使我传递了在我的 firebase 控制台中注册的有效电话号码,它也会显示出来。有任何想法吗?提前致谢

标签: firebasefirebase-authenticationxamarin.android

解决方案


推荐阅读