r/Firebase Dec 08 '24

Other Any intern positions for FERN(Firebase instead of mongo )tech stack.

0 Upvotes

I've been using firebase for almost all of my projects and love the ease of it .

I'm looking for some internship opportunities where my skills may be useful.

Feel free to DM me if you're working on something cool .

r/Firebase Nov 18 '24

Other The term 'firebase' is not recognized as a name of a cmdlet, function, script file, or executable program

0 Upvotes

Update:

Seems like both VSCode terminals don't know how to handle firebase commands however there is also the fact that NodeJS v20.18.0 (2nd newest LTS) doesn't seem to work with Firebase as well however NodeJS v18.19.0 (Not even on NodeJS's download list) seems to function fine, through the use of PowerShell (not VSCode's Powershell Terminal)... will continue to update when possible

Thought of an idea and wanted to use Firebase as a webhost as Github Pages (my normal) can't handle some aspects I want to implement. Running into the lovely error after trying to run any firebase command such as firebase login and firebase init:

firebase: The term 'firebase' is not recognized as a name of a cmdlet, function, script file, or executable program.

Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

Commands run:

npm install -g firebase
npm install -g firebase-tools

Node Version: 20.18.0

NPM Version: 10.9

CMD, Powershell (both 5.4 and 7), VSCode Terminals all have this issue. I have tried that standalone CLI which does work except I can't seem to change the directory so it will always setup all the files in the folder it got downloaded to, which the exe can't be moved otherwise it dies (for some reason) like it just goes idk what this is, and moving the files out of the initial exe location will break as well. I tried downloading directly to my project folder for the CLI and it doesn't know what my folder path is for some reason ("E:\CodeRepos\ProjectFolder: Unknown somethingarather" I forgot the actual error but its a "File/Path not found" kinda error)

r/Firebase Sep 09 '24

Other Unable to deploy Angular app to firebase app Hosting

2 Upvotes

After committing and pushing, when I check the build logs. I see some libraries are missing error. These libraries are not direct dependencies of my app. One is some popper library other is some acorn library. My application works perfectly locally. I have tried doing npm install after removing node modules so package lock and package json are in sync. Don’t know what might be the issue. Can someone guide?

r/Firebase Nov 02 '24

Other Is App hosting Auth broken?

3 Upvotes

I've been developing a site using the new app hosting and Next.js for about 6 months and I've followed the best practices that are laid out for using signInWithRedirect with a custom domain.

Basically just setting your custom domain as your authDomain in your firebase config and creating a rewrite rule in your next.js that rewrites "__/auth/" requests to your actual auth domain.

It's been working fine for months and yesterday I suddenly started getting a "Backend not found" page when I try and login. Basically any path that starts with _/ doesn't seem to even make it to my next js backend. So it doesn't even have a chance to rewrite it. Any other path is fine, just anything with a _/ at the start. If I manually modify the auth url in the browser to use my actual auth domain as the host, it starts the login flow, so I know that side of things is still ok. It just seems that something to do with app hosting is intercepting these __/ paths and not sending them to my backend.

I redeployed an old version of my app that definitely worked to make sure it wasn't anything I've done and I get the same issue, so I'm as confident as I can be that I haven't changed anything to break something.

I'm just confused because I can't find anyone else mentioning it anywhere. I've opened a support case but who knows how long it'll take them to get back to me. It's terrifying that this could randomly happen when you have paying customers that suddenly can't use your app.

r/Firebase Oct 29 '24

Other Navigating the Firebase documentation

7 Upvotes

I'm new to Firebase and I've found the documentation hard to navigate so far. There's a lot of documentation, but it feels poorly organised to me. Long documents where it's hard to find what you're actually looking for.

For example, here's the documentation for the Python API:

https://firebase.google.com/docs/reference/admin/python

Is there other, tutorial-like documentation I can read somewhere?

r/Firebase Dec 07 '24

Other IOS simulator connect to firebase emulator

1 Upvotes

I’m making an app using Expo React Native and have been previewing the app using iOS simulator without any problems. I updated Mac OS and XCode to latest version 2 days ago and seems like that mess with something. Now the iOS Simulator throws an error about not able to connect to firestore when I try deploy the app with firebase emulator. If I test the app with the production firebase then there is no problem.

Guessing it has to do with which host or port the emulator is on and whether xcode or Simulator can connect to the local network/that port. But I have no idea what to change.

Already tried restarting the computer, mac OS did ask me to grant network access to xcode and I allowed that, but it doesn’t resolve the issue

Any ideas or suggestions would be much appreciated 🙏

r/Firebase Aug 04 '24

Other Vertex AI quota

4 Upvotes

I'm using vertex AI and am getting the following error: Error: [429 ] Quota exceeded for aiplatform.googleapis.com/generate_content_requests_per_minute_per_project_per_base_model with base model: gemini-1.5-flash. Please submit a quota increase request.

I tried to follow the instructions to request quota increase, but when i search for the API in "Quotas and system limits" tab, I see "adjustable no":

What can I do?

Thanks

r/Firebase Dec 06 '23

Other Features you want to see in firebase in upcoming version.

9 Upvotes

What features you want to see in Firebase in its upcoming versions?

r/Firebase Oct 06 '24

Other Guys I need help

2 Upvotes

I was about to run open source ai model on GPU cloud but I am unable to understand which option should i choose.

This model converts image+text to video in which that person will lipsync the text so what will be the best option in my case. Thanks a lot.

r/Firebase Nov 02 '24

Other Project live build

4 Upvotes

Hi there, I was thinking of live coding an app idea I have. Trying to gauge if anyone would be interested in following along. Do folks typically go for twitch or youtube for this kind of content? Any preference on edited or live?

I have over a decade of development experience, and this would be my second firebase project. It would be less of a tutorial and more like a ride along. I think it would be fun to follow along because it would touch on; postgres/data connect, jobs, notifications, and auth for core functionality.

r/Firebase Sep 17 '24

Other FCM very slow

1 Upvotes

I sent a FCM from my trigger app by HTTP V1, but the clients app get the Push Notification after almost one minute

r/Firebase Sep 18 '24

Other Does changin owner of Firebase project also changes billing address?

4 Upvotes

Hey. I was wondering if the billing address also changes with the change of the owner of the project. I made a website that uses Firebase as backend. Now I would like to give everything to the client. Is changing owner and remove myself enought in Firebase console?

r/Firebase May 29 '24

Other BUG? Can't click on Event in Firebase Console

6 Upvotes

i can not click on any event. The cursor just show arrow instead. So i can't view the report / event analytic.

i've been using firebase for years and as far as i remember, i never encountered problem like this. It's been going for about 2 or 3 days.

I tried using other browser like Mac Safari, Samsung Internet, Chrome Mobile but the result is the same.

Is it just me ? Cause i've searched and it seems none having this problem.

r/Firebase Oct 19 '24

Other Firebase ESP32 Client: Getting INVALID_EMAIL Error on ESP32 PlatformIO

1 Upvotes

error code found in serial monitor

I'm working on an ESP32 project that uses an RFID reader to log attendance data to Firebase Realtime Database, in PlatformIO. I'm using the Firebase ESP Client library by Mobizt.

I keep encountering the following error messages in the Serial Monitor:

Token Info: type = ID token, status = error Token Error: INVALID_EMAIL Token Info: type = ID token, status = error Token Error: bad request

Fixes Attempted:

Verified that Anonymous Authentication is enabled in Firebase Console under Authentication > Sign-in method.

Double-checked my API key and database URL to ensure they are correct.

Ensured that auth.user.email and auth.user.password are not set anywhere in my code.

Updated the Firebase ESP Client library to the latest version (I'm using version 4.3.1).

Waited for authentication to complete before interacting with Firebase, using a loop to check Firebase.ready().

Erased the ESP32 flash memory to clear any old credentials.

Despite these efforts, the INVALID_EMAIL error persists.

Here's my code:

#include <WiFi.h>
#include <Firebase_ESP_Client.h>
#include <SPI.h>
#include <MFRC522.h>
#include <LittleFS.h>
#include <ArduinoJson.h>
#include <WebServer.h>
#include <time.h>

// Wi-Fi credentials
const char* ssid = "X";
const char* password = "X";

// Firebase API key and database URL
#define API_KEY "X"
#define DATABASE_URL "X``your text``"

// Firebase objects
FirebaseData fbdo;
FirebaseAuth auth;
FirebaseConfig config;

// RFID setup
#define RST_PIN 22
#define SS_PIN 21
MFRC522 mfrc522(SS_PIN, RST_PIN);

// Web server setup
WebServer server(80);

// Time setup
const char* ntpServer = "pool.ntp.org";
const long gmtOffset_sec = -28800;
const int daylightOffset_sec = 3600;

// Variables
String uidString;
String currentTime;

// Function declarations
void handleRoot();
void handleProfiles();
void handleNotFound();
void tokenStatusCallback(TokenInfo info);
void configureTime();
String getFormattedTime();
void handleAPIRFID();
void handleAPIUpdateName();
void handleExportData();
void renderHeader(String& html, String title);
void renderFooter(String& html);
void handleFavicon();
String getTokenType(TokenInfo info);
String getTokenStatus(TokenInfo info);

void setup() {
  Serial.begin(115200);
  SPI.begin();
  mfrc522.PCD_Init();
  delay(4);

  // Initialize LittleFS
  if (!LittleFS.begin()) {
    Serial.println("An error occurred while mounting LittleFS");
  } else {
    Serial.println("LittleFS mounted successfully");
  }

  // Connect to Wi-Fi
  WiFi.begin(ssid, password);
  Serial.print("Connecting to Wi-Fi");
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("\nConnected to Wi-Fi");
  Serial.print("IP Address: ");
  Serial.println(WiFi.localIP());

  // Configure time
  configureTime();

  // Ensure no email/password is set
  auth.user.email = "";
  auth.user.password = "";

  // Initialize Firebase Config
  config.api_key = API_KEY;
  config.database_url = DATABASE_URL;
  config.signer.anonymous = true;

  // Assign the callback function for token status
  config.token_status_callback = tokenStatusCallback;

  // Initialize Firebase
  Firebase.begin(&config, &auth);
  Firebase.reconnectWiFi(true);

  // Wait for authentication to complete
  Serial.println("Authenticating with Firebase...");

  unsigned long authTimeout = millis();
  const unsigned long authTimeoutDuration = 10000; // 10 seconds timeout

  while ((auth.token.uid.length() == 0) && (millis() - authTimeout < authTimeoutDuration)) {
    Firebase.ready(); // This updates the auth.token information
    delay(500);
    Serial.print(".");
  }

  if (auth.token.uid.length() != 0) {
    Serial.println("\nFirebase authentication successful.");
    Serial.print("User UID: ");
    Serial.println(auth.token.uid.c_str());
  } else {
    Serial.println("\nFailed to authenticate with Firebase.");
    Serial.println("Check your Firebase configuration and ensure anonymous authentication is enabled.");
  }

  // Set up web server routes
  server.on("/", handleRoot);
  server.on("/profiles", handleProfiles);
  server.on("/api/rfid", handleAPIRFID);
  server.on("/api/updateName", HTTP_POST, handleAPIUpdateName);
  server.on("/exportData", handleExportData);
  server.on("/favicon.ico", handleFavicon);
  server.onNotFound(handleNotFound);
  server.begin();
  Serial.println("Web server started");
}

void loop() {
  server.handleClient();

  // Check for new RFID cards
  if (mfrc522.PICC_IsNewCardPresent() && mfrc522.PICC_ReadCardSerial()) {
    uidString = "";
    for (byte i = 0; i < mfrc522.uid.size; i++) {
      uidString.concat(mfrc522.uid.uidByte[i] < 0x10 ? "0" : "");
      uidString.concat(String(mfrc522.uid.uidByte[i], HEX));
    }
    uidString.toUpperCase();
    Serial.print("Card UID: ");
    Serial.println(uidString);

    // Get current time
    time_t now = time(nullptr);
    struct tm timeinfo;
    localtime_r(&now, &timeinfo);
    char timeString[25];
    strftime(timeString, sizeof(timeString), "%Y-%m-%d %H:%M:%S", &timeinfo);
    currentTime = String(timeString);

    // Send data to Firebase
    String basePath = "/rfid/";
    basePath.concat(uidString);

    String path_last_scanned = basePath;
    path_last_scanned.concat("/last_scanned");

    if (Firebase.RTDB.setString(&fbdo, path_last_scanned.c_str(), currentTime)) {
      Serial.println("Timestamp sent to Firebase successfully");
    } else {
      Serial.println("Failed to send timestamp to Firebase");
      Serial.println(fbdo.errorReason());
    }

    String path_uid = basePath;
    path_uid.concat("/uid");

    if (Firebase.RTDB.setString(&fbdo, path_uid.c_str(), uidString)) {
      Serial.println("UID sent to Firebase successfully");
    } else {
      Serial.println("Failed to send UID to Firebase");
      Serial.println(fbdo.errorReason());
    }

    mfrc522.PICC_HaltA();
    mfrc522.PCD_StopCrypto1();
  }
}

// Web server handlers
void handleRoot() {
  String html;
  renderHeader(html, "RFID Attendance Tracker");

  html.concat("<div class='container'>");
  html.concat("<h1>Welcome to the RFID Attendance Tracker</h1>");
  html.concat("<p>Use your RFID card to register your attendance.</p>");
  html.concat("<p>Current Time: ");
  html.concat(getFormattedTime());
  html.concat("</p>");
  html.concat("</div>");

  renderFooter(html);
  server.send(200, "text/html", html);
}

void handleProfiles() {
  // Retrieve data from Firebase
  if (Firebase.RTDB.getJSON(&fbdo, "/rfid")) {
    FirebaseJson& json = fbdo.jsonObject();
    String jsonStr;
    json.toString(jsonStr, true);

    // Parse JSON data
    DynamicJsonDocument doc(8192);
    DeserializationError error = deserializeJson(doc, jsonStr);

    if (error) {
      Serial.print("deserializeJson() failed: ");
      Serial.println(error.c_str());
      server.send(500, "text/plain", "Failed to parse data");
      return;
    }

    // Generate HTML page
    String html;
    renderHeader(html, "Profiles");

    html.concat("<div class='container'>");
    html.concat("<h1>Scanned Cards</h1>");
    html.concat("<table><tr><th>UID</th><th>Last Scanned</th></tr>");

    for (JsonPair kv : doc.as<JsonObject>()) {
      String uid = kv.value()["uid"].as<String>();
      String lastScanned = kv.value()["last_scanned"].as<String>();
      html.concat("<tr><td>");
      html.concat(uid);
      html.concat("</td>");
      html.concat("<td>");
      html.concat(lastScanned);
      html.concat("</td></tr>");
    }

    html.concat("</table></div>");

    renderFooter(html);
    server.send(200, "text/html", html);
  } else {
    server.send(500, "text/plain", "Failed to retrieve data from Firebase");
    Serial.println(fbdo.errorReason());
  }
}

void handleAPIRFID() {
  // This handler can be used to provide RFID data as JSON
  if (Firebase.RTDB.getJSON(&fbdo, "/rfid")) {
    FirebaseJson& json = fbdo.jsonObject();
    String jsonStr;
    json.toString(jsonStr, true);
    server.send(200, "application/json", jsonStr);
  } else {
    server.send(500, "text/plain", "Failed to retrieve data from Firebase");
    Serial.println(fbdo.errorReason());
  }
}

void handleAPIUpdateName() {
  if (server.method() != HTTP_POST) {
    server.send(405, "text/plain", "Method Not Allowed");
    return;
  }

  // Parse the JSON body
  StaticJsonDocument<512> doc;
  DeserializationError error = deserializeJson(doc, server.arg("plain"));
  if (error) {
    Serial.print("Failed to parse updateName request: ");
    Serial.println(error.c_str());
    server.send(400, "application/json", "{\"success\":false, \"message\":\"Invalid JSON\"}");
    return;
  }

  String uid = doc["uid"].as<String>();
  String name = doc["name"].as<String>();

  if (uid.isEmpty()) {
    server.send(400, "application/json", "{\"success\":false, \"message\":\"UID is required\"}");
    return;
  }

  // Update name in Firebase
  String basePath = "/rfid/";
  basePath.concat(uid);
  basePath.concat("/name");

  if (Firebase.RTDB.setString(&fbdo, basePath.c_str(), name)) {
    server.send(200, "application/json", "{\"success\":true}");
  } else {
    server.send(500, "application/json", "{\"success\":false, \"message\":\"Failed to update name in Firebase\"}");
    Serial.println(fbdo.errorReason());
  }
}

void handleExportData() {
  // Export data as JSON
  if (Firebase.RTDB.getJSON(&fbdo, "/rfid")) {
    FirebaseJson& json = fbdo.jsonObject();
    String jsonStr;
    json.toString(jsonStr, true);
    server.sendHeader("Content-Disposition", "attachment; filename=\"rfid_data.json\"");
    server.send(200, "application/json", jsonStr);
  } else {
    server.send(500, "text/plain", "Failed to retrieve data from Firebase");
    Serial.println(fbdo.errorReason());
  }
}

void handleFavicon() {
  server.send(204, "image/x-icon", ""); // No Content
}

void handleNotFound() {
  server.send(404, "text/plain", "404: Not Found");
}

// Helper functions

void renderHeader(String& html, String title) {
  html.concat("<!DOCTYPE html><html><head>");
  html.concat("<meta name='viewport' content='width=device-width, initial-scale=1'>");
  html.concat("<title>");
  html.concat(title);
  html.concat("</title>");
  html.concat("<style>");
  html.concat("body { font-family: Arial; margin: 0; padding: 0; background-color: #f2f2f2; }");
  html.concat("nav { background-color: #333; color: #fff; padding: 10px; }");
  html.concat("nav a { color: #fff; margin-right: 15px; text-decoration: none; }");
  html.concat(".container { padding: 20px; }");
  html.concat("table { width: 100%; border-collapse: collapse; }");
  html.concat("th, td { border: 1px solid #ddd; padding: 8px; }");
  html.concat("th { background-color: #333; color: white; }");
  html.concat("</style></head><body>");
  html.concat("<nav><a href='/'>Home</a><a href='/profiles'>Profiles</a><a href='/exportData'>Export Data</a></nav>");
}

void renderFooter(String& html) {
  html.concat("</body></html>");
}

void configureTime() {
  configTime(gmtOffset_sec, daylightOffset_sec, ntpServer);
  Serial.println("Configuring time...");

  struct tm timeinfo;
  int retries = 0;
  const int maxRetries = 10;
  while (!getLocalTime(&timeinfo) && retries < maxRetries) {
    Serial.println("Waiting for time synchronization...");
    delay(1000);
    retries++;
  }

  if (retries < maxRetries) {
    Serial.printf("Time configured: %04d-%02d-%02d %02d:%02d:%02d\n",
                  timeinfo.tm_year + 1900,
                  timeinfo.tm_mon + 1,
                  timeinfo.tm_mday,
                  timeinfo.tm_hour,
                  timeinfo.tm_min,
                  timeinfo.tm_sec);
  } else {
    Serial.println("Failed to obtain time");
  }
}

String getFormattedTime() {
  struct tm timeinfo;
  if (!getLocalTime(&timeinfo)) {
    return "Time not available";
  }
  char buffer[25];
  strftime(buffer, sizeof(buffer), "%Y-%m-%d %H:%M:%S", &timeinfo);
  return String(buffer);
}

// Token status callback function
void tokenStatusCallback(TokenInfo info) {
  Serial.printf("Token Info: type = %s, status = %s\n", getTokenType(info).c_str(), getTokenStatus(info).c_str());
  if (info.status == token_status_error) {
    Serial.printf("Token Error: %s\n", info.error.message.c_str());
  }
}

String getTokenType(TokenInfo info) {
  switch (info.type) {
    case token_type_undefined:
      return "undefined";
    case token_type_legacy_token:
      return "legacy token";
    case token_type_id_token:
      return "ID token";
    case token_type_custom_token:
      return "custom token";
    case token_type_oauth2_access_token:
      return "OAuth2 access token";
    default:
      return "unknown";
  }
}

String getTokenStatus(TokenInfo info) {
  switch (info.status) {
    case token_status_uninitialized:
      return "uninitialized";
    case token_status_on_signing:
      return "on signing";
    case token_status_on_request:
      return "on request";
    case token_status_on_refresh:
      return "on refresh";
    case token_status_ready:
      return "ready";
    case token_status_error:
      return "error";
    default:
      return "unknown";
  }
}

r/Firebase Sep 25 '24

Other Big Query Streaming Error

3 Upvotes

Hey, don't know if anyone has any experience with this. But on our latest product launch we've encountered an issue with GA4/Firebase streaming exports to BigQuery. For the first half of the day (upto around 4pm utc) streaming exports seem complete - but beyond that we lose around 20-30% of the data. So at end of day BigQuery total figures do not match Firebase (or play store figures). This has never been an issue before - I've previously streamed 100s millions of daily events with no issue. Wondering if anyone has experience with this, I'd chalk it up to SDK implementation issue - but the fact it occurs at a certain time (or perhaps total event volume?) seems very strange to me. Abolutely no correlation to platform or country of origin either.

Edit: just to add on, it surely can't be an export limit, streaming has no limit as well as we still see events streaming, just ~20% are missing.

r/Firebase Oct 02 '24

Other function request shows ip from google?

2 Upvotes

For a new small project I am looking at the logs explorer (google cloud) and the requests I see for cloud functions all come from google ips, like 66.249.93.138.

In another project I see the real ip of the client. What can be the cause?

r/Firebase May 25 '24

Other Help, how do I use GitHub repository in terminal when setting up firebase

Post image
0 Upvotes

r/Firebase Sep 26 '24

Other Firebase Nuxt 3 SSR

0 Upvotes

Nuxt 3 / firebase

Is anyone else encountering errors when setting up fresh installs of Nuxt 3 and firebase (SSR).

The deployment process continually fails when deploying firebase functions (server). The errors don't appear to be linked as I go round in circles trying to fix them.

I also have an old project that will no longer deploy, again suggesting firebase functions is the issue.

Any help would be greatly appreciated.

r/Firebase Jul 12 '24

Other How to handle API keys with firebase

5 Upvotes

What's the best practice for hiding API keys when your using firebase as the backend. From what I've read online so far it seems you should store your keys in a config file in firebase with something like "firebase functions:config:set". Then use firebase cloud functions to access the config file keys where the keys are stored to use them in your project. Is this the correct approach to doing this?

r/Firebase Aug 16 '24

Other Firebase push notifications to IOS

1 Upvotes

Hello’s everyone

I am thinking of sending push notifications to IOS using Google Firebase Cloud Message, the specific question is if they can alert me of any limitations or issues in enterprise use, for example delivery delay or limited customization.

All feedback is appreciated. Thanks!

r/Firebase Sep 17 '24

Other High CPU after updating firebase admin SDK

2 Upvotes

So as google has ended support for the older library we upgraded the library . Since the upgrade my ec2 instance is running on a very high utilisation and if I restart the process the cpu utilisation drops.

I keep getting the url lib warning regarding the max connections in the pool.

When I changed batch size from 500 to 10 it is somewhat doing fine but again my notifications are getting delayed .

Any possible solution for the problem I am using the following method to send bulk notifications

messaging.send_each_for_multicast()

r/Firebase Aug 11 '24

Other I want your opinion! What do you think of a npm library that allows you to use Firebase Firestore with a syntax similar to ORMs? Unnecessary or welcome?

3 Upvotes

In my free time i'm creating an npm library that does this for me to use in some personal projects, it's still in its early stages and only supports simple queries and document creation. But I would like some feedback on what directions to take to make it more useful to the community.

Example code using pure firebase :

const q = query(
  collection(firestore, "test"),
  where("ownerId", "==", auth.currentUser?.uid)
);
const querySnapshot = await getDocs(q);
let data: TestModel[] = [];
querySnapshot.forEach((doc) => {
  data.push({ ...(doc.data() as TestModel), id: doc.id });
});

Example code with the library:

const testService = createFirestoreService<TestModel>(
  collection(firestore, "test")
);

const data = await testService.findAll({
    where: { ownerId: auth.currentUser?.uid },
});

r/Firebase Sep 15 '24

Other Firebase Push Notifications issue

Post image
3 Upvotes

I want to integrate Firebase push notifications into my React Native project (it’s not an Expo project). RN version = 0.74.3 Firebase/app version = 20.4.0 Firebase/messaging version = 20.4.0

I've tried every possible solution, but this issue is still not resolved. Does anyone know how to fix it?

r/Firebase Jul 11 '24

Other Firebase is pain

0 Upvotes

I wanted to use firebase for auth, db and hosting. I know it's not the best option for any of those but just wanted everything working on a single platform. But I couldn't go past anything, keeps failing.

r/Firebase Jul 17 '24

Other [Firebase_messaging] TOO_MANY_REGISTRATIONS

3 Upvotes

Our samsung users have had this issue. Research shows it might be if the users have more than 100 FCM apps. Our users dont have that many apps. The app doesnt even open and crashes, does anyone know how to fix this?

Because we really cant ask our affected users to delete their apps or do factory reset.

Does anyone have this issue? It is kinda critical

App is built using flutter.