Capacitor 6升级后iOS端FCM推送报400无效注册令牌问题排查
iOS端FCM推送令牌无效问题(Capacitor 6升级后)
我们有一个Ionic/Capacitor应用,此前Firebase FCM推送通知功能完全正常。近期升级到Capacitor 6,重建应用并重装了@capacitor/push-notifications插件,完成各类项目文件配置后,Android端运行正常,但iOS端发送推送通知时返回以下400错误:
HTTP/1.1 400 Bad Request Vary: Origin Vary: X-Origin Vary: Referer Content-Type: application/json; charset=UTF-8 { "error": { "code": 400, "message": "The registration token is not a valid FCM registration token", "status": "INVALID_ARGUMENT", "details": [ { "@type": "type.googleapis.com/google.firebase.fcm.v1.FcmError", "errorCode": "INVALID_ARGUMENT" } ] } }
服务器端发送通知的逻辑未做任何改动,因此问题显然出在iOS配置上。以下是我们在Xcode中完成的配置:
Podfile配置
target 'App' do capacitor_pods # add your pods here pod 'Firebase/Messaging' end
AppDelegate配置
// Push notifications import Firebase @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // Override point for customization after application launch // Push Notifications FirebaseApp.configure() return true } func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) { NotificationCenter.default.post(name: .capacitorDidRegisterForRemoteNotifications, object: deviceToken) } func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) { NotificationCenter.default.post(name: .capacitorDidFailToRegisterForRemoteNotifications, object: error) }
本地运行日志
通过Xcode在本地设备运行应用时,注册并获取令牌的日志显示正常:
[log] FCM - register: granted [log] FCM - registration: {"value":"7A868F9E49853DA0F175ABDCE683310CC279306B4B00B579DA94690273CE7A3A"}
我们确认服务器端使用的正是刚获取到的该令牌,但仍报错。请问遗漏了哪些配置?
内容的提问来源于stack exchange,提问作者Mike Darling
相关产品推荐
相关产品推荐

