I want to undo my mistakes on firebase blaze charges - firebase

I am developing an app using Firebase as backend.
However, due to my coding mistake, 12.18 million read requests went into FireStore.
This app has not been released yet, and only worked on my emulator.
It's an app that hasn't even been released yet, so I believe it can fix this mishap.
Is there a way to fix this incident, or contact Google?
I'm so scared of how much it will cost

firebase here
Sorry that you're having such a stressful experience. A quick check on the pricing calculator shows that 12m reads cost around $7.
Aside from that, there's nothing anyone here on Stack Overflow can do about a billing charge like that. I recommend that you reach out to Firebase support for personalized help in troubleshooting.
Going forward, consider using the Firebase emulators during development, which will never result in any billing charge

Related

Error loading collections You have gone over your daily usage limits

My app is still in development and I uploaded about 35.6 MB of images to firebase storage.
suddenly the application stopped working and I cannot access the Firestore From the Firebase console. it shows the message
Error loading collections
You have gone over your daily usage limits
Is it possible that I have reached the limit and we are only 3 people currently using the application? Or is there an error in the firebase?
Will the problem be solved if I enabled payment in my account?
How much will I expect to pay monthly?
It is quite common to go over your free quota much earlier than you'd expect during development. During this phase developers usually keep the Firestore console open, and any data that the console reads is also charged. So you'll first want to check that, and see if you really need to keep the console open - or if you can see what you need in your app already, or with some dedicated queries.
Will the problem be solved if I enabled payment in my account?
If you've hit the free quota of your project, moving the project onto the paid/Blaze plan will remove/increase that quota.
How much will I expect to pay monthly?
Firestore pricing depends solely on your usage, so I recommend checking out the Firebase pricing page (and the calculator at the bottom)

Firebase Automated Cron Job Options Without Functions

I have an app (Flutter using Android Studio) I am on the final stages of and I would, in an ideal world, want to include a feature to notify the user via a mobile notification if a date held against their UID is equal to today (let's use a birthday as an example).
I've spent 2 days looking in to all options, and was very close to using Cloud Functions to store a once a day cron function to notify all users, using FCM, based on the condition above - but something stopped me.
I'm very new to app building. So new that I can not confidently say I do not have a bug or infinity loop somewhere to rack up a huge bill upgrading to the Blaze plan - which without I can not use functions (I literally had credit card in hand on the upgrade page and stopped).
After 3 months of app building I feel I'm between a rock and a hard place. I don't want to launch without auto-notifications (as it's pretty key to the slickness of the app) BUT I can not risk a skies the limit, no-cap, no protection Blaze account if the worst was to happen.
It seems crazy for the effort to be put in to Firebase by Google, which to be fair helps new developers code and launch apps, to put them unnecessarily at risk or cost without automated protection. At least the Flame plan capped your spend - but I can see this is a real concern to new app developers such as myself (I've developed for the web for years). I just can't risk Blaze. I am more than happy to pay for things I use, but not to put myself at risk. Anyway I digress...
Without upgrading to Blaze - is there anyway a newbie such as myself, who is still learning the ropes, I can use FCM, and a cron job, to every day check the Cloud Firestore for users where a certain condition applies (i.e. UID date = today) - and notify them through a notification to their mobile device?
I would recommend using Google Cloud Functions and Cloud Scheduler to accomplish this.
It is worth noting that Firebase + Google Cloud provide an amount of free usage per month. It is quite likely that you could keep your usage under the limits, at least initially. Also, if you are a new Google Cloud customer, there may currently be a trial offer you can redeem for things not covered in the free tier.
https://cloud.google.com/free
https://firebase.google.com/pricing
https://cloud.google.com/scheduler

How can you limit the billing in firebase? They used to have this possibility, it looks like they removed it [duplicate]

I'm currently working in a social network app and I need to do a search feature. Firestore does not support these kind of queries, so I need to use an external service like Algolia.
The problem is that the free plan does not support connecting to external websites/APIs other than Google's own ones, so I can't connect to Algolia to get my search system working.
I have read multiple stories about devs paying high bills because of loops or errors in their code, and as the Blaze plan is a pay-to-go plan, they get charged what they used. If a loop generated 10TB of files they will get charged for that.
I also know that Blaze plan's features are free as long as each of them (individually) stay below the limits of the free Spark plan.
So as my question says, is there a way to set limits? For example, I would like to tell Firebase to limit my cloud functions invocations to 100k per month. That way it would be free and I would never be able to get over 100k as it's limited, which means I'll never get billed for that.
Take into account that the only thing I need right now from a paid plan is the connection to external networks. I don't need anything else as we're just starting and the app is not in production, so there's no need for huge limits.
Every Firebase project is also a Google Cloud Platform project. This means that many of the advanced features of Google Cloud Platform are also available for your Firebase project.
For example, you can set up billing alert for your Firebase project, so that you are alerted when the usage reaches a certain level. While you can't configure it to switch off the project at some point, the alert should typically be quite good for alerting you to unusual usage patterns.
For more on this see:
Tracking your spending with budgets in a recent blog post.
The GCP documentation on how to set budget alerts, which is what Firebase uses under the hood.
The GCP documentation now also has a section on capping (disabling) billing to stop usage. This is a brute force approach though and may lead to data being lost, so I'd recommend investigating all other options first.
Update (December 2020): Firebase's Todd Kerpelman just released a series of videos where he disables billing using the process from the documentation mentioned above.
You cannot set spending limits to your app now.
As of December 12, 2019, you can no longer create spending limits, but
you can change or remove existing spending limits.
https://cloud.google.com/appengine/pricing#spending_limit
You can create budgets, which will alert you when reaching the budget. But it won't stop the usage when hitting the budget.
https://cloud.google.com/billing/docs/how-to/budgets#add-new-budget
The screenshot here seems to show a Spending Limit setting for Firebase projects: Firebase: Budget and Daily Spending Limit
That settings page is located here (the Spending Limit setting apparently only shows up once you set up billing for the project): https://console.cloud.google.com/appengine/settings
It's disabled in the poster's case, but I think that's only because he connected it up to a "NodeJS App Engine app", which isn't the case for many Firebase developers.
I haven't tried it yet myself, but will do so once I start a paid plan.
EDIT: Yep, the setting shows up once you switch to a paid plan. (in my case, Blaze) I don't have enough traffic yet to confirm that it works as expected, but if I find later that it doesn't, I'll give an update here.
"This example shows you how to cap costs and stops usage for a project by disabling Cloud Billing. This will cause all Google Cloud services to terminate non-free tier services for the project."
Google Cloud Source

Payment SDK's with Firebase

I have never dealt with payment SDK's before. I want to implement Stripe into my app to handle in-app payments, but implementing this may take some time and quite a bit of trial and error.
The issue I am facing is that Firebase requires either the Spark or Blaze plan in order to implement these into the app. But, I do not want to pay for the plans until I am ready to fully launch my app. Is there a good way to test out payment SDK's in Firebase without paying for a plan?
I know that the Blaze plan is pay-as-you-go, but I am hesitant to get the plan now as I am sure exactly how much it would be costing me on a monthly basis while I am just testing things out.
Thanks.
You are correct in that to integrate 3rd party systems into a Firebase project you have to upgrade to a paid plan. The Blaze plan is the Flame + pay as you go. So if you are not hitting your free limits per month (which if you're the only tester, it is highly unlikely), your cost will just be the cost of the Flame plane, or $25/month (at time of writing).
To test, you can locally run your Cloud functions using the Firebase shell. That will confirm them working before you deploy to the GCP servers. Once you have your pay plan setup, just do a regular deploy and it should all work correctly. You will of course need some integration testing based on what apps you are using (web/ios/android).

Firebase storage states full after deleting all files

Like many other people out there, I am using Firebase for my project. In the past few days I have used Firebase quite a lot for sending media files between users. Now, I am also on the free plan, as I am still testing Firebase.
All of a sudden, Firebase has stopped responding, mentioning that
"You have exceeded your quota for this project. Please upgrade your plan.
LEARN MORE"
I know that Firebase has a limit on the amount of data I can transfer per day and store, that's no problem. My problem is that even after a full day, and having everything in storage deleted, I still get the same error.
Truth is, this error only shows up for the storage section. But, as you can see in the picture, my storage is now empty. Therefore my question is how can I reset firebase, or there's no other way around other than paying?
Since I am not able to see any files, I am also suspecting that I have not deleted them all, or them correctly? Could this be what's going on?
The more interesting part is the when clicking on "LEARN MORE", I am prompted to the following page, which is even more misleading.
Update: After looking at my quota details I found out that my Cloud Storage Network is full:
Looking at the Pricing for Storage on the Spark Plan it says that you can store up to 5Gb of data. Now this plan is based on Cloud Platform's Always Free and their documentation says "5Gb-months". I'm not sure of what that means, but I'm assuming that you have already exceeded your 5Gb for this month (even though you deleted the files afterwards). Maybe your quota will actually have some kind of "refresh" next month so you'll probably only be able to use Firebase storage again by that time.

Resources