I appear to be missing some firebase analytics events. I think the issue may be that firebase is caching events and only sending them once every hour.
In my case, I have a web application that users load and they may only stay a few minutes before deciding they don't want to use the application. I would like to still capture their events, in particular the fact they decided the application was not for them and are passing on it. But it appears that firebase analytics is not sending these events. My best guess based on the documentation is that the cache is not being emptied because the timeout hasn't passed and firebase analytics doesn't know that they are closing the frame and not coming back.
In case it matters, the way I am sending the event is something like this. (technically I am using angularfire's wrapper around analytics but from what I can tell is just calls directly through like this)
const analytics = getAnalytics();
logEvent(analytics, 'decline_using_app', {
details: '...',
});
I have seen that the base google analytics gtags library supports an event callback when an event has been sent.
But I can't seem to find a way with firebase analytics to force sending an event immediately or better yet, flush any pending event cache so I can ensure that all the events have been captured.
Does anyone know how to do this or does my analysis seem reasonable for what I am seeing?