I'm building a mobile application using Expo & React Native. As the user interacts with the mobile app I need to store their interactions in Google BigQuery, so they can later be used to train machine learning models. Think 'user swiped left', 'user clicked image' etc.
I have a few options in mind:
Host the app on Google App Engine. Use GCP's logging API ('sinks') to stream specific log entries into BigQuery.
Use client libraries to directly send data from the app to BigQuery.
Add Firebase Analytics to my app, using real time export to BigQuery.
Which approach (if any) is best? I need BigQuery to be updated at low latency as users generate data, to allow for machine learning models that respond to real time user behavior.