Getting Started with Live Updates
Getting started with Live Updates in your Portals app.
info
To use the Live Updates SDK with Ionic Portals, check out the Getting Started Guide for Ionic Portals first.
#
AppflowCreate an app for your Portal in the Ionic Dashboard. For more information, see our documentation on using Appflow.
info
Take note of the appId of your app in Appflow, this will be used by the Live Updates sdk.
To test Live Updates, create a new build of your app in Appflow and create a deployment to Live Updates from that build. Take note of the channel name as this is also used in the Live Updates sdk.
Deployments in Appflow will be downloaded as new Live Updates.
#
InstallThe Live Updates SDK is publicly available on Maven Central, Cocoapods, and Carthage.
- iOS
- Android
Live Updates is already added to your iOS project if you have the depdency for Portals in your Podfile
:
pod 'IonicPortals', '~> 0.5.1'
And then run pod install
.
To add Live Updates to your Portals Android project, add the dependency to your build.gradle
file
// ----------------------------------------------// Module-level build.gradle// ----------------------------------------------dependencies { implementation 'io.ionic:portals:0.5.0' implementation 'io.ionic:liveupdates:0.0.5'}
And in the top level build.gradle
file, be sure that you include jcenter
and maven
in your repositories section
// ----------------------------------------------// Top-level build.gradle// ----------------------------------------------allprojects { repositories { google()
// Make sure JCenter and Maven Central are // in your project repositories jcenter() mavenCentral() }}
#
ConfigureAfter installing the dependency you need to configure Live Updates as part of the Portal creation process. Add a LiveUpdate config where your Portal is created. Provide the appId that corresponds with the app in Appflow, and the channel name to subscribe to for updates.
- iOS
- Android
import SwiftUIimport IonicPortals
@mainclass AppDelegate: NSObject, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool { PortalManager.register("MY_API_KEY")
// Setup Live Update let checkoutLiveUpdate = LiveUpdate(appId: "ebd6138b", channel: "production")
// setup portals (example) let portal1 = PortalManager.newPortal("portal1") .setLiveUpdateConfig(liveUpdateConfig: checkoutLiveUpdate) .create()
PortalManager.addPortal(portal1)
return true }}
import android.app.Applicationimport io.ionic.portals.PortalManager
class MyApplication : Application() { override fun onCreate(): Unit { super.onCreate() PortalManager.register("MY_API_KEY")
// setup portals (example) PortalManager.newPortal("portal1") .setLiveUpdateConfig(applicationContext, LiveUpdate("ebd6138b", "production")) .create() }}}
By default, when the app loads for the first time and the portal is created, a sync will occur. A sync operation checks the Appflow servers for a new version of the app. If a new version is available, the app files are downloaded to the device and setup with the Portal. The next time the Portal is loaded, the new version will load automatically.