firebase / firebase-ios-sdk

Firebase SDK for Apple App Development
https://firebase.google.com
Apache License 2.0
5.69k stars 1.48k forks source link

Notification Service Extension cannot receive remote push after updating FirebaseMessaging #11562

Closed ysw-1031 closed 1 year ago

ysw-1031 commented 1 year ago

Description

Notification Service Extension cannot receive remote push after updating FirebaseMessaging

I received an email about starting June 20, 2024 the legacy Firebase Cloud Messaging (FCM) APIs will be discontinued.

I updated FirebaseMessaging from 7.8.0 to 10.11.0 Before the update, the Notification Service Extension could normally receive remote notifications. And if I remove FirebaseMessaging I can receive remote notifications in Notification Service Extension.

What is the problem and how to solve it

Reproducing the issue

No response

Firebase SDK Version

10.11.0

Xcode Version

14.2

Installation Method

CocoaPods

Firebase Product(s)

Messaging

Targeted Platforms

iOS

Relevant Log Output

No response

If using Swift Package Manager, the project's Package.resolved

Expand Package.resolved snippet
```json Replace this line with the contents of your Package.resolved. ```

If using CocoaPods, the project's Podfile.lock

Expand Podfile.lock snippet
```yml PODS: - Alamofire (5.7.1) - AppAuth (1.6.2): - AppAuth/Core (= 1.6.2) - AppAuth/ExternalUserAgent (= 1.6.2) - AppAuth/Core (1.6.2) - AppAuth/ExternalUserAgent (1.6.2): - AppAuth/Core - CryptoSwift (1.7.1) - FBAEMKit (14.1.0): - FBSDKCoreKit_Basics (= 14.1.0) - FBSDKCoreKit (14.1.0): - FBAEMKit (= 14.1.0) - FBSDKCoreKit_Basics (= 14.1.0) - FBSDKCoreKit_Basics (14.1.0) - FBSDKLoginKit (14.1.0): - FBSDKCoreKit (= 14.1.0) - FBSDKShareKit (14.1.0): - FBSDKCoreKit (= 14.1.0) - FDFullscreenPopGesture (1.1) - FirebaseABTesting (10.11.0): - FirebaseCore (~> 10.0) - FirebaseAnalytics (10.11.0): - FirebaseAnalytics/AdIdSupport (= 10.11.0) - FirebaseCore (~> 10.0) - FirebaseInstallations (~> 10.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - GoogleUtilities/MethodSwizzler (~> 7.11) - GoogleUtilities/Network (~> 7.11) - "GoogleUtilities/NSData+zlib (~> 7.11)" - nanopb (< 2.30910.0, >= 2.30908.0) - FirebaseAnalytics/AdIdSupport (10.11.0): - FirebaseCore (~> 10.0) - FirebaseInstallations (~> 10.0) - GoogleAppMeasurement (= 10.11.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - GoogleUtilities/MethodSwizzler (~> 7.11) - GoogleUtilities/Network (~> 7.11) - "GoogleUtilities/NSData+zlib (~> 7.11)" - nanopb (< 2.30910.0, >= 2.30908.0) - FirebaseCore (10.11.0): - FirebaseCoreInternal (~> 10.0) - GoogleUtilities/Environment (~> 7.8) - GoogleUtilities/Logger (~> 7.8) - FirebaseCoreExtension (10.11.0): - FirebaseCore (~> 10.0) - FirebaseCoreInternal (10.11.0): - "GoogleUtilities/NSData+zlib (~> 7.8)" - FirebaseCrashlytics (10.11.0): - FirebaseCore (~> 10.5) - FirebaseInstallations (~> 10.0) - FirebaseSessions (~> 10.5) - GoogleDataTransport (~> 9.2) - GoogleUtilities/Environment (~> 7.8) - nanopb (< 2.30910.0, >= 2.30908.0) - PromisesObjC (~> 2.1) - FirebaseInstallations (10.11.0): - FirebaseCore (~> 10.0) - GoogleUtilities/Environment (~> 7.8) - GoogleUtilities/UserDefaults (~> 7.8) - PromisesObjC (~> 2.1) - FirebaseMessaging (10.11.0): - FirebaseCore (~> 10.0) - FirebaseInstallations (~> 10.0) - GoogleDataTransport (~> 9.2) - GoogleUtilities/AppDelegateSwizzler (~> 7.8) - GoogleUtilities/Environment (~> 7.8) - GoogleUtilities/Reachability (~> 7.8) - GoogleUtilities/UserDefaults (~> 7.8) - nanopb (< 2.30910.0, >= 2.30908.0) - FirebasePerformance (10.11.0): - FirebaseCore (~> 10.5) - FirebaseInstallations (~> 10.0) - FirebaseRemoteConfig (~> 10.0) - FirebaseSessions (~> 10.5) - GoogleDataTransport (~> 9.2) - GoogleUtilities/Environment (~> 7.8) - GoogleUtilities/ISASwizzler (~> 7.8) - GoogleUtilities/MethodSwizzler (~> 7.8) - nanopb (< 2.30910.0, >= 2.30908.0) - FirebaseRemoteConfig (10.11.0): - FirebaseABTesting (~> 10.0) - FirebaseCore (~> 10.0) - FirebaseInstallations (~> 10.0) - GoogleUtilities/Environment (~> 7.8) - "GoogleUtilities/NSData+zlib (~> 7.8)" - FirebaseSessions (10.11.0): - FirebaseCore (~> 10.5) - FirebaseCoreExtension (~> 10.0) - FirebaseInstallations (~> 10.0) - GoogleDataTransport (~> 9.2) - GoogleUtilities/Environment (~> 7.10) - nanopb (< 2.30910.0, >= 2.30908.0) - PromisesSwift (~> 2.1) - FMDB (2.7.5): - FMDB/standard (= 2.7.5) - FMDB/standard (2.7.5) - Google-Mobile-Ads-SDK (10.7.0): - GoogleAppMeasurement (< 11.0, >= 7.0) - GoogleUserMessagingPlatform (>= 1.1) - GoogleAppMeasurement (10.11.0): - GoogleAppMeasurement/AdIdSupport (= 10.11.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - GoogleUtilities/MethodSwizzler (~> 7.11) - GoogleUtilities/Network (~> 7.11) - "GoogleUtilities/NSData+zlib (~> 7.11)" - nanopb (< 2.30910.0, >= 2.30908.0) - GoogleAppMeasurement/AdIdSupport (10.11.0): - GoogleAppMeasurement/WithoutAdIdSupport (= 10.11.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - GoogleUtilities/MethodSwizzler (~> 7.11) - GoogleUtilities/Network (~> 7.11) - "GoogleUtilities/NSData+zlib (~> 7.11)" - nanopb (< 2.30910.0, >= 2.30908.0) - GoogleAppMeasurement/WithoutAdIdSupport (10.11.0): - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - GoogleUtilities/MethodSwizzler (~> 7.11) - GoogleUtilities/Network (~> 7.11) - "GoogleUtilities/NSData+zlib (~> 7.11)" - nanopb (< 2.30910.0, >= 2.30908.0) - GoogleDataTransport (9.2.3): - GoogleUtilities/Environment (~> 7.7) - nanopb (< 2.30910.0, >= 2.30908.0) - PromisesObjC (< 3.0, >= 1.2) - GoogleSignIn (7.0.0): - AppAuth (~> 1.5) - GTMAppAuth (< 3.0, >= 1.3) - GTMSessionFetcher/Core (< 4.0, >= 1.1) - GoogleUserMessagingPlatform (2.0.1) - GoogleUtilities/AppDelegateSwizzler (7.11.1): - GoogleUtilities/Environment - GoogleUtilities/Logger - GoogleUtilities/Network - GoogleUtilities/Environment (7.11.1): - PromisesObjC (< 3.0, >= 1.2) - GoogleUtilities/ISASwizzler (7.11.1) - GoogleUtilities/Logger (7.11.1): - GoogleUtilities/Environment - GoogleUtilities/MethodSwizzler (7.11.1): - GoogleUtilities/Logger - GoogleUtilities/Network (7.11.1): - GoogleUtilities/Logger - "GoogleUtilities/NSData+zlib" - GoogleUtilities/Reachability - "GoogleUtilities/NSData+zlib (7.11.1)" - GoogleUtilities/Reachability (7.11.1): - GoogleUtilities/Logger - GoogleUtilities/UserDefaults (7.11.1): - GoogleUtilities/Logger - GPUImage (0.1.7) - GTMAppAuth (2.0.0): - AppAuth/Core (~> 1.6) - GTMSessionFetcher/Core (< 4.0, >= 1.5) - GTMSessionFetcher/Core (3.1.1) - IQKeyboardManager (6.5.12) - JTNumberScrollAnimatedView (1.0.0) - Kiwi (3.0.0) - libwebp (1.2.4): - libwebp/demux (= 1.2.4) - libwebp/mux (= 1.2.4) - libwebp/webp (= 1.2.4) - libwebp/demux (1.2.4): - libwebp/webp - libwebp/mux (1.2.4): - libwebp/demux - libwebp/webp (1.2.4) - Masonry (1.1.0) - MJExtension (3.4.1) - nanopb (2.30909.0): - nanopb/decode (= 2.30909.0) - nanopb/encode (= 2.30909.0) - nanopb/decode (2.30909.0) - nanopb/encode (2.30909.0) - PromisesObjC (2.2.0) - PromisesSwift (2.2.0): - PromisesObjC (= 2.2.0) - Protobuf (3.23.4) - RongCloudIM/ChatRoom (5.2.1): - RongCloudIM/IMLibCore - RongCloudIM/CustomerService (5.2.1): - RongCloudIM/IMLibCore - RongCloudIM/Discussion (5.2.1): - RongCloudIM/IMLibCore - RongCloudIM/IMLib (5.2.1): - RongCloudIM/ChatRoom - RongCloudIM/CustomerService - RongCloudIM/Discussion - RongCloudIM/IMLibCore - RongCloudIM/Location - RongCloudIM/PublicService - RongCloudIM/IMLibCore (5.2.1) - RongCloudIM/Location (5.2.1): - RongCloudIM/IMLibCore - RongCloudIM/PublicService (5.2.1): - RongCloudIM/IMLibCore - SDCycleScrollView (1.82): - SDWebImage (>= 5.0.0) - SDWebImage (5.16.0): - SDWebImage/Core (= 5.16.0) - SDWebImage/Core (5.16.0) - SDWebImageWebPCoder (0.12.0): - libwebp (~> 1.0) - SDWebImage/Core (~> 5.16) - SSZipArchive (2.4.3) - SVGAPlayer (2.5.7): - SVGAPlayer/Core (= 2.5.7) - SVGAPlayer/ProtoFiles (= 2.5.7) - SVGAPlayer/Core (2.5.7): - SSZipArchive (>= 1.8.1) - SVGAPlayer/ProtoFiles - SVGAPlayer/ProtoFiles (2.5.7): - Protobuf (~> 3.4) - SVProgressHUD (2.2.5) - YBImageBrowser (3.0.9): - YBImageBrowser/Core (= 3.0.9) - YBImageBrowser/Core (3.0.9): - SDWebImage (>= 5.0.0) - YYImage - YBImageBrowser/Video (3.0.9): - YBImageBrowser/Core - YYImage (1.0.4): - YYImage/Core (= 1.0.4) - YYImage/Core (1.0.4) - ZFPlayer/ControlView (4.1.4): - ZFPlayer/Core - ZFPlayer/Core (4.1.4) - zipzap (8.1.1) DEPENDENCIES: - Alamofire - CryptoSwift - FBSDKCoreKit (= 14.1.0) - FBSDKLoginKit (= 14.1.0) - FBSDKShareKit (= 14.1.0) - FDFullscreenPopGesture - FirebaseAnalytics - FirebaseCrashlytics - FirebaseMessaging - FirebasePerformance - FMDB - Google-Mobile-Ads-SDK - GoogleSignIn - GPUImage - IQKeyboardManager - JTNumberScrollAnimatedView - Kiwi - Masonry - MJExtension - RongCloudIM/IMLib (= 5.2.1) - SDCycleScrollView - SDWebImage - SDWebImageWebPCoder - SVGAPlayer - SVProgressHUD - YBImageBrowser - YBImageBrowser/Video - YYImage - ZFPlayer/ControlView - zipzap SPEC REPOS: https://github.com/CocoaPods/Specs.git: - Alamofire - AppAuth - CryptoSwift - FBAEMKit - FBSDKCoreKit - FBSDKCoreKit_Basics - FBSDKLoginKit - FBSDKShareKit - FDFullscreenPopGesture - FirebaseABTesting - FirebaseAnalytics - FirebaseCore - FirebaseCoreExtension - FirebaseCoreInternal - FirebaseCrashlytics - FirebaseInstallations - FirebaseMessaging - FirebasePerformance - FirebaseRemoteConfig - FirebaseSessions - FMDB - Google-Mobile-Ads-SDK - GoogleAppMeasurement - GoogleDataTransport - GoogleSignIn - GoogleUserMessagingPlatform - GoogleUtilities - GPUImage - GTMAppAuth - GTMSessionFetcher - IQKeyboardManager - JTNumberScrollAnimatedView - Kiwi - libwebp - Masonry - MJExtension - nanopb - PromisesObjC - PromisesSwift - Protobuf - RongCloudIM - SDCycleScrollView - SDWebImage - SDWebImageWebPCoder - SSZipArchive - SVGAPlayer - SVProgressHUD - YBImageBrowser - YYImage - ZFPlayer - zipzap SPEC CHECKSUMS: Alamofire: 0123a34370cb170936ae79a8df46cc62b2edeb88 AppAuth: 3bb1d1cd9340bd09f5ed189fb00b1cc28e1e8570 CryptoSwift: d3d18dc357932f7e6d580689e065cf1f176007c1 FBAEMKit: a899515e45476027f73aef377b5cffadcd56ca3a FBSDKCoreKit: 24f8bc8d3b5b2a8c5c656a1329492a12e8efa792 FBSDKCoreKit_Basics: 6e578c9bdc7aa1365dbbbde633c9ebb536bcaa98 FBSDKLoginKit: 787de205d524c3a4b17d527916f1d066e4361660 FBSDKShareKit: b9c1cd1fa6a320a50f0f353cf30d589049c8db77 FDFullscreenPopGesture: a8a620179e3d9c40e8e00256dcee1c1a27c6d0f0 FirebaseABTesting: 3f6b711718feb87346dc05f8c964601bc8fb2cf6 FirebaseAnalytics: 6c6bf99e8854475bf1fa342028841be8ecd236da FirebaseCore: 62fd4d549f5e3f3bd52b7998721c5fa0557fb355 FirebaseCoreExtension: cacdad57fdb60e0b86dcbcac058ec78237946759 FirebaseCoreInternal: 9e46c82a14a3b3a25be4e1e151ce6d21536b89c0 FirebaseCrashlytics: 5927efd92f7fb052b0ab1e673d2f0d97274cd442 FirebaseInstallations: 2a2c6859354cbec0a228a863d4daf6de7c74ced4 FirebaseMessaging: 06253e9669434df0a40718fc82a90c78090f4704 FirebasePerformance: 2e9aa0fb103d6c08403d20d135bf06b3adfb3454 FirebaseRemoteConfig: 5f907cd5cf6f64d026c8bfd196a1086cbe1e95e2 FirebaseSessions: a62ba5c45284adb7714f4126cfbdb32b17c260bd FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a Google-Mobile-Ads-SDK: 2b62c695321edc7827857ac19eaeab89b57f6862 GoogleAppMeasurement: d3dabccdb336fc0ae44b633c8abaa26559893cd9 GoogleDataTransport: f0308f5905a745f94fb91fea9c6cbaf3831cb1bd GoogleSignIn: b232380cf495a429b8095d3178a8d5855b42e842 GoogleUserMessagingPlatform: 5f8b30daf181805317b6b985bb51c1ff3beca054 GoogleUtilities: 9aa0ad5a7bc171f8bae016300bfcfa3fb8425749 GPUImage: 733a5f0fab92df9de1c37ba9df520a833ccb406d GTMAppAuth: 99fb010047ba3973b7026e45393f51f27ab965ae GTMSessionFetcher: e8647203b65cee28c5f73d0f473d096653945e72 IQKeyboardManager: b1fd66ccf7a79095bdcc4a2735231586f744216e JTNumberScrollAnimatedView: 2777d71cab7ca8126e9cfa99f9fdd22c37644d48 Kiwi: fbeafef0f00e4d8f7dcb3420a4930afe70af77f7 libwebp: f62cb61d0a484ba548448a4bd52aabf150ff6eef Masonry: 678fab65091a9290e40e2832a55e7ab731aad201 MJExtension: 21c5f6f8c4d5d8844b7ae8fbae08fed0b501f961 nanopb: b552cce312b6c8484180ef47159bc0f65a1f0431 PromisesObjC: 09985d6d70fbe7878040aa746d78236e6946d2ef PromisesSwift: cf9eb58666a43bbe007302226e510b16c1e10959 Protobuf: c6bc59bbab3d38a71c67f62d7cb7ca8f8ea4eca1 RongCloudIM: 1ebe6a394cf5289825c2ee62a63068bdc34856f4 SDCycleScrollView: a0d74c3384caa72bdfc81470bdbc8c14b3e1fbcf SDWebImage: 2aea163b50bfcb569a2726b6a754c54a4506fcf6 SDWebImageWebPCoder: f0f287cee4cd96a59937fbf3c77a8cfda9ba67b0 SSZipArchive: fe6a26b2a54d5a0890f2567b5cc6de5caa600aef SVGAPlayer: 318b85a78b61292d6ae9dfcd651f3f0d1cdadd86 SVProgressHUD: 1428aafac632c1f86f62aa4243ec12008d7a51d6 YBImageBrowser: 7ecc8bf33ffa5f3b94c397c29b4f3638dd37f527 YYImage: 1e1b62a9997399593e4b9c4ecfbbabbf1d3f3b54 ZFPlayer: 5cf39e8d9f0c2394a014b0db4767b5b5a6bffe13 zipzap: 940162d9c9c60472c2eab341385e4214da0fdf1c PODFILE CHECKSUM: 134286138670dc1222eb5e35925f4c67fc2b1c74 COCOAPODS: 1.12.1 ```
google-oss-bot commented 1 year ago

I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight.

rizafran commented 1 year ago

Thanks for reporting, @ysw-1031. To isolate the issue regarding your Notification Service Extension not working, could you try sending a direct notification via APNs or sending a notification message via console to see if you'll observe the same behavior?

ysw-1031 commented 1 year ago

Thanks for reporting, @ysw-1031. To isolate the issue regarding your Notification Service Extension not working, could you try sending a direct notification via APNs or sending a notification message via console to see if you'll observe the same behavior?

I tried sending a direct notification via APNs I got the same result as before. I can see the remote push information displayed on the iPhone, but the Notification Service Extension does not receive the notification.I can't edit the image or content of the notification. But if I removed FirebaseMessaging, Send notifications via APNs in the same way. I can get notifications in Notification Service Extension.So I think my Notification Service Extension related configuration should be fine.

rizafran commented 1 year ago

Thanks for the update, @ysw-1031. I noticed that you did a major SDK update from v7.8.0 to 10.11.0, and it's possible that there might be some changes in the config/code that causes the Notification Service Extension not to work. Could you provide the following info to see what's causing the issue:

google-oss-bot commented 1 year ago

Hey @ysw-1031. We need more information to resolve this issue but there hasn't been an update in 5 weekdays. I'm marking the issue as stale and if there are no new updates in the next 5 days I will close it automatically.

If you have more information that will help us get to the bottom of this, just add a comment!

google-oss-bot commented 1 year ago

Since there haven't been any recent updates here, I am going to close this issue.

@ysw-1031 if you're still experiencing this problem and want to continue the discussion just leave a comment here and we are happy to re-open this.

ysw-1031 commented 1 year ago

I solved the problem, but I still don't know how it came about.

I tried to create a new demo project, used the same code, and found that it was normal.So I created a new Notification Service Extension Target in my project and moved the previous code to this new Target.After that, receiving remote notifications is normal