I want to implement in-app-update or on-the-air update which means whenever the user opens the app, it checks and automatically downloads a new chunk of code and merges it, and asks the user to restart like most of the games (COD, PUBGm) do.
NOTE : I'm not talking about in_app_update
I tried to find out the basic workflow but could not.
I am assuming that what you need is what Firebase Remote config does, you can read about it and get more details from its Flutterfire docs
Related
so I’m using Flutter background service package to upload offline data ( saved using Hive ) to api in the background and it’s working BUT when I add a new offline data and the background function runs it doesn’t see this new data ( like the boxes are open but empty ) but after I hit hot restart it’ll see it and upload it successfully. How can I solve that so it’ll see these data right away after adding them?
Also I made it that when it got uploaded it’ll change a property in this offline data and it got changed when the background function runs but the ui doesn’t get updated unless I also hit hot restart
Do you know what’s the problem here?
I am trying to make my app save local changes (e.g. saving notes) to firestore db while it is offline. When I use DateTime.now() for timeCreated, everything (most of job) works, but obviously, it is not correct time. I found solution with using FieldValue.serverTimestamp() to have correct time, but once I try to use it while app is offline, I can't get a value of previous timeCreated fields. Furthermore, I found out about DocumentSnapshot.ServerTimestampBehavior in firebase docs, and now I don't have clue how to use it or is it even available in flutter mobile apps. Link for Android: Android docs.
EDIT
I already gave up from using serverTimestamp, but I gave it another shot and successfully solved it. The problem was that I used hasPendingWriteson whole query, instead on single document which is added (updated) offline. In this article everything is described link. Still, I didn't find solution for my question.
I deployed the production release for my first Google Action. But even 2 weeks after the approved deployment I can find my action neither in the Google Assistant store nor directly via voice activation.
The test versions ran fine and was found every single time. So the invocation name should not be the problem. When I use the generated action link from the console I find the action in the store and can send it to my Smartphone, where I can start it with the sent link. But after closing the app I cannot open it again via voice.
I used two different google accounts on different devices (all are set up in the right language: german), but no chance.
Is this a mistake on Googles side or do I miss anything? In this state I have to open the action every time over the action link which is useless for a voice app :)
Here is the link to my action: https://assistant.google.com/services/invoke/uid/000000c77f740137?hl=de
The invocation would be for example: "Mit Erfolgs-Fans sprechen" (like said, on the test this name was found every single time)
This happened to me too. Though it wasn't in production when I faced it. I was also not able to see the action in Assistant-enabled devices (Google home app/assistant).
It is probably not the invocation name issue, it is just that the action is not being made visible across all the platforms. Some of the solutions I tried were-
Clean cache of the device
Create a new action with everything just the same as in your current actions. It worked once for me!
Go to GCP and under your project, try to understand if there is any pending activity.
Once I created so many actions because I wasn't able to see it that after around 30 days all those actions started to become visible. So, if you can wait that is fine.
In the end, do contact their support with all the relevant information. I hope they should be able to help.
Thank you!
For my application I have a couple of really large bundles and I want the user to be able to skip (specific) updates to the content.
At the moment I'm using the Addressables.CheckForCatalogUpdates() which lets me know If there's an update.
But using this function already lets my application know there's a new version of the assets and as soon as I load the asset it wants to use the new (still to download) version.
Ideally would like to end up with a flow similar to:
Application checks for updates
User gets prompted if he/she updates
=> User updates
New content is downloaded
=> User skips updates
content is loaded from cache
Application continues
Help is much appreciated!
Regards,
Gijs
I want to set the language for one time once the user downloaded the app and started using it, for only first time. but not all the time he use the app. How can i do that?
like how we get select language options , while installing Microsoft products, etc
is this possible ?
you can control that when you application apears. Did you know about property lists?
You could use it. Or maybe you can create a file with Core data with name Configs. You need to check if field is blank and case yes, open a viewControllerChangeLanguange.After select save the data and start your application. Remember, everytime you start you will check your file. Case exists, set current language.Case not, invoke an interface to user select a language. All the controller could be made by just a file config.