I’ve written in the past how creating a Software that is able to update: https://programtom.com/dev/2020/11/07/do-you-think-about-software-updatability/ is somehow essential if you are serious enough in making users happy. I personally have probably 20 apps that I’ve published in the app stores / marketplaces – Apple, Google, Yandex, Samsung. They all have their own requirements. I am not denying that – it is for a good and solid reason. But, as a developer, many of the bureaucracies are wasting time, energy and effort.
That’s why I’ve created a solution to be able to make any of my apps update-able. I’ve chosen to implement the client side with Flutter, because it evolved to make executable and native packages for all Platforms. You could check out the plugin I’ve open sourced: https://github.com/tomavelev/flutter_updateable_plugin. There I also have describe the two Rest services that the dart package uses – the check for new versions and the builds list that also contains the changes.
The plugin sample uses my own Service: https://programtom.com/app_distribution/. It is a simple place where you could setup – Applications, App Channels and Build Packages. The most essential Data Model is of course – the Build. It contains a file and a number – the version of the package. This will trigger the “Update is Available” after you upload the version number that is greeter than the hard-coded in the app.
You could pass all the parameters externally, including the URL endpoints, so, after you check how my plugin works, you could totally replace the Back-End with your own and never depend on anything from my side.
