---
description: Advanced techniques and configurations for the Capacitor Live Update SDK. Custom strategies, hooks, manual updates, and integration with native code.
title: Advanced Usage for Capacitor Live Updates - Capawesome
image: https://capawesome.io/docs/assets/images/social/cloud/live-updates/guides/advanced-usage.png
---

[ Skip to content](#advanced-usage) 

[ 🎉 Introducing **Capawesome Platform** — one platform for Live Updates, Native Builds, App Store Publishing, and Insider SDKs.](https://capawesome.io) 

* [  Formbricks ](/docs/plugins/formbricks/)
* [  Geocoder ](/docs/plugins/geocoder/)
* [  Google Sign-In ](/docs/plugins/google-sign-in/)
* [  Grafana Faro ](/docs/plugins/grafana-faro/)
* [  libSQL ](/docs/plugins/libsql/)
* [  Live Update ](/docs/plugins/live-update/)
* [  Managed Configurations ](/docs/plugins/managed-configurations/)
* [  Media Session ](/docs/plugins/media-session/)
* [  ML Kit ](/docs/plugins/mlkit/)
* [  Navigation Bar ](/docs/plugins/navigation-bar/)
* [  NFC ](/docs/plugins/nfc/)
* [  OAuth ](/docs/plugins/oauth/)
* [  Pedometer ](/docs/plugins/pedometer/)
* [  Photo Editor ](/docs/plugins/photo-editor/)
* [  PostHog ](/docs/plugins/posthog/)
* [  Printer ](/docs/plugins/printer/)
* [  Purchases ](/docs/plugins/purchases/)
* [  RealtimeKit ](/docs/plugins/realtimekit/)
* [  Screen Orientation ](/docs/plugins/screen-orientation/)
* [  Screenshot ](/docs/plugins/screenshot/)
* [  Secure Preferences ](/docs/plugins/secure-preferences/)
* [  Speech Recognition ](/docs/plugins/speech-recognition/)
* [  Speech Synthesis ](/docs/plugins/speech-synthesis/)
* [  Share Target ](/docs/plugins/share-target/)
* [  Square Mobile Payments ](/docs/plugins/square-mobile-payments/)
* [  SQLite ](/docs/plugins/sqlite/)
* [  Superwall ](/docs/plugins/superwall/)
* [  Torch ](/docs/plugins/torch/)
* [  Wifi ](/docs/plugins/wifi/)
* [  Zip ](/docs/plugins/zip/)
* [  Cloud ](/docs/cloud/)
* [  Live Updates ](/docs/cloud/live-updates/)
* [  Best Practices ](/docs/cloud/live-updates/guides/best-practices/)
* [  Update Strategies ](/docs/cloud/live-updates/guides/update-strategies/)
* Advanced
* Integrations
* [  Native Builds ](/docs/cloud/native-builds/)
* [  Configuration ](/docs/cloud/native-builds/configuration/)
* [  Environments ](/docs/cloud/native-builds/environments/)
* Guides
* [  Sample Projects ](/docs/cloud/native-builds/sample-projects/)
* [  Troubleshooting ](/docs/cloud/native-builds/troubleshooting/)
* [  Automations ](/docs/cloud/automations/)
* [  Assist ](/docs/cloud/assist/)
* Account
* Organizations
* [  Organization and User Management ](/docs/cloud/organizations/memberships/)
* [  Single Sign-On (SSO) ](/docs/cloud/organizations/sso/)
* [  Teams ](/docs/cloud/organizations/teams/)
* [  Two-Factor Authentication ](/docs/cloud/organizations/two-factor-authentication/)
* [  Integrations ](/docs/cloud/integrations/)
* [  License Keys ](/docs/cloud/license-keys/)
* [  Webhooks ](/docs/cloud/webhooks/)
* [  Pricing ](https://capawesome.io/pricing/)
* [  FAQ ](/docs/cloud/faq/)
* [  Support ](/docs/cloud/support/)
* [  Contributing ](/docs/contributing/)
* [  LLMs ](/docs/llms/)
* [  Insiders ](/docs/insiders/)
* [  License ](https://capawesome.io/legal/eula/)
* [  Support ](/docs/insiders/support/)
* [  FAQ ](/docs/insiders/faq/)
* [  Blog ](/blog/)
* Categories

# Advanced Usage[¶](#advanced-usage "Permanent link")

If you want more control over the update process, you can use the following methods:

1. [fetchLatestBundle()](/docs/plugins/live-update/#fetchlatestbundle): Check for updates without downloading them.
2. [downloadBundle()](/docs/plugins/live-update/#downloadbundle): Download updates without applying them.
3. [setNextBundle()](/docs/plugins/live-update/#setnextbundle): Set a new bundle as the next bundle to be applied.
4. [reload()](/docs/plugins/live-update/#reload): Apply the new bundle immediately.

Disable Automatic Updates

If you are manually handling the update process, it is **strongly recommended** to set the [autoUpdateStrategy](/docs/plugins/live-update/#configuration) configuration option to `none` to prevent conflicts with the automatic update mechanism.

## Check for updates[¶](#check-for-updates "Permanent link")

You can check for new bundles without downloading them by using the [fetchLatestBundle()](/docs/plugins/live-update/#fetchlatestbundle) method:

`[](#%5F%5Fcodelineno-0-1)import { LiveUpdate } from "@capawesome/capacitor-live-update";
[](#%5F%5Fcodelineno-0-2)
[](#%5F%5Fcodelineno-0-3)const checkForUpdates = async () => {
[](#%5F%5Fcodelineno-0-4)  const result = await LiveUpdate.fetchLatestBundle();
[](#%5F%5Fcodelineno-0-5)  if (result.bundleId) {
[](#%5F%5Fcodelineno-0-6)    console.log("New update available: " + result.downloadUrl);
[](#%5F%5Fcodelineno-0-7)  } else {
[](#%5F%5Fcodelineno-0-8)    console.log("No update available");
[](#%5F%5Fcodelineno-0-9)  }
[](#%5F%5Fcodelineno-0-10)};
`

This method returns all important information about the latest bundle, including the bundle ID and the download URL.

## Download updates[¶](#download-updates "Permanent link")

You can then download bundles by using the [downloadBundle()](/docs/plugins/live-update/#downloadbundle) method:

`[](#%5F%5Fcodelineno-1-1)import { LiveUpdate } from "@capawesome/capacitor-live-update";
[](#%5F%5Fcodelineno-1-2)
[](#%5F%5Fcodelineno-1-3)const downloadUpdate = async (bundleId: string, url: string) => {
[](#%5F%5Fcodelineno-1-4)  await LiveUpdate.downloadBundle({
[](#%5F%5Fcodelineno-1-5)    bundleId,
[](#%5F%5Fcodelineno-1-6)    url
[](#%5F%5Fcodelineno-1-7)  });
[](#%5F%5Fcodelineno-1-8)};
`

This method downloads the bundle, extracts the files, and moves them to the correct location in your app.

## Apply updates[¶](#apply-updates "Permanent link")

You can set a new bundle as the next bundle to be applied by using the [setNextBundle()](/docs/plugins/live-update/#setnextbundle) method:

`[](#%5F%5Fcodelineno-2-1)import { LiveUpdate } from "@capawesome/capacitor-live-update";
[](#%5F%5Fcodelineno-2-2)
[](#%5F%5Fcodelineno-2-3)const setNextBundle = async (bundleId: string) => {
[](#%5F%5Fcodelineno-2-4)  await LiveUpdate.setNextBundle({
[](#%5F%5Fcodelineno-2-5)    bundleId,
[](#%5F%5Fcodelineno-2-6)  });
[](#%5F%5Fcodelineno-2-7)};
`

If the bundle should be applied immediately, you can also call the [reload()](/docs/plugins/live-update/#reload) method:

`[](#%5F%5Fcodelineno-3-1)import { LiveUpdate } from "@capawesome/capacitor-live-update";
[](#%5F%5Fcodelineno-3-2)
[](#%5F%5Fcodelineno-3-3)const reload = async () => {
[](#%5F%5Fcodelineno-3-4)  await LiveUpdate.reload();
[](#%5F%5Fcodelineno-3-5)};
`

May 7, 2026 

 Back to top 