Firebase Database paths must not contain ‘.’, ‘#’, ‘$’, ‘[‘, or ‘]’

I’m trying to minimize the amount of data downloaded for subscriber accounts. I’d like to store all of my subscribers in the path /subscribers/[emailAddress]/ on my Firebase Database. If I can’t use the email address as part of the path, I’ll be forced to download the entire list of subscribers and then search through the…(Continue Reading)

Replicate a Firebase Real-Time Database with a simple Perl script

Here is a very simple script to replicate data from one Firebase RTD to a backup RTD. Just be sure to modify the array of root keys (@firebaseBackupKeys) to reflect your database. This version can be called from a web browser, or via a cron job. #!/usr/bin/perl use CGI::Carp qw(fatalsToBrowser); print ‘Content-type: text/html’, “\n\n”; use…(Continue Reading)

Install Firebase Perl module with Bitvise SSH

Connect to your web host, then click the “New Terminal Console” button. 2. Type “cpan” at the command prompt: 3. If cpan requires configuration, select “local::lib” by pressing enter, or sudo if you have permission for the server. In my instance, my web host does not allow sudo. 4. Once cpan finishes configuration, note the…(Continue Reading)

postValue() not working from MainActivity.kt

I have a View Model named “subsViewModel” that I’m storing subscription details for use by various fragments and MainActivity.kt. When a user authenticates with Google Firebase authentication, I want to store the user’s details into subsViewModel as shown below: Authenticate, Store Firebase User Information // Authenticate users: auth = Firebase.auth if (auth.currentUser == null){ //…(Continue Reading)

java.text.ParseException: Unparseable date: “”

Logcat Fatal Exception caused by: subscription?.nextExpirationAsEpoch = SimpleDateFormat(“MM/dd/yyyy”).parse(subscription?.nextExpiration).time

When reading subscription records from a firebase realtime database.
Fatal Exception when iterating over firebase real-time database keys caused by a blank secondary database key. Possible fixes included ensuring the secondary key and the date string are not null, as well as logging errors with a toast.