firebase-android-sdk icon indicating copy to clipboard operation
firebase-android-sdk copied to clipboard

Change of Endpoints to fetch Crashlytics Settings

Open imran-samed7 opened this issue 3 months ago • 6 comments

Is it possible to change the endpoints to fetch Crashlytics settings in the Android SDK when using Crashlytics?

We are utilizing IoT SIMs on our devices, and the *.crashlytics.com API is not allowed with our SIM, while *.googleapis.com is permitted. Is there an API available that allows me to modify the endpoints to retrieve crashlytics settings? or some pre-defined settings, which I can store locally in the project and inject while initiating Crashlytics APIs.

Or is there any exposed REST API to push/pull crashlytics Data ?

1. 2025-08-29 13:08:43.829 FirebaseCrashlytics Requesting settings from https://firebase-settings.crashlytics.com/spi/v2/platforms/android/gmp/1:701935098571:android:41edb08d0c38b3f10f194e/settings

Change endpoints to fetch settings for the Crashlytics?

Just wants to fetch settings for Crashlytics.


2025-08-29 13:08:43.527 FirebaseSessions                    Dependency to CRASHLYTICS added.
2025-08-29 13:08:43.640 FirebaseCrashlytics                 Initializing Firebase Crashlytics 20.0.1 for com.xxxxxxxx.xxx
2025-08-29 13:08:43.692 FirebaseCrashlytics                 Crashlytics automatic data collection ENABLED by API.
2025-08-29 13:08:43.703 FirebaseCrashlytics                 Crashlytics native component now available.
2025-08-29 13:08:43.734 FirebaseSessions                    Subscriber CRASHLYTICS registered.
2025-08-29 13:08:43.738 FirebaseCrashlytics                 Could not find resources: 0 0 0
2025-08-29 13:08:43.739 FirebaseCrashlytics                 Mapping file ID is: 00000000000000000000000000000000
2025-08-29 13:08:43.758 FirebaseCrashlytics                 Checking for cached settings...
2025-08-29 13:08:43.759 FirebaseCrashlytics                 No cached settings data found.
2025-08-29 13:08:43.794 FirebaseCrashlytics                 Registering RemoteConfig Rollouts subscriber
2025-08-29 13:08:43.812 FirebaseCrashlytics                 Crashlytics automatic data collection ENABLED by API.
2025-08-29 13:08:43.829 FirebaseCrashlytics                 Requesting settings from https://firebase-settings.crashlytics.com/spi/v2/platforms/android/gmp/1:701935098571:android:41edb08d0c38b3f10f194e/settings
2025-08-29 13:08:43.945 FirebaseCrashlytics                 Opening a new session with ID 68B15903030A00010E0726C04E7FBEE1
2025-08-29 13:08:43.945 FirebaseCrashlytics                 Successfully configured exception handler.
2025-08-29 13:08:43.946 FirebaseCrashlytics                 Initializing Crashlytics blocked main for 319 ms
2025-08-29 13:08:43.954 FirebaseCrashlytics                 Initializing native session: 68B15903030A00010E0726C04E7FBEE1
2025-08-29 13:08:43.960 FirebaseCrashlytics                 No dynamic features found at /data/user/0/com.xxxxxxxx.xxx/files/splitcompat/1/verified-splits
2025-08-29 13:08:44.013 FirebaseCrashlytics                 Could not register handler for breadcrumbs events.
2025-08-29 13:08:44.014 FirebaseCrashlytics                 Read version control info from string resource
2025-08-29 13:08:44.016 FirebaseCrashlytics                 Saved version control info
2025-08-29 13:08:44.030 FirebaseCrashlytics                 Crashlytics automatic data collection ENABLED by API.
2025-08-29 13:08:44.030 FirebaseCrashlytics                 Automatic data collection is enabled. Allowing upload.
2025-08-29 13:08:44.032 FirebaseCrashlytics                 Sending cached crash reports...
2025-08-29 13:08:44.230 FirebaseSessions                    Initializing Firebase Sessions 3.0.1.
2025-08-29 13:08:44.252 FirebaseCrashlytics                 Settings request failed. (Ask Gemini)
                                                            javax.net.ssl.SSLHandshakeException: SSL handshake aborted: ssl=0xa9f273a8: I/O error during system call, Connection reset by peer
                                                            	at com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method)
                                                            	at com.android.org.conscrypt.NativeSsl.doHandshake(NativeSsl.java:393)
                                                            	at com.android.org.conscrypt.ConscryptFileDescriptorSocket.startHandshake(ConscryptFileDescriptorSocket.java:226)
                                                            	at com.android.okhttp.internal.io.RealConnection.connectTls(RealConnection.java:196)
                                                            	at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:153)
                                                            	at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:116)
                                                            	at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:186)
                                                            	at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128)
                                                            	at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97)
                                                            	at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:289)
                                                            	at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:232)
                                                            	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465)
                                                            	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:131)
                                                            	at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.connect(DelegatingHttpsURLConnection.java:90)
                                                            	at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:30)
                                                            	at com.google.firebase.crashlytics.internal.network.HttpGetRequest.execute(HttpGetRequest.java:80)
                                                            	at com.google.firebase.crashlytics.internal.settings.DefaultSettingsSpiCall.invoke(DefaultSettingsSpiCall.java:114)
                                                            	at com.google.firebase.crashlytics.internal.settings.SettingsController$1.lambda$then$0$com-google-firebase-crashlytics-internal-settings-SettingsController$1(SettingsController.java:204)
                                                            	at com.google.firebase.crashlytics.internal.settings.SettingsController$1$$ExternalSyntheticLambda0.call(D8$$SyntheticClass:0)
                                                            	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
                                                            	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
                                                            	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
                                                            	at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$com-google-firebase-concurrent-CustomThreadFactory(CustomThreadFactory.java:47)
                                                            	at com.google.firebase.concurrent.CustomThreadFactory$$ExternalSyntheticLambda0.run(D8$$SyntheticClass:0)
                                                            	at java.lang.Thread.run(Thread.java:919)
2025-08-29 13:08:44.257 FirebaseCrashlytics                 Crashlytics automatic data collection ENABLED by API.
2025-08-29 13:08:44.345 FirebaseSessions                    Fetching settings from server.
2025-08-29 13:08:44.405 FirebaseCrashlytics                 App Quality Sessions session changed: SessionDetails(sessionId=84e65b1caee840eaa9f10cb3d317f3eb)
2025-08-29 13:08:44.407 FirebaseSessions                    Notified CRASHLYTICS of new session 84e65b1caee840eaa9f10cb3d317f3eb
2025-08-29 13:08:44.513 FirebaseSessions                    Error failed to fetch the remote configs: SSL handshake aborted: ssl=0xa9f27b18: I/O error during system call, Connection reset by peer
2025-08-29 13:08:44.922 FirebaseCrashlytics                 Crashlytics automatic data collection ENABLED by API.

imran-samed7 avatar Aug 29 '25 07:08 imran-samed7

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

google-oss-bot avatar Aug 29 '25 07:08 google-oss-bot

@lehcar09 Is it possible to keep the initial data needed by Crashlytics in the google-services.json file itself? If so, please assist me with this. Alternatively, is there another way to skip the initial settings fetch and add data locally?

imran-samed7 avatar Aug 29 '25 09:08 imran-samed7

@lehcar09 can anyone else help on this? This is urgent.

imran-samed7 avatar Sep 01 '25 05:09 imran-samed7

@cherylEnkidu @sheepmaster @dlackty Kindly help with this.

imran-samed7 avatar Sep 01 '25 06:09 imran-samed7

@imran-samed7 I'm flattered that you are tagging me for help with this, but I have not been on Firebase (or working at Google, for that matter) for quite some time now.

sheepmaster avatar Sep 01 '25 07:09 sheepmaster

Hi @imran-samed7, thank you for reaching out. Currently, there is no API that allows users to modify the endpoints to retrieve the Crashlytics settings. Nor REST API where you can pull these data.

We recommend whitelisting the ff. Endpoints for Crashlytics:

*.crashlytics.com
crashlyticsreports-pa.googleapis.com
firebasecrashlyticssymbols.googleapis.com

I'll mark this as a feature request. However, we are unable to promise any timeline for this, we'll definitely keep this under our radar.

P.S. For folks who find this useful, adding an emoji thumbs up on the original post can help us prioritize adding this to the roadmap.

lehcar09 avatar Sep 01 '25 18:09 lehcar09