firebase-invite 如何在清单中没有 SEND_SMS 的情况下在 Android 上发送短信

How firebase-invite sends SMS on Android without SEND_SMS in manifest

我按照文档在我的应用中集成了 Firebase App Invite。

https://firebase.google.com/docs/invites/android

我想知道 Firebase 如何在清单中未提及 SMS 的情况下发送 SMS。我在 phone 上对其进行了测试,当我添加仅包含一个号码的联系人时,它确实会发送一条短信。此外,SMS 出现在 phone 上的消息对话中,这消除了服务器端 SMS 与 SMS 绑定等的可能性。

Android 上的 Firebase Invites 与 Play Services 联系非常紧密,Play Services 存在于 Android 设备上的特殊 APK 中,有权执行所有操作。尽管 Firebase Invites SDK 不需要发送短信的权限,但它正在与具有该权限的 Play 服务进行通信。换句话说,SDK 本质上是通过 Play Services 路由请求,因此您的应用不需要 SMS 权限。

当使用像 Firebase 这样的 services/libraries 时,您不需要向 AndroidManifest.xml 添加任何额外的权限,因为这些文件在内部管理代码以在应用程序需要时添加权限。 如果您对发送到另一个联系电话的短信进行门控,那是因为 Firebase 不需要权限,因为它是 Google 的产品,并且 Android 允许 Firebase 这样做。