【发布时间】:2020-01-04 04:29:28
【问题描述】:
我正在使用Flutter 和firebase_messaging 插件开发一个应用程序。后端通过 Firebase 云消息传递 (FCM) 发送推送通知。如何构建不同风格的应用程序,只能从相应的后端接收推送通知?
- 开发人员(每个工程师一个)
- 测试
- 分期
- 产品
Android:经过大量搜索,我得出的结论是 FCM 访问控制粒度是每个项目的。因此,这应该有效:
- 为每种风格创建一个 Firebase 项目。
- 向每个 Firebase 项目添加一个具有唯一包名称
com.company.app.flavor的“Android 应用”。 -
Configure build.gradle 具有风格和适当的
applicationIdSuffix值,因此应用二进制文件最终具有与 Firebase 项目“Android App”条目相同的包名称。
iOS:如何使用 APNS 为 iOS 完成同样的事情?
- 我发现一个 answer from 7 years ago 现在没有意义了。
- 我能否在 iOS 上遵循与 Android 相同的策略,为每种风格构建具有唯一 Bundle-ID 的应用程序?这是否需要在 App Store Connect 中为每个 Bundle-ID 输入一个应用程序?
- 有 an article on iOS flavors,但它缺少一些信息,并且没有提及设置 bundle-id 或 bundle-id-suffix。
【问题讨论】:
-
我遇到了一个关于口味和 iOS 证书的问题,导致我在不同的数据库中注册了相同的包 ID。我关注了您偶然发现的文章,但我不得不牺牲 bundle-id-suffix,但除此之外它工作得很好。
-
您能否解释一下“我在不同的数据库中注册了相同的捆绑包 ID”是什么意思?什么数据库?你能解释一下“我不得不牺牲 bundle-id-suffix”是什么意思吗?
-
我没有每个 Firestore 数据库的唯一捆绑 ID。我在每一个中都注册了相同的捆绑包 ID。当我编译应用程序时,构建脚本会根据我选择的风格包含请求的数据库。关于 bundle-id-suffix 的牺牲,我简单地省略了后缀,因为我无法让 xCode 接受不同的 bundle id,导致我的 iPhone 上不能有多个版本,但该版本已使用匹配的数据库正确设置.
-
感谢您的解释。我的问题是关于 Firebase 云消息传递和 APNS。我没有使用 Firestore 数据库。
-
我使用了 FCM 插件和 Firebase,我的错误。
标签: ios flutter firebase-cloud-messaging apple-push-notifications