Firebase and Mit App inventor connection

Hi I am creating an app that contains 2 screens for login and sign up. I am using firebase realtime database for the same. I connected the database to my app and I get the following warning

Error from Companion: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference

This error persists independent of whether I code with any firebase blocks or not.
Please help

This error keeps coming up for users, so have asked MIT devs to take a look.

Make sure you are using the Firebase US-Central server if running your own project.

[edit]

I have just tested the Firebase component on my own project (which is on the Firebase us-central server). Store and GetValue works just fine, no errors.

We really need to deprecate Firebase. We are using an SDK from before
Firebase was bought by Google. Google deprecated that SDK in favor of
embedding Firebase support in Google Play Services. This may easily
have been 10 year ago!

Fortunately the ”wire” protocol has not changed in an incompatible
way, but I fear we are living on borrowed time!

We never updated our Firebase component to use Google Play Services
because it (Google Play Services) isn’t available on every platform.

For many applications CloudDB is a viable alternative.

-Jeff

Hi @Atreyee_Rangat_Aisha,
FirebaseManager is a free extension that You can use in your project instead of component.

Best regards
Marco

I use a FireBase real time Data Base and the Firebase component in App Inventor as a way to send messages in real time between diferent apps (a user mobile app, and several “server” apps, also created with App Inventor).
I couldn’t find other way than to set up listeners with the .DataChanged block for one app to receive the message other app put in a specific node of the data base (used only for communication purposes).
How could my apps work if you deprecate Firebase?

Use the REST API and Web component

How can I set up a listener using the REST API and a Web component (like the .DataChanged block does)?
I've been waiting for years for the Firebase component to be implemented in iOS as well.

You have not read the content in the link

Thanks TIM. I did read years ago.
I will do again, in case you updated your tutorial with a solution for my use case.

I did :slight_smile:

1 Like

I love you so much!
You saved my life.

1 Like

It would be much tidier if we could use SSE (server side events) with the web component.

Just one question: What block of the web component do you use to get the “returns”?

I have been following this, and see you setting up for a WebView String Change event to fire when Firebase data changes.

I see your procedure but no AI2 When Web view string changed event block.

Not sure I understand either of you? (@Martin_Herraiz or @ABG )

I clearly show a WebViewStringChange event, and provide examples of the output in my guide ?

I was reading here

By the way, the HERE link in orange is dead.

You probably also read books from the last chapter forwards ?

I will fix that link (now fixed)

1 Like

The secret sauce recipe link, for those who like to jump to the end ...

Thank you so much, Tim!
Hence the name "The Incredible Machine."

I get the impression that the threat of discontinuing the Firebase component in App Inventor (with its excellent blocks for setting the ProjectBucket and .DataChanged) has forced you to redo a good portion of the work that someone probably already did 10 years ago, and to get very resourceful in finding workarounds (using JavaScript code in an .html file, a WebViewer, an event to detect changes in a WebViewString...).

Wouldn't that be a step backward? Especially since App Inventor's motto is precisely to teach people to program without the hassle of having to learn programming languages, and to make programmers' lives easier with a "Low Code" platform.

As I previously said, if the web component had code to handle SSE then it becomes a one liner.