我开发了一个具有Firebase电话号码身份验证的android应用程序。 输入电话号码后,firbase通过SMS发送验证OTP号码。 所以我在我的应用程序中添加并允许SMS读取权限
现在,根据Google Play政策,我们需要删除短信读取权限并实施短信检索API。
因此,我通过SmsRetrieverClient
,SMSBroadcastReceiver
来实现SMS Retriever API,并具有必要的依赖性。
我注册了广播接收器,向Firebase提交电话号码。
我启动了client.startSmsRetriever();
,并成功通过onSuccess()
回调开始了。
我也收到了来自Firebase的短信,但SMSBroadcastReceiver
没有收到关于CommonStatusCodes.SUCCESS
的任何回拨,五分钟后,我收到了关于CommonStatusCodes.TIMEOUT
的回拨。
那么有关Firebase消息格式或其他的任何问题?
所以请帮助我,谢谢。
答案 0 :(得分:0)
几乎是一个答案: 之所以无法使用,是因为SMS检索器要工作的SMS内容的“格式”是“#” ....和应用中的SHA256,但Firebase SMS格式不同,因此SMS检索器无法“识别” SMS为有效的。