This is a glossary of all the common issues in Firebase - Firebase Android SDK
  • 28-Dec-2022
Lightrun Team
Author Lightrun Team
Share
This is a glossary of all the common issues in Firebase - Firebase Android SDK

Troubleshooting Common Issues in Firebase – Firebase Android SDK

Lightrun Team
Lightrun Team
28-Dec-2022

Project Description

 

Firebase Android SDK is a set of libraries and tools that allow you to use the Firebase platform from your Android app. Firebase is a mobile and web application development platform that provides a range of services including real-time database, user authentication, cloud storage, and hosting.

The Firebase Android SDK includes the following components:

  1. Firebase Core: This library includes the core functionality of the Firebase platform, including the ability to connect to the Firebase Realtime Database, authenticate users, and access Firebase Cloud Storage.
  2. Firebase Analytics: This library provides tools for collecting, measuring, and analyzing user data. You can use this data to understand how users are interacting with your app and to optimize the user experience.
  3. Firebase Cloud Messaging: This library allows you to send and receive push notifications in your Android app.
  4. Firebase Crashlytics: This library helps you to identify and fix issues that cause your app to crash.
  5. Firebase Performance Monitoring: This library allows you to monitor the performance of your Android app and identify areas for improvement.

To use the Firebase Android SDK, you will need to set up a Firebase project and add the Firebase Android library to your app. You can find more information about how to do this in the Firebase documentation.

 

Troubleshooting Firebase – Firebase Android SDK with the Lightrun Developer Observability Platform

 

Getting a sense of what’s actually happening inside a live application is a frustrating experience, one that relies mostly on querying and observing whatever logs were written during development.
Lightrun is a Developer Observability Platform, allowing developers to add telemetry to live applications in real-time, on-demand, and right from the IDE.
  • Instantly add logs to, set metrics in, and take snapshots of live applications
  • Insights delivered straight to your IDE or CLI
  • Works where you do: dev, QA, staging, CI/CD, and production

The most common issues for Firebase – Firebase Android SDK are:

 

FirebaseAuth.getInstance().getCurrentUser().getUid() returning numbers in place of actual user id

 

https://firebase.google.com/docs/reference/android/com/google/firebase/auth/GetTokenResult#public-mapstring,-object-getclaims

Returns the entire payload claims of the ID token including the standard reserved claims as well as the custom claims (set by developer via Admin SDK). Developers should verify the ID token and parse claims from its payload on the backend and never trust this value on the client. Returns an empty map if no claims are present.

Map<String, Object> claims = result.getClaims();
String uid = claims.get("sub"); // or claims.get("user_id")
Map<String, Object> claims = result.getClaims();
String uid = claims.get("sub"); // or claims.get("user_id")

 

Using FCM notifications with data payloads leads to potentially confusing results

 

It is correct that using data payloads with Firebase Cloud Messaging (FCM) notifications can lead to potentially confusing results. This is because data payloads are not displayed as notifications on the device. Instead, they are delivered to the app as a key-value pair in the extras bundle of the Intent that launches the app.

Here are a few things to consider when using data payloads with FCM notifications:

  1. Use a notification payload in addition to a data payload: If you want to display a notification on the device, you should include a notification payload in addition to the data payload. The notification payload will be used to display the notification on the device, while the data payload will be delivered to the app.
  2. Test your app’s handling of data payloads: Make sure that your app is correctly handling the data payloads that it receives. This includes checking for the presence of the data payload and processing it appropriately.
  3. Consider the user experience: Be mindful of the user experience when using data payloads. For example, if you are sending a data payload that contains important information, you may want to include a notification payload so that the user is aware of the message.

 

157238998: Dynamic link not working with facebook

 

If you are experiencing issues with dynamic links not working with Facebook when using the Firebase Android SDK, there are a few things you can try to troubleshoot the problem:

  1. Check the dynamic link’s formatting: Make sure that the dynamic link is correctly formatted and that all required parameters are included. You can use the Firebase Dynamic Links console to test the link and verify that it is working correctly.
  2. Check the app’s support for dynamic links: Make sure that your app is properly set up to handle dynamic links and that it is registered to handle the correct URL schemes. You can do this by adding the <intent-filter> element to your app’s manifest file and specifying the correct URL schemes.
  3. Check the app’s installation: Make sure that the app is installed on the device and that it is the default app for handling the dynamic link’s URL scheme. If the app is not installed, the dynamic link will not work.
  4. Check for network issues: Make sure that the device has a stable internet connection and that there are no network issues that could prevent the dynamic link from being accessed.

 

Initialize FirebaseApp without google-services.json

 

It is generally recommended to initialize FirebaseApp using the google-services.json file, which is generated when you add Firebase to your Android app. This file contains the necessary configuration information for your app to connect to the Firebase backend.

However, it is possible to initialize FirebaseApp without using the google-services.json file. To do this, you will need to manually specify the necessary configuration information. Here’s an example of how you can do this:

FirebaseOptions firebaseOptions = new FirebaseOptions.Builder()
    .setApplicationId("1:1234567890:android:abcdefghijklmnop")
    .setApiKey("AIzaSyZXYZABCDEFGHIJKLMNOPQRSTUVWXYZABC")
    .setDatabaseUrl("https://my-project.firebaseio.com")
    .setProjectId("my-project")
    .setStorageBucket("my-project.appspot.com")
    .build();

FirebaseApp.initializeApp(getApplicationContext(), firebaseOptions);

Note that you will need to replace the placeholders in the above example with your own Firebase project’s configuration information. You can find this information in the Firebase console.

 

IOException: SERVICE_NOT_AVAILABLE, FIS_AUTH_ERROR

 

The “SERVICE_NOT_AVAILABLE, FIS_AUTH_ERROR” error can occur when using the Firebase Android SDK if there is a problem with the Firebase instance ID service or if there is an issue with the device’s Google Play Services configuration.

Here are a few things you can try to troubleshoot this error:

  1. Check the device’s network connection: Make sure that the device has a stable internet connection. If the device is not connected to the internet, it will not be able to communicate with the Firebase instance ID service.
  2. Check the device’s Google Play Services configuration: Make sure that the device has the latest version of Google Play Services installed and that it is properly configured. You can do this by going to the Google Play Store app and checking for updates.
  3. Check for Google Play Services conflicts: If you are using multiple libraries that depend on different versions of Google Play Services, this could cause conflicts and lead to the “SERVICE_NOT_AVAILABLE, FIS_AUTH_ERROR” error. To resolve this issue, you may need to use a version of Google Play Services that is compatible with all of the libraries you are using.
  4. Check the Firebase project’s configuration: Make sure that the Firebase project is correctly configured and that all necessary services are enabled. You can check the project’s configuration in the Firebase console.

 

More issues from Firebase repos

 

Troubleshooting firebase-firebase-tools | Troubleshooting firebase-firebase-admin-node | Troubleshooting firebase-firebase-ui-web

Share

It’s Really not that Complicated.

You can actually understand what’s going on inside your live applications.

Try Lightrun’s Playground

Lets Talk!

Looking for more information about Lightrun and debugging?
We’d love to hear from you!
Drop us a line and we’ll get back to you shortly.

By submitting this form, I agree to Lightrun’s Privacy Policy and Terms of Use.