Streaming data to BigQuery from FCM/Firebase Performance - google-bigquery

I know that it's possible to stream data from Crashlytics and Google Analytics to BigQuery.
I'm using nowadays standard (batch) data export for FCM and Firebase Performance's data.
My problem is I'd like to switch from batch export to streaming export for FCM and Performance but I couldn't find anything in docs about it. Does it mean that it's not possible?
For Crashlytics and GA there are simple checkbox to turn on streaming but there are none for FCM and Performance.
I'd be grateful for any help/information about it.

Related

Is there any way to get Realtime data from BigQuery SDK / API?

I working on a project in which I’m facing a problem that I want to get real-time data from BigQuery dataset,
So I research hard I learn about web sockets like pusher and laravel-websocket, and I also test them also
but One thing I didn’t understand that how to do If I connect BigQuery SDK with my Laravel project then I didn’t find any event or method that BigQuery gives us to do so, because in my scenario most data comes from IoT devices and the device uses bigQueryAPI to feed data I also want that devices data real-time.
Then I found that there’s a way to connect BigQuery Dataset with firebase and then firebase gives us an event whenever row fed in the dataset.
I just want to know Is there’s any that without a firebase solution I can do it?
because the above solution is not free I have to pay firebase to avail of this feature?
thank you
IoT devices can post the data to pub/sub instead of BigQuery, from pub/sub one consumer(Ex:Dataflow) can read and insert the data into BigQuery and you can create consumer for your custom needs.

Integrating Firebase Crashlytics with Prometheus

I want to integrate Firebase Crashlytics with Prometheus by reexporting crahses from Crashlytics as a Prom dashboard. I tried to utilize Google Cloud Functions for that but they do not seem to be called on every crash (there is no hook to integrate on every crash event). I also tried to export crashes to BigQuery, but the dataset was always empty.
What other options do I have, if any? Is this integration possible at all?
Thanks Alex. Todd from Firebase. Cloud functions is setup to only report on new issues, not individual crashes, so it unfortunately won't work for your use case. BQ is latent by 24 hours right now so it won't currently resolve your issue. We are considering real time BigQuery exports which is exactly what you need. Keep an eye on your dashboard, we'll share the news there if something is made.

Is it possible to retrieve event information from Fabric Api?

I need to show live information of specific (custom) event from Fabric api on the website. I'm not quite sure if that's possible, since I couldn't find something in docs or stackoverflow. Would really appreciate for advice
Thanks. Right now it's not possible to get API access to the realtime event stream in Fabric. Our tools are migrating into Firebase where we have realtime BigQuery access to Analytics data and 24 hour latent data for Crashlytics.

Migrating from Firebase JS SDK (Web) to react-native-firebase for offline storage

I have been using Firebase Web SDK for my react-native app (I am using FIRESTORE to store the data). Up to this point, I have had no problems. It all works smoothly. But now I want to add some kind of offline storage mechanism to my app so that I could still offer some functionality or display some content that was cached from the last connected session even if my users are offline. After some investigation, I have the impression that react-native-firebase is the preferred way to go. Now I have some questions and I like to get some advice from the experienced.
Is react-native-firebase the only option to go? I have quickly read about AsyncStorage and it is just a key-value storage. Considering the simplest thing I want to do is page through a list of firestore documents, this kind of storage seems not to be suitable to do this offline. Like If I wanted to do this with AsyncStorage I would have to put all the content (maybe hundreds of documents) I get from the firestore backend, persist them as a single string value, fetch them back, parse them, page them etc. And write custom logic& methods for all these.
If I was to use react-native-firebase, just enabling the offline storage -I assume- takes care of this for you and you don't have to write any custom logic for offline storage usage. I assume the data that has persisted for offline usage has the same structure as it does in firestore database. I feel like If I use anything other than react-native-firebase, I would have to handle all the custom logic for persisting, reading and rendering the data offline myself. Is that right?
The biggest concern I have is the amount of code refactoring that might be required. I have many lines of code and so many .get().then() like lines where I get and render the data from firestore. In the documentation of react-native-firebase it says:
...aims to mirror the official Firebase Web SDK as closely as
possible.
I am not sure to what extent this is true. I have checked the react-native-firebase's firestore module's reference documentation but I just can't tell how many of these querying methods are actually supported.
So, the way to go is react-native-firebase's way? Would it take a heavy toll on me trying to refactor the existing code? Any similar experience do you have?
I would appreciate any help.
Thanks a lot...
Maintainer of the react-native-firebase library here.
...aims to mirror the official Firebase Web SDK as closely as possible.
This is a minor disclaimer as there are some differences between the two, mainly down to how certain things have to be implemented with React Native.
For example, enablePersistence does not exist on RNFB. Instead, persistence is enabled by default and can be toggled off (or on) via settings().
Is react-native-firebase the only option to go? I have quickly read about AsyncStorage and it is just a key-value storage. Considering the simplest thing I want to do is page through a list of firestore documents, this kind of storage seems not to be suitable to do this offline. Like If I wanted to do this with AsyncStorage I would have to put all the content (maybe hundreds of documents) I get from the firestore backend, persist them as a single string value, fetch them back, parse them, page them etc. And write custom logic& methods for all these.
This is technically possible, however there are downsides to this as you have mentioned. With Firestore, when the device goes offline (quite common on apps) and you attempt a read/write it'll read/update your local cache, which will still trigger event listeners. When the app goes back online, it'll automatically re-sync with the server for you.
If I was to use react-native-firebase, just enabling the offline storage -I assume- takes care of this for you and you don't have to write any custom logic for offline storage usage. I assume the data that has persisted for offline usage has the same structure as it does in firestore database. I feel like If I use anything other than react-native-firebase, I would have to handle all the custom logic for persisting, reading and rendering the data offline myself. Is that right?
This is all handled for you. We wrap around the native Firebase SDKs so expect the same level of consistency if you were developing a native Android/iOS app if not using React Native.
The biggest concern I have is the amount of code refactoring that might be required. I have many lines of code and so many .get().then() like lines where I get and render the data from firestore.
Generally everything is the same apart from a few minor methods for reasons mentioned above.
So, the way to go is react-native-firebase's way? Would it take a heavy toll on me trying to refactor the existing code? Any similar experience do you have? I would appreciate any help.
I'd recommend anyone developing with React Native & Firebase to use RNFB. It provides a lot of extra functionality the Web SDK cannot provide with React Native. Apart from a more cumbersome setup & changing imports, it should work very much the same.

ios. Validate if Analytics datas in stand by

I'm using the google analytics sdk to send data.
I'm looking for a way to know if, sor some reason, the analytics data are waiting on the ipad database(offline, etc)
Is there a flag ou method to validate this(data waiting)?
Thanks