即时验证可防止调用和调试 onCodeSent() - Android 的 Firebase SMS 身份验证

Instant Verification prevents onCodeSent() to ever be called & debugged - Firebase SMS Authentication for Android

Firebase SMS Authentication for Android 中,我正在尝试调试用户必须输入他通过短信收到的验证码的阶段。

但是,由于 即时验证,我无法再在我的 phone 上重新创建此场景,因为再也不会调用 onCodeSent() 事件。 onVerificationCompleted() 被调用 - 这对于生产来说是好的,但它让我无法调试我的 SMS 代码验证屏幕。

不幸的是,目前there is no way to disable Instant Verification(等待@samtstern 的回复)...

如何重新创建该场景? 至少用于调试?

没有帮助,因为我们无法在不触发 onCodeSent(..) 的情况下获得 ForceResendingToken,正如我所说,我无法触发它...

自@samtstern has responded to me on Github以来关闭此问题,由于(当前)缺少禁用即时验证的功能,提供了替代解决方法:

That's a good point. I'll make sure to add that to the feature request internally. One workaround is to use two devices. On one device (with no SIM) enter the phone number of the other device (with a SIM). Then you'll get the code flow.

禁用和re-enabling 设置中的 sim 将跳过即时验证,直到下一次成功的 OTP 验证。