Is first_open being sent after app update - firebase

As of today how is first_open event being handled on app update when the previous version of the app was using Firebase?
Is new first_open event sent on the first opening of the app after the update?

When existing users migrate to the new version of your app which includes Firebase and app update they will log as a first_open event. And so, even though they are not new users, they log as a first_open.
As per the Documentation,
the first time a user launches an app after installing or reinstalling it
This event is not triggered when a user downloads the app onto a device, but instead when he or she first uses it. To see raw download numbers, look in Google Play Developer Console or in iTunesConnect.
The first_open event triggers only once after app installation. It does not trigger again if the app is opened several times after the app is updated.
You can also check this Stackoverflow Link.

Related

How to update xamarin forms subscription status from outside app when using in-app billing?

I am developing Xamarin.Forms application which will be used for Android and iOS. It will have access to full functionality with a paid subscription (monthly or yearly). We plan to use in-app billing for implementing subscription on both stores.
There is a situation if a user buys the subscription in Android app and then wants to use iOS app or vice versa. In this situation, the user should be able to use the other platform app, because the user already purchased the subscription. We are planning to fix this issue by a back-end REST API. When the user purchase the app in android or iOS, we save the subscription details to our back-end. So once the user purchased the subscription in any platform, the user can use the app on other platform and multiple devices.
But if the user cancels the subscription from outside the app like apple or play store, how we can update the status on our back end? Because at this time the action happening on outside the app, so we can't update the status on back-end.
For example, If the user subscribed the app from play store and also using the iOS version. Then the user cancelling the subscription on play store. After that the user is not using the android app. At the same time the status is true on back end. So the user can use the iOS version without a subscription. How we can handle this type of situations?
We research a lot and find out we can call app store and play store via their APIs which will return the entire subscription details. So we will call it from the back end as a cron job and update the latest status once in a day. So if the user cancels the subscription from outside the app, that status will update on the back-end via cron job. Is this possible? Any other better solution for this kind of issues?

How to handle FCM subscribeToTopic and unsubscribeFromTopic with Flutter

I am developing an app for which I use firebase as the backend. I am using FCM to send notifications to my users, however, I am not yet grasping how to use subscribeToTopic and unsubscribeFromTopic.
My use case (which I do not know how to get it working):
After a user installs the app, he will be subscribed to the main topic of the app (I have this working). The user could then go to settings to unsubscribe from the main topic (I do not have this working).
The struggle:
All the different tutorials I find describe how to subscribe to a topic, they call subscribeToTopic('some topic') in initstate of the welcome screen. Is it required to do this everytime the app starts? What happens when the user calls unsubscribeFromTopic('some topic') and the next time they start the app subscribeToTopic('some topic') is called again in initstate?
My idea: first time the app is loaded I call subscribeToTopic('some topic') and never again. Then in the settings screen a user can unsubscribe (and subscribe). Does this work? What should I pay attention to?
Thanks in advance for helping!
You check if the app is launched for the first time by either using shared_preferences which stores this information locally or by storing a variable on Firestore that tells you if the user has logged in to the app before.
You subscribe to the topic if it's the first time and if it's not, you do not subscribe.
The first time you open the app show a welcome screen or something like that, where you ask the user to receive notifications or not (which is always more user friendly).
If the user continues you save this value in a local database like shared preferences or hive.
If the user subscribed you call the subscribe to topic method
If the user does not subscribe ofcourse you do nothing.
Then on the settingspage:
Show a switch which value is gathered from the local database you already defined.
When the user taps the value is stored, based on this value you subscribe or onsubscribe.
This is how I have done it in my app where I also use topics instead of tokens.

Firebase database not working after a new app version is installed. Flutter

I'm using firebase realtime database and firebase auth. My problem happens when an new app version is released. If the user is logged in and update app, it doesn't get data from firebase database. To read the data, i have to logout, reinstall app and then login again.
It happens on iOS, but i didn't test it on android yet.
edit: My app isn't launched yet. These tests were made using testflight.
Maybe you should add a splashscreen on your app that every time an user open it, the screen will check if that user is logged in. If not, you could ask for a new login, or save some encrypted data to automatically login.

How Does Firebase Analytics Define Active User?

This question is for basic Firebase Analytics integration where a dependency is added and nothing else.
How does Firebase Analytics define Active User - does Firebase Analytics count active users as: foreground users as in users who actually opened the app OR background as well (for example if app has background process that runs daily without UI)?
An active user has engaged with an app in the device foreground, and has logged a user_engagement event.
The documentation is here:
https://support.google.com/firebase/answer/6317517#active-users

Trigger.io reload channels do not have active users

I am trying to test the Trigger.io reload function on my app, and have created a new stream but there are no active users for any of these channels.
Does code need to be added in the app to subscribe users to the reload streams?
Currently there is a 15 minute delay in the reported user numbers.
However, if you have just installed a version of your app on a test device or run it in the emulator, you will be able to Reload it immediately even if the number of users showing up against the stream is still 0.
You do need to use the forge.reload.switchStream method in the app to put the user in the right stream. Or you can use the 'default' stream that is already there to reload all users without needing to add any extra code in your app.

Resources