flutter iOS 端如何配置不同租户下 firebase推送的证书文件
时间: 2024-03-27 09:39:01 浏览: 125
在 Flutter 中,可以通过 Xcode 的配置文件来为不同的租户配置 Firebase 推送证书文件。下面是具体的操作步骤:
1. 在 Firebase 控制台中为每个租户生成不同的 APNs 证书文件(.p12)并下载。
2. 按照上述方法为 Xcode 项目添加 Property List 文件,并在其中添加以下键值对:
```xml
<key>FirebaseMessaging</key>
<dict>
<key>APNSToken</key>
<string>$(TARGET_NAME)-APNs.p12</string>
</dict>
```
其中,`$(TARGET_NAME)-APNs.p12` 是 APNs 证书文件的文件名,其中 `$(TARGET_NAME)` 表示目标的名称,即租户名称。这样就能够为不同的租户分别指定不同的证书文件。
3. 为每个租户创建一个 target,方法是在 Xcode 的菜单栏中选择 File > New > Target,然后选择 App Extension > Notification Content Extension。输入新的 target 的名称,选择所在目录,并单击 Finish。
4. 在新创建的 target 中,选择 Build Settings,然后在搜索框中输入 `Header Search Paths`。在搜索结果中找到 `Header Search Paths` 选项,展开并添加一个新的值,值为 `$(SRCROOT)/$(TARGET_NAME)`。
这样做的目的是告诉 Xcode 在哪里查找证书文件。`$(SRCROOT)` 表示项目的根目录,`$(TARGET_NAME)` 表示当前 target 的名称。
5. 将下载的证书文件添加到相应的租户 target 中。具体步骤是:选择相应的 target,然后在菜单栏中选择 File > Add Files to "...",选择下载的证书文件,并将其复制到项目中。
6. 在每个租户 target 中选择 Build Phases,展开 Copy Bundle Resources,添加一个新的资源,选择之前添加的 Property List 文件。
7. 在每个租户 target 中选择 Build Settings,找到 Code Signing Identity 选项,选择 Automatic,然后将 Provisioning Profile 设置为相应的开发者账号。
8. 在每个租户 target 中选择 Signing & Capabilities,启用 Push Notifications 和 Background Modes,并选择 Remote notifications。
完成上述步骤后,即可为不同的租户分别配置 Firebase 推送证书文件。在 Flutter 中,可以通过调用 `FirebaseMessaging.instance.getToken()` 方法来获取每个租户的设备令牌。
阅读全文