-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Description
Description
We are facing an issue with Firebase Remote Config. When we toggle the network off and then back on, the Remote Config event stops being received by the app, happens at least once in 5 times. Sometimes, moving the app to the background and then foreground resolves the issue, but in other cases, we have to kill and relaunch the app.
Code: Swift
func startListenForRealtimeUpdates() { guard nil == configUpdateListenerRegistration else { return } configUpdateListenerRegistration = (RemoteConfigManager.shared.dataStore as? RemoteConfig)? .addOnConfigUpdateListener { [weak self] update, updateError in RemoteConfig.log(error: updateError, as: .configUpdateError) self?.configDidUpdate(update: update) } }
I have waited for more then 5 min but not receiving any event even after sending few from console.
Reproducing the issue
- Launch app on device
- Listener will start
- Update remote config on console. app will receive update event
- Turn off wifi on device.
- Update remote config on console.
- Turn wifi on.
- Many time app receive event after 2-3 minutes.
- But we have observed that if it stop receiving event. even after changing config multiple times app didn't receive event.
- We have waited for 5-10 min as well, same result.
- Attached a log when we reproduced this issue.
Firebase SDK Version
11.13.0
Xcode Version
26.1
Installation Method
Swift Package Manager
Firebase Product(s)
App Check, Remote Config, Analytics, Crashlytics
Targeted Platforms
iOS
Relevant Log Output
11.13.0 - [FirebaseCore][I-COR000003] The default Firebase app has not yet been configured. Add `FirebaseApp.configure()` to your application initialization. This can be done in in the App Delegate's application(_:didFinishLaunchingWithOptions:)` (or the `@main` struct's initializer in SwiftUI). Read more: https://firebase.google.com/docs/ios/setup#initialize_firebase_in_your_app
11.13.0 - [FirebaseCore][I-COR000001] Configuring the default app.
11.13.0 - [FirebaseCore][I-COR000033] Data Collection flag is not set.
11.13.0 - [GULReachability][I-REA902003] Monitoring the network status
11.13.0 - [GULReachability][I-REA902003] Monitoring the network status
11.13.0 - [FirebaseAnalytics][I-ACS024000] Debug mode is on
11.13.0 - [FirebaseAnalytics][I-ACS023007] Analytics v.11.13.0 started
11.13.0 - [FirebaseAnalytics][I-ACS023008] To disable debug logging set the following application argument: -noFIRAnalyticsDebugEnabled (see http://goo.gl/RfcP7r)
11.13.0 - [FirebaseAnalytics][I-ACS023009] Debug logging enabled
11.13.0 - [FirebaseAnalytics][I-ACS023207] To enable verbose logging set the following application argument: -FIRAnalyticsVerboseLoggingEnabled (see http://goo.gl/RfcP7r)
11.13.0 - [FirebaseInstallations][I-FIS002000] -[FIRInstallationsIDController createGetInstallationItemPromise], appName: __FIRAPP_DEFAULT
11.13.0 - [FirebaseAnalytics][I-ACS044000] GoogleAppMeasurementIdentitySupport dependency is linked.
[Firebase/Crashlytics] Version 11.13.0
11.13.0 - [FirebaseAnalytics][I-ACS044002] The AdSupport Framework is not currently linked. Some features will not function properly. Learn more at http://goo.gl/9vSsPb
11.13.0 - [FirebaseSessions][I-SES000000] Version 11.13.0. Expecting subscriptions from: [Crashlytics]
11.13.0 - [FirebaseCrashlytics][I-CLS000000] [Crashlytics] Running on iPhone14,5, 17.7.1 (21H216)
11.13.0 - [FirebaseCrashlytics][I-CLS000000] Registering Sessions SDK subscription for session data
11.13.0 - [FirebaseSessions][I-SES000000] Registering Sessions SDK subscriber with name: Crashlytics, data collection enabled: true
11.13.0 - [FirebaseCrashlytics][I-CLS000000] Session ID changed: bdd3f072fb124ce28af21ef32e6ec532
11.13.0 - [FirebaseAnalytics][I-ACS800023] No pending snapshot to activate. SDK name: app_measurement
11.13.0 - [FirebaseAnalytics][I-ACS029014] Successfully parsed a configuration. Version: 1762020598583034
11.13.0 - [FirebaseAnalytics][I-ACS002002] APMExperimentAlarm scheduled to fire in approx. (s): 6232.273630142212
11.13.0 - [FirebaseAnalytics][I-ACS023016] Analytics is ready to receive events
11.13.0 - [FirebaseCrashlytics][I-CLS000000] Root: /var/mobile/Containers/Data/Application/6BFAC0E5-09D2-489E-B429-06BF0749ED2E/Library/Caches/com.crashlytics.data/com.chamberlain.liftmasterprosynk.testing
11.13.0 - [FirebaseCrashlytics][I-CLS000000] Automatic data collection is enabled.
11.13.0 - [FirebaseCrashlytics][I-CLS000000] Unsent reports will be uploaded at startup
11.13.0 - [FirebaseCrashlytics][I-CLS000000] Registering RemoteConfig SDK subscription for rollouts data
11.13.0 - [FirebaseRemoteConfig][I-RCN000062] Loading database at path /var/mobile/Containers/Data/Application/6BFAC0E5-09D2-489E-B429-06BF0749ED2E/Library/Application Support/Google/RemoteConfig/RemoteConfig.sqlite3
11.13.0 - [FirebaseAnalytics][I-ACS032014] AdServices framework is not linked. Search Ad Attribution Reporter is disabled.
11.13.0 - [FirebaseRemoteConfig][I-RCN000069] Send rollouts state notification with name FIRRolloutsStateDidChangeNotification to RemoteConfigInterop.
11.13.0 - [FirebaseAnalytics][I-ACS023012] Analytics collection enabled
11.13.0 - [FirebaseAnalytics][I-ACS023220] Analytics screen reporting is enabled. Call Analytics.logEvent(AnalyticsEventScreenView, parameters: [...]) to log a screen view event. To disable automatic screen reporting, set the flag FirebaseAutomaticScreenReportingEnabled to NO (boolean) in the Info.plist
11.13.0 - [FirebaseRemoteConfig][I-RCN000067] Successfully set configSettings. Minimum Fetch Interval:0.000000, Fetch timeout:60.000000
11.13.0 - [GULReachability][I-REA902004] Network status has changed. Code:2, status:Connected
11.13.0 - [GULReachability][I-REA902004] Network status has changed. Code:2, status:Connected
11.13.0 - [GoogleUtilities/AppDelegateSwizzler][I-SWZ001008] Successfully created App Delegate Proxy automatically. To disable the proxy, set the flag GoogleUtilitiesAppDelegateProxyEnabled to NO (Boolean) in the Info.plist
11.13.0 - [FirebaseCrashlytics][I-CLS000000] [Crashlytics:Crash:Reports:Event] Registered Firebase Analytics event listener to receive breadcrumb logs
11.13.0 - [FirebaseAnalytics][I-ACS002002] Engagement timer scheduled to fire in approx. (s): 3600
11.13.0 - [FirebaseSessions][I-SES000000] Data Collection is enabled for at least one Subscriber
11.13.0 - [FirebaseSessions][I-SES000000] [Settings] Cache is not expired, no fetch will be made.
11.13.0 - [FirebaseInstallations][I-FIS002001] -[FIRInstallationsIDController installationWithValidAuthTokenForcingRefresh:0], appName: __FIRAPP_DEFAULT
11.13.0 - [FirebaseSessions][I-SES000000] Successfully logged Session Start event to GoogleDataTransport
11.13.0 - [FirebaseSessions][I-SES000000] Successfully logged Session Start event
11.13.0 - [FirebaseAnalytics][I-ACS002003] Engagement timer canceled
11.13.0 - [FirebaseAnalytics][I-ACS002002] Engagement timer scheduled to fire in approx. (s): 3600
11.13.0 - [FirebaseAnalytics][I-ACS002003] Engagement timer canceled
11.13.0 - [FirebaseAnalytics][I-ACS023051] Logging event: origin, name, params: auto, user_engagement (_e), {
engagement_time_msec (_et) = 11797;
ga_event_origin (_o) = auto;
}
11.13.0 - [FirebaseAnalytics][I-ACS023073] Debug mode is enabled. Marking event as debug and real-time. Event name, parameters: user_engagement (_e), {
engagement_time_msec (_et) = 11797;
ga_debug (_dbg) = 1;
ga_event_origin (_o) = auto;
ga_realtime (_r) = 1;
}
11.13.0 - [FirebaseAnalytics][I-ACS023072] Event logged. Event name, event params: user_engagement (_e), {
engagement_time_msec (_et) = 11797;
ga_debug (_dbg) = 1;
ga_event_origin (_o) = auto;
ga_realtime (_r) = 1;
}
11.13.0 - [FirebaseAnalytics][I-ACS002002] Measurement timer scheduled to fire in approx. (s): 0.9624519348144531
11.13.0 - [FirebaseAnalytics][I-ACS023105] Event is not subject to real-time event count daily limit. Marking an event as real-time. Event name, parameters: user_engagement (_e), {
engagement_time_msec (_et) = 11797;
ga_debug (_dbg) = 1;
ga_event_origin (_o) = auto;
ga_realtime (_r) = 1;
}
11.13.0 - [FirebaseAnalytics][I-ACS023087] User property set. Name, value: lifetime_user_engagement (_lte), 97000527
11.13.0 - [FirebaseAnalytics][I-ACS023087] User property set. Name, value: session_user_engagement (_se), 191024
11.13.0 - [FirebaseAnalytics][I-ACS012018] Saving bundle. size (bytes): 490
11.13.0 - [FirebaseAnalytics][I-ACS023116] Bundle added to the upload queue. BundleID, timestamp (ms): 338, 1762951441003
11.13.0 - [FirebaseAnalytics][I-ACS023039] Measurement data sent to network. Timestamp (ms), data: 1762951441093, <APMPBMeasurementBatch: 0x303e291a0>
11.13.0 - [FirebaseAnalytics][I-ACS900000] Uploading data. Host: https://app-analytics-services.com/a
11.13.0 - [FirebaseAnalytics][I-ACS901006] Received SSL challenge for host. Host: https://app-analytics-services.com/a
11.13.0 - [FirebaseAnalytics][I-ACS023044] Successful upload. Got network response. Code, size: 204, 0
11.13.0 - [FirebaseAnalytics][I-ACS002003] Measurement timer canceled
11.13.0 - [FirebaseAnalytics][I-ACS002002] Measurement timer scheduled to fire in approx. (s): 0.7881820201873779
11.13.0 - [FirebaseAnalytics][I-ACS002003] Measurement timer canceled
11.13.0 - [FirebaseAnalytics][I-ACS023142] Cancelling background upload task. Task ID : 16
nw_read_request_report [C1] Receive failed with error "Socket is not connected"
nw_read_request_report [C1] Receive failed with error "Socket is not connected"
nw_read_request_report [C1] Receive failed with error "Socket is not connected"
nw_read_request_report [C3] Receive failed with error "Socket is not connected"
nw_read_request_report [C3] Receive failed with error "Socket is not connected"
nw_read_request_report [C3] Receive failed with error "Socket is not connected"
11.13.0 - [GULReachability][I-REA902004] Network status has changed. Code:1, status:Disconnected
11.13.0 - [GULReachability][I-REA902004] Network status has changed. Code:1, status:Disconnected
11.13.0 - [GULReachability][I-REA902004] Network status has changed. Code:2, status:Connected
11.13.0 - [GULReachability][I-REA902004] Network status has changed. Code:2, status:Connected
11.13.0 - [FirebaseAnalytics][I-ACS002002] Engagement timer scheduled to fire in approx. (s): 3600
nw_read_request_report [C11] Receive failed with error "Operation timed out"
nw_read_request_report [C11] Receive failed with error "Operation timed out"
nw_read_request_report [C11] Receive failed with error "Operation timed out"
nw_endpoint_flow_fillout_data_transfer_snapshot copy_info() returned NULL
nw_read_request_report [C15] Receive failed with error "Socket is not connected"
nw_read_request_report [C15] Receive failed with error "Socket is not connected"
nw_read_request_report [C15] Receive failed with error "Socket is not connected"
nw_endpoint_flow_fillout_data_transfer_snapshot copy_info() returned NULLIf using Swift Package Manager, the project's Package.resolved
Expand Package.resolved snippet
{
"identity" : "firebase-ios-sdk",
"kind" : "remoteSourceControl",
"location" : "https://github.com/firebase/firebase-ios-sdk",
"state" : {
"revision" : "3663b1aa6c7a1bed67ee80fd09dc6d0f9c3bb660",
"version" : "11.13.0"
}
},
If using CocoaPods, the project's Podfile.lock
Expand Podfile.lock snippet
Replace this line with the contents of your Podfile.lock!