【发布时间】:2017-07-14 20:30:01
【问题描述】:
我们的应用使用 Firebase 电话身份验证。由于需要推送,App Store 审核已拒绝该应用:
指南 4.5.4 - 设计 - Apple 网站和服务
我们注意到您的应用需要推送通知才能运行。
具体来说,我们注意到如果我们的设备上没有启用推送通知设置,我们在应用程序中输入我们的电话号码后会遇到错误消息。
接下来的步骤
推送通知必须是可选的,并且必须征得用户同意才能在应用内使用。
他们还附上了描述 Firebase 错误“需要为应用设置远程通知和后台获取 [...]”的屏幕截图
Firebase 文档指出,电话身份验证功能绝对需要 APNs 通知:
https://firebase.google.com/docs/auth/ios/phone-auth
要使用电话号码身份验证,您的应用必须能够接收来自 Firebase 的 APNs 通知。当您首次在设备上使用用户的电话号码登录用户时,Firebase 身份验证会向设备发送静默推送通知,以验证电话号码登录请求是否来自您的应用。 (因此,无法在模拟器上使用电话号码登录。)
然而,App Store 审核指南指出,应用程序运行时必须不需要推送通知:https://developer.apple.com/app-store/review/guidelines/
4.5.4 推送通知不得用于应用运行,不得用于广告、促销或直接营销目的,也不得用于发送敏感的个人或机密信息。
用户需要先登录才能使用该应用程序(该应用程序是关于向您的客人发送数字GIF邀请并分享照片),这就是为什么应用程序基本上需要推送通知才能运行,如果登录方法是 Firebase 电话身份验证。
我们对该应用进行了很多测试,启用推送通知后,身份验证工作没有问题(在真实设备上,无论是在分发 Ad Hoc 构建的生产环境和开发构建的沙盒环境中)。
想想看,App Review 团队是如何禁用推送通知的?通知中心设置不会停止实际推送,只是不显示它们。 我们已经在关闭此设置的情况下进行了测试,firebase 电话身份验证工作正常,推送仍然按预期进行。
我对这个问题感到非常惊讶,因为 Firebase 是一家大型服务提供商。有没有其他人遇到过这个问题? 是否有计划取消电话身份验证的 APNs 要求?是否有其他方法可以在不推送的情况下使用 Firebase 电话身份验证?
【问题讨论】:
-
听起来您需要提供除 firebase phone auth 之外的替代身份验证方法,并向用户解释这些选项。
-
firebaser here 很遗憾听到这个问题。这显然不是我们希望您拥有的体验。这是我第一次听说这个问题。您能否reach out to Firebase support 以便我们更好地了解您的应用如何使用电话号码身份验证以及这与拒绝有何关系?
-
@FrankvanPuffelen 嗨,我也很惊讶没有其他人像这样拒绝我。我已经在星期五写了支持票,但我不希望在星期一之前得到答复。该应用程序以简单的方式使用电话身份验证,您下载该应用程序,观看/跳过教程,您必须使用电话号码登录,这就是在其 iPad 上禁用推送通知的 App Review 团队无法继续进行的地方。他们引用的规则(关于 APN 必须是可选的)确实存在,因此它们似乎是正确的。
-
Apple 现已第 7 次拒绝我的应用程序,声称它无法批准在推送通知是可选的情况下无法运行的应用程序:“推送通知必须是可选的,并且必须获得用户的同意才能在应用程序。”由于 Firebase 手机登录行为,这是一个真正的障碍。现在正在寻找不同的方法。使用 Firebase 登录导致我的应用批准延迟超过 2 个月 (!!!!)。这是不合理的。在 Google 解决此问题之前,不惜一切代价避免在您的 iOS 应用中使用 Firebase 手机登录。
-
@user3228240 大家好消息,Firebase 4.2.0 已经发布,修复了这个错误
标签: ios firebase apple-push-notifications app-store firebase-analytics