Android Question Real time messaging question

Jon Eskdale

Licensed User
I have an App that in its simplistic mode is a Tally system for knowing which competitors have gone afloat and who are ashore. The Competitors have RFID tags. There can be multiple stations where the competitors tally out and in. Version 1 of the App Written in B4A can use Android mobile phones to read the RFID tags and the data is written locally first to an SQLite database and then updates an SQL web database. Competitor data is also loaded to the local database from the Web Database.
In addition to the Android Phones we have some Windows tablets with USB RFID readers. These screens display the competitor data as they Tally in/out and also Statistics which can be queried. (The Windows tablets app is written in VB.Net) The Windows Tablets as well as communicating with a web database have Satori ( real time messaging which when they upload transactions to the web Database also transmit the data on a satori RTM channel to anyone subscribing to the channel so the other tablets are immediately updated with the status of the competitors

Now what I need.

I need to add Real time messaging to the Android app, I was hoping to use the Satori RTM but I'm finding that rather difficult to get to work with B4A. So I was wondering if I should swap and use Firebase FCM in the B4A app - this should be possible as there are quite a few users already doing that and I think it should be possible to use with VB.Net unless there are any users which have used Satori with B4A?

Now that iOS 11 supports RFID (on iPhone 7 onwards - which meant I had to buy a now iPhone!) I need to write an iOS app to complement the Android app. Is RFID supported in B4i? I've purchase B4i but not written anything with it yet.

I've read B4J can send FCM messages but not receive - is this still true?

The messages are data messages - not push notification messages. They need to be near real time and have to be battery and bandwidth friendly

So the big question is do I move to FCM or is there a better way? What challenges should I expect?
Is there a better way?


Licensed User
FCM is exactly what you need. It's easy to use and it's fast and free.

As it is an Android Google service, it only runs on Android devices which have an internet connection. You can use it with B4J, too (use another phone/tablet and connect it via async streams. Transfer an incoming message to the B4J app).

You can send a FCM message from any device as it is just a http call.

Jon Eskdale

Licensed User
Thanks KMatle - I see there are some B4i threads on here which to me infer that FCM also works with iOS and the Firebase web page says iOS as well. I hope that is not only sending. I need to send small data messages from all the devices to a channel on which they can all listen. My issue is that I need a system that works with B4A, B4i and DotNet . B4J would be nice bonus
All of these need to support reading RFID tags - I have RFID working great with B4A and I have now purchased B4i in the hope I can get it to read the RFID. The Nfcideas app on the iPhone reads my tags fine, so I know the hardware is capable of it. Hoping I can use a lot of the logic and database work from my B4A app on the B4i app. Using two devices is not really practical although an interesting idea.