I'm using Firebase Dynamic Link to redirect the users into our app and using the Google-provided domains (https://example.page.link) for the URL prefix. The link works fine for most people but sometimes some users might encountered with these issues:
Does anyone know what might cause this issue? I'm not sure how to reproduce these issues. Sometimes it will works after the user retry for multiple attempts.
Ps: It's a Flutter app. I've contacted Firebase support and they asked for minimal repro which I'm not sure how to create because it rarely happens but quite frequent. 😅
Possible Reason For this :
How many dynamic links can be created in firebase?
The quota is listed in the Dynamic Links documentation: Requests are
limited to 50 queries per second 5 requests/IP address/second, and
100,000 200,000 queries per day. If exceeded, then the response will
return HTTP error code 429/403/405.
Related
My application under ionic angular has been in production for several years, it suddenly stopped working and I get this error on firestore.
I can't add any document manually anymore. The other services (storage / authentication) work.
I should point out that this is not a device or browser error, I have already tried to change it. Moreover, the application no longer works, so it's not just a display bug.
I am on a "Pay as you go" plan with firebase. I have set a limit of 50€ which is far from being reached (0.14€ used)
The number of reads exceeded the 50k free limit yesterday (64k) but it shouldn't be a problem, besides everything was working fine this morning. It has not been exceeded today.
I have sent a message to firebase support. I am waiting for them to respond.
Do you know how I can solve this problem please?
Firebase Response:
Right now we're experiencing issues in which users may be unable to
access their database or see their collections in the Firebase
Console. We are already investigating further and working to solve it.
An apology for the inconvenience.
Regards,
The bug is tracked here : https://status.cloud.google.com/incidents/fmEL9i2fArADKawkZAa2 and seems bo te related to europe-west2
I am currently developing a social media application and ran into a scalability issue. The issue is best explained using an example. Lets say a person has 200k followers and creates a post. Now, when the person updates their post by changing the description perhaps, this will then make 200k calls to firebase to update the posts in each user's feeds. Another way is to load all the posts for the user upon opening the app, but this will require a system to load these posts that does not make a call for every new post they want to see. I am looking for a solution to this calls problem, as 200k calls in firebase would be incredibly expensive. Thank you for any and all help that you provide, and I appreciate all your time!
You could consider Firestore bundles, which allow you to read content through the through server API/SDKs once and then distribute that bundle of content to your clients out-of-band, where you then use a client-side API to insert the content into the local cache.
For more on this, see:
The Load Data Faster and Lower Your Costs with Firestore Data Bundles! blog post
The documentation on Firestore bundles
The Serve bundled Firestore content from a CDN solution guide
We are using Firebase/Google analytics for our Android and iOS app. Everything seemed to be sending data correctly and we were able to view the data in Big Query etc. However we started to notice that some data seemed to be getting lost.
We detected an odd situation where some users' analytics data stopped showing on Firebase/Google Analytics/Big Query, despite having previously received data from that user in the past. The data seems to just stop at a random point in time, for random users.
in_app_purchase events from those players were still appearing in the data on dates where they didn't have any other events. We checked our backend service (gamesparks) for their account and could see that they were active players who had been using the app very recently. That is, after their last event was appearing in Big Query.
After investigating some more and started finding other users who had the same issue. They would be sending data without issue and then all of a sudden we would receive nothing from them, except from in_app_purchase events/notification events etc which are sent via a seperate service (app store etc) rather than the client.
After scouring our implementation and going over it line by line comparing to the samples/documentation we couldn't really see any issues, and even the automatic events (session_start etc) stop appearing. We made sure we were using the latest versions of the firebase SDKs etc in the hope it would fix it but it made no difference.
One peculiar thing is that when we find a in_app_purchase event from one of these 'broken' players, things like the user properties and default parameters for that player have changed from when they stopped sending data, so it seems like the lost data is somewhere but not being logged anywhere.
I was wondering if it was possible for specific users to stop their app sending any analytics data to Firebase via a device/google account setting?
While looking into the documentation we noticed that if Google Play Services is installed on the device, data is sent via that, rather than via the client/firebase sdk itself. Is there any known issue with players changing their Google Play Services settings that could cause something like this?
Wondered if this was a known issue but please let me know what other information you might need.
EDIT: I also wanted to mention that although we can't be 100% certain, we believe this is only happening to our Android users. We haven't found any iOS users that have the same issue.
Thanks,
Matt
Context: I am total Google Cloud begginer and I have just convinced my company headers to use Firestore Realtime Database for pushing transaction status to our mobile application. We have around 4 millions users that will use significantly our application for small money transfers. Now-a-days we use the concept of polling from Android/IOS to our Microservice endpoints and it will replaced by Firebase SDK imported to our Mobile app which will listen/observe to our Firestore Collection following few Firestore Rules. Since all money transfer will be confirmed/denied in short time (from few seconds to 1 or 2 minutes) the idea of replacing polling by a real reactive approach straigh from Firestore sounded and is already ongoing coding.
The issue: Firstly I don't what to compare solutions. It is just my reality: the prodution support operators must look after our internal Dashboard. Isn't allowed to them look at Google Dashboard Console (please accept this for this question). I need get on demand metrics of our FIrestore. It is nothing to do with Google pricing. It is just our demand: they want to see metrics like:
how many users listening at the same time now
how many users took some exception during connection
is there any user holding connection for more than X minute
when was the connection pick this morning
any exception of any type surrounding our Firestore database
I read Code Samples carefully follow the sample step-by-step trying to figure out some idea if there is some API providing the answers I am looking for.
So, my straight question is: is there such type of Google API providing metrics about my Firestore Database? Maybe following the same idea we found in Performance Monitor which works on Mobile side also some similar aproach on Firestore side.
*** Edited
Future readers may find worth read also about a way to get Firestore metrics info striagh from curl/postman
A couple of things: You mentioned both Firestore and Realtime Database; just wanted to make sure that you are aware that those are two different databases offered under the Firebase umbrella.
how many users listening at the same time now
is there any user holding connection for more than X minute
Yes, there's a dashboard: https://support.google.com/firebase/answer/6317517?hl=en. Including lots of options, like users active in the last 30 mins.
how many users took some exception during connection
any exception of any type surrounding our Firestore database
Yes, you can track errors and other logging via Stack Driver logging. These can give you reports on your cloud functions.
https://cloud.google.com/functions/docs/monitoring
Where can I find Stackdriver in Firebase console?
when was the connection pick this morning
For this one, I'm not sure if you mean A. when did somebody log on in the morning, or B. what was the time that there was the peak \ most usage. If B see 1. If A,
Real-time database has the concept of presence, which lets you know if a user is currently logged in or not. See examples here from the official documentation:
https://firebase.google.com/docs/firestore/solutions/presence
and this post
How to make user presence mechanism using Firebase?
Also applies to your
is there any user holding connection for more than X minute
..............
Edit in response to comments: I believe you are experiencing the XY problem https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem where you are focused on a particular solution, even though your problem has other solutions. User metrics, database events, and errors are all accessible through both dashboards and cloud functions. You can cURL cloud functions if you wish, or set up cron functions to auto report, or set up database trigger functions to log errors. So, while the exact way you want this to work may not exist, you just need to connect existing tools to get the result you want.
I have upgraded a Firebase app to the new version, so I see my Firebase at console.firebase.google.com.
The console shows me a message Wow, you have a lot of users! Because you have over 500 users, they aren't automatically displayed. The only way to see any user details at all seems to be to search for a complete email address and that only works for users with a password.
I don't know how I came to have so many users, it's a development system and I am not aware of more than a dozen userIds. Regardless, I would like to delete them all.
I get the same message in a production system which also has less than 500 known users, so I must have some that are not real - I want to be able to view some details and delete them one by one.
The Docs don't provide a solution for either requirement. Any suggestions please?