uni-app iOS上使用FCM进行推送应该如何修改feature.plist?
uni-app iOS上使用FCM进行推送应该如何修改feature.plist?
配置 Firebase 统计功能
文档中提到使用 Firebase 的统计功能时应将 /SDK/Bundles/PandoraApi.bundle/feature.plist
中 Statistic
部分修改为:
<key>Statistic</key>
<dict>
<key>autostart</key>
<false/>
<key>class</key>
<string>Google Statistic</string>
<key>global</key>
<true/>
<key>server</key>
<dict>
<key>class</key>
<string>GoogleStatisticServer</string>
<key>identifier</key>
<string>com.firebase.startup</string>
</dict>
</dict>
我注意到 Push
部分也有类似的结构,但文档中似乎并未指出在使用 FCM 时具体应当如何修改它们。
在uni-app中使用Firebase Cloud Messaging (FCM)进行iOS推送时,需要在Xcode项目中修改Info.plist
文件来配置FCM所需的信息。虽然你提到的是feature.plist
,但我认为这可能是一个笔误,因为标准的iOS配置是通过Info.plist
进行的。以下是如何在Xcode中修改Info.plist
来配置FCM推送的示例步骤和相关代码片段。
-
获取Firebase配置信息: 首先,你需要在Firebase控制台为你的iOS应用创建一个项目,并下载生成的
GoogleService-Info.plist
文件。这个文件包含了你的应用所需的配置信息,如GOOGLE_APP_ID
、API_KEY
等。 -
将
GoogleService-Info.plist
添加到Xcode项目中: 将下载的GoogleService-Info.plist
文件拖放到Xcode项目的导航器中,确保选中“Copy items if needed”和“Add to targets”(选择你的应用目标)。 -
在
Info.plist
中添加必要的键值对: 打开Info.plist
文件,并添加以下键值对(这些键值对通常已经包含在GoogleService-Info.plist
中,但你需要确保它们在Info.plist
中是可见的,以便Xcode能正确读取它们):<key>FIREBASE_ANALYTICS_COLLECTION_ENABLED</key> <true/> <key>FIREBASE_APPLICATION_ID</key> <string>YOUR_FIREBASE_APPLICATION_ID</string> <key>GCMSenderID</key> <string>YOUR_PROJECT_NUMBER</string> <key>GoogleAppID</key> <string>YOUR_GOOGLE_APP_ID</string> <key>GoogleClientAPIKey</key> <string>YOUR_API_KEY</string> <key>GoogleServicesFile</key> <string>GoogleService-Info.plist</string>
注意:将
YOUR_FIREBASE_APPLICATION_ID
、YOUR_PROJECT_NUMBER
、YOUR_GOOGLE_APP_ID
和YOUR_API_KEY
替换为你从Firebase控制台获取的实际值。 -
配置推送通知权限: 确保你的应用请求推送通知权限。这通常在应用的
AppDelegate.m
或AppDelegate.swift
文件中配置,但uni-app可能通过插件或配置文件处理这部分。不过,你仍需在Info.plist
中添加以下键值对来声明你的应用支持推送通知:<key>UIBackgroundModes</key> <array> <string>remote-notification</string> </array> <key>UIApplicationSupportsMultitasking</key> <true/> <key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict>
完成以上步骤后,你的uni-app应该能够在iOS上使用FCM进行推送通知。记得在Firebase控制台中测试推送通知,以确保一切配置正确。