Hi Scott -
The goOffline() command does exactly what you describe, and it's there for people who are trying to reduce their concurrent user counts.
That said, I strongly recommend you not worry about it unless you're actually bumping up against our limits. Calling goOffline() will mean you no longer receive updates from other users, which is usually the point of using Firebase in the first place.
In addition, most developers vastly overestimate the number of concurrent users they will have. A good rule of thumb is 1 concurrent = 1000 monthly visits for the typical website. For mobile, the ratio between installs and concurrents is sometimes even higher (though it varies considerably depending on your use case). Our plans are quite generous when it comes to concurrent users. As a data point -- our own website could operate comfortably on the "free" Firebase plan most days. In fact, more than 99.5% of all of Firebases never hit the 50 concurrent limit.
So, long story short, if you're working on a hobby project, you will almost certainly not hit our free tier 50-concurrent limit. If you're a business or a larger app, I hope you will find our $49 / month plan more cost-effective than spending engineering time to figure out when to goOnline / goOffline to minimize that number.
At the very high end (huge Enterprise apps with 10k+ concurrents) we do offer custom pricing that has a lower per-concurrent rate.
I hope that helps! Best -
-Andrew