The Live Update feature works by using the installed Appflow SDK in your native application to listen to a particular Deploy Channel Destination.
When a Web build is assigned to a Channel Destination, that update will be deployed to user devices running binaries that are configured to listen to the specified Channel Destination.
The terms "Web build", "deploy build", "live deploy" and "live update" can be used interchangeably. They all refer to an update provided to your user's device by Appflow's Deploy feature.
In order to deploy a live update, you will first need to create a Web build.
There are two ways to do this:
- Click the
Start buildbutton from the
- Click the
New buildbutton in the top right from the
Build > Buildstab
You will need to make sure you've selected the correct commit to deploy. Then select the
Web target platform and the
Latest build stack.
If your plan includes custom environments and you have configured at least one, you can select one from the provided dropdown list.
Finally, you can also enable the
Live Update and pick a Channel to automatically assign the build to once it completes successfully.
For the purposes of this tutorial, we will leave both options blank.
Once the build begins you will be able to watch its progress and look at the logs if you encounter errors.
Once the Web Build completed, it can be restricted to a specific native build number assigned in the Web Build details. A minimum and maximum equivalent build version number are specified, which designates whether or not the update is compatible. After doing this, new native builds that are distributed within an app store do not conflict with the current available update from Appflow.
For more details and a simple use case see this article.
If you have trouble getting a successful build in the previous step, you can find answers to common Deploy build errors in this section of our knowledge base.
Once you have a successful Deploy build, you can assign it to the same Channel you configured the Appflow SDK to
listen to when you installed it by clicking the
Deploy live updates button in the build detail
page. You can also click the
Deploy live updates icon on the build in the
Build > Builds tab and select the Channel
from the dropdown.
For your application to receive a live update from Deploy, you'll need to run the app on a device or an emulator. The easiest way to do this is simply to use the ionic cordova run command to launch your local app in an emulator or a device connected to your computer.
ionic cordova run [ios | android] [options]
If the app is configured correctly to listen to the channel you deployed it to, the application should update immediately on startup if you're using the auto update method.
If you're using the background update method, just stay in the app for 30 seconds or so while the update is downloaded in the background. Then, close the application, reopen it again and you should see your update applied 🎉.
Generally speaking, if you are developing using an emulator and live reload you probably do not want Deploy to be active, as it can intefere with your local development.
We recommend setting the
DisableDeploy preference to
true in the
config.xml file during local development.
You can then set it back to
false before building your binary for release by either manually setting it
back or using the native config feature
if you're building your binaries with Ionic Package.