Deploy a Live Update
Now that we've installed the Live Update SDK and pushed a commit to the Dashboard, we'll walk through the process of deploying a live update to a device.
The Live Update feature works by using the installed Live Update 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.
Triggering a Deploy Build
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.
Web Build Versioning
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 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.
Assign the Build to a Channel
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 Live Update 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.
Receiving a Live Update on a Device
For your application to receive a live update from Deploy, you'll need to run the app on a device or an emulator.
For Capacitor projects, the easiest way to do this is to use the cap run command to launch your local app in an emulator or a device connected to your computer.
npx cap run [ios | android] [options]
For Cordova projects, the equivalent command is ionic cordova run.
ionic cordova run [ios | android] [options]
If the app is configured correctly to listen on the channel that the live update was deployed 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 🎉.
Disabling Deploy for Development
Generally speaking, if you are developing using an emulator and live reload you probably do not want Deploy to be active, as it can interfere 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 native binaries.