uni-app iOS上使用FCM进行推送应该如何修改feature.plist?

发布于 1周前 作者 bupafengyu 来自 Uni-App

uni-app iOS上使用FCM进行推送应该如何修改feature.plist?

配置 Firebase 统计功能

文档中提到使用 Firebase 的统计功能时应将 /SDK/Bundles/PandoraApi.bundle/feature.plistStatistic 部分修改为:

<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 时具体应当如何修改它们。


1 回复

在uni-app中使用Firebase Cloud Messaging (FCM)进行iOS推送时,需要在Xcode项目中修改Info.plist文件来配置FCM所需的信息。虽然你提到的是feature.plist,但我认为这可能是一个笔误,因为标准的iOS配置是通过Info.plist进行的。以下是如何在Xcode中修改Info.plist来配置FCM推送的示例步骤和相关代码片段。

  1. 获取Firebase配置信息: 首先,你需要在Firebase控制台为你的iOS应用创建一个项目,并下载生成的GoogleService-Info.plist文件。这个文件包含了你的应用所需的配置信息,如GOOGLE_APP_IDAPI_KEY等。

  2. GoogleService-Info.plist添加到Xcode项目中: 将下载的GoogleService-Info.plist文件拖放到Xcode项目的导航器中,确保选中“Copy items if needed”和“Add to targets”(选择你的应用目标)。

  3. 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_IDYOUR_PROJECT_NUMBERYOUR_GOOGLE_APP_IDYOUR_API_KEY替换为你从Firebase控制台获取的实际值。

  4. 配置推送通知权限: 确保你的应用请求推送通知权限。这通常在应用的AppDelegate.mAppDelegate.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控制台中测试推送通知,以确保一切配置正确。

回到顶部