You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

多应用注册获取相同FCM Token问题咨询(含APNs设置场景)

解决同一Firebase项目下多应用FCM Token重复的问题

这个问题我之前也帮开发者排查过,同一Firebase项目下多应用出现FCM Token重复导致推送串号的情况,大概率是配置或者初始化环节出了疏漏,咱们一步步来排查解决:

1. 先确认Firebase控制台与本地配置的一致性

  • 检查GoogleService-Info.plist的唯一性:每个应用必须使用Firebase控制台为其单独生成的GoogleService-Info.plist,不能直接复制其他应用的文件。重点核对plist里的BUNDLE_ID字段,必须和当前应用的Xcode项目bundle ID完全匹配;同时确认CLIENT_ID、API_KEY这些字段在不同应用的plist里是不同的。
  • APNs证书的对应关系:在Firebase控制台的每个应用设置里,确认上传的APNs推送证书(开发/生产)是对应该应用bundle ID的,不能混用其他应用的证书。

2. 代码层面的初始化与Token设置检查

  • 确保Firebase初始化的正确性:每个应用在启动时必须用自己的GoogleService-Info.plist完成Firebase初始化。如果是多target场景,要确保路径指向当前应用的plist文件,示例代码:
    if let plistPath = Bundle.main.path(forResource: "GoogleService-Info", ofType: "plist"),
       let options = FirebaseOptions(contentsOfFile: plistPath) {
        FirebaseApp.configure(options: options)
    }
    
  • APNs Token设置的时机与正确性:在AppDelegate的didRegisterForRemoteNotificationsWithDeviceToken方法中,必须确保为当前应用设置对应的APNs Token,并且要在Firebase初始化完成后执行:
    func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
        // 确保Firebase已初始化
        guard FirebaseApp.app() != nil else {
            FirebaseApp.configure()
        }
        Messaging.messaging().setAPNSToken(deviceToken, type: .prod)
        // 异步获取FCM Token,避免同步取值可能的缓存问题
        Messaging.messaging().token { token, error in
            if let token = token {
                // 这里将token上传到服务器
                print("FCM Token: \(token)")
            }
        }
    }
    
    不要直接使用Messaging.messaging().fcmToken同步取值,因为这个值可能是缓存的旧值,异步回调的方式能确保拿到最新的Token。

3. 清除设备缓存并重新测试

有时候设备上的旧缓存会导致Token复用,建议:

  • 卸载所有相关的应用
  • 重启设备
  • 重新安装每个应用,然后分别获取FCM Token并对比,确认是否已经不同

4. 额外排查点

如果以上步骤都没问题,检查Xcode的target配置:

  • 确保每个target的Info.plist里的Bundle identifier是唯一的,没有和其他应用重复
  • 确认每个target的Build Phases里,GoogleService-Info.plist是单独添加的,不是共享的文件

按照这些步骤排查下来,基本能解决FCM Token重复的问题,因为同一Firebase项目下的不同应用,只要配置正确,FCM Token肯定是独立的。

内容的提问来源于stack exchange,提问作者MCMatan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:32:43