Xamarin Android Firebase实施:重新加载

时间:2018-06-11 22:09:24

标签: firebase f# xamarin.android

我正在使用Nuget包Xamarin.Firebase.Auth。

在我的Firebase控制台中,我设置了我的电子邮件地址验证链接,以匹配我的应用中的动态链接。当动态链接打开时,

FirebaseAuth.Instance.CurrentUser

设置为点击该链接的用户,但其IsEmailVerified值为false。即使我调用:

let user = FirebaseAuth.Instance.CurrentUser
do! user.ReloadAsync() |> Async.AwaitTask
let refreshedUser = FirebaseAuth.Instance.CurrentUser

用户的IsEmailVerified标志仍为false,我找不到将其设置为true的方法。

1 个答案:

答案 0 :(得分:1)

看起来我误解了电子邮件地址验证链接。我需要使用Firebase控制台中给出的默认值,但我需要从代码库提供动态链接。以下行将添加continueUrl查询参数,该参数将在用户验证后调用我的动态链接

let actionCodeSettings = ActionCodeSettings.NewBuilder().SetUrl("https://my.dynamic.link.com/userverified").Build()
do! user.SendEmailVerificationAsync(actionCodeSettings) |> Async.AwaitTask

这完全是我的错误,但如果有人犯了类似的错误,我会留下答案。

ADDENDUM :您仍需在更改完成之前重新加载当前用户。以下几行就足够了:

let user = FirebaseAuth.Instance.CurrentUser
do! user.ReloadAsync() |> Async.AwaitTask