使用 Firebase 电话身份验证未收到通知

Mar*_*ark 2 ios firebase swift firebase-authentication firebaseui

我目前正在实现 firebase 电话身份验证,并且可以使用 firebase UI 成功实现电话身份验证而无需 swizzling,但从我的研究来看,似乎在不使用 swizzling 的情况下实现 firebase 电话身份验证需要用户允许通知。我知道 firebase 发送了一个不需要通过允许通知来批准的静默通知,但似乎获得该通知的唯一方法是要求用户允许通知。有谁知道如何或是否有可能在不混乱和不要求用户通知权限的情况下做到这一点?

我已添加将通知证书推送到 firebase,并添加了 firebase 电话 ui 文档中列出的所有需要​​的功能。

在不要求用户允许通知的情况下,电话身份验证文档中列出的此功能不会被调用(用户还必须选择允许)

func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
  // Pass device token to auth
  Auth.auth().setAPNSToken(deviceToken, type: AuthAPNSTokenTypeProd)

  // Further handling of the device token if needed by the app
  // ...
}
Run Code Online (Sandbox Code Playgroud)

如果未调用此函数,则未设置 setAPNSToken,我将不会收到继续进行电话身份验证的静默通知,并且会收到一般错误

身份验证错误:您项目的 Firebase 电话号码身份验证设置似乎有问题,请务必按照https://firebase.google.com/docs/auth/ios/phone-auth 上的说明进行操作

Mar*_*ark 5

我继续并禁用了 Firebase 文档中所述的方法调配,然后实现了所有必需的方法,解决方案是我需要去应用程序的功能,然后确保后台模式以及推送通知(这已经启用) 已启用。然后在后台模式下我必须启用远程通知

然后我不得不从我的设备中删除该应用程序并重新安装。这解决了我的问题并调用了注册通知的必要功能。