Updating mobile apps with IBM MobileFirst Platform Foundation and the Application Center

You can choose among different ways to update a mobile application depending on the context.

When you build applications for internal use in your organization and that are not to be delivered through public app stores such as Google play or Apple App Store, you could use the Application Center to deliver these applications over the air. There are several scenarios that you might want to consider.

Changing the web part of a hybrid application

When you want to deliver a MobileFirst hybrid application that consists mainly of HTML5 with CSS and JavaScript, and you must change the hybrid part of the application to provide new features or to fix a defect, you do not have to ask the application users to update it on their devices. You can use the MobileFirst direct update mechanism to deploy new HTML with CSS and JavaScript for your application without changing the application version on the mobile device. To perform this kind of update, you do not recreate a native version of the application. You only redeploy the MobileFirst application (wlapp) in the MobileFirst Operations Console for the same application version. See Deploying applications and adapters to MobileFirst Server.

You can implement this type of update in a way that the application user has nothing to do to trigger it. Alternatively, you can provide a menu entry in your application to check for available updates and to trigger the direct update mechanism. For more details, see Direct Update as a security realm.

If you use the direct update mechanism, you will not have to redeploy a new binary version of your application to the Application Center. When new users install applications from the Application Center, they get the latest version of the hybrid part of the application through the direct update mechanism when they start the application for the first time or when they use the menu option that is implemented in the application to check for updates.

Delivering a new version of native code

The main reason that you would want to deliver a new version of an application is probably because your application uses native code and you want to provide new features or deliver fixes that require changes in the native code. You might also need to provide a new native version of the application, even if your MobileFirst application is completely written by using web technologies, to accommodate new mobile operating systems supported only in later versions of IBM MobileFirst™ Platform Foundation. You cannot use the direct update mechanism in either of these cases. You must build and deploy a new version of the application.

You can provide the update through the Application Center.

Start by uploading the new application binary (APK, IPA, or other) to the Application Center console. The application is listed as a new available version of the application. For the Application Center to consider the application as a new version of an existing application, you must keep the application identification unchanged; for example, it must have the same package name for Android or the same bundle ID for iOS. You change the internal version of the application; for example, versionCode on Android or CFBundleVersion on iOS. For more information about application properties in the Application Center console, see Application properties.

If you configured the Application Center to send push notifications for updates, users would receive a notification as soon as the new version is deployed. The content of this message enables the user to open the Application Center mobile client on the update page of the mobile application, so that he or she can trigger an over-the-air installation.

To streamline the update process, you can remotely disable the previous version of the MobileFirst application from the MobileFirst Operations Console. See Remotely disabling application connectivity. By remotely disabling the previous version, you can make sure that your users do not use the old version anymore.

When you disable the previous version, you must provide the URL of the latest application version, so that users have an easy way to fetch the new version.

In the Application Center, if you want to direct users of the mobile application to the update page of the mobile client, you can use a custom URL of the format:
ibmappctr://show-app? Package-name

Where Package-name is the package name of the application that you have updated to a new version.

The exact URL is listed in the "Application properties" page of the Application Center console. For more information, see Application properties.

When a user launches a disabled application version, the user is directed to get the update on the main page of the application in the Application Center mobile client. An Update button gives access to over-the-air update of the application.

Updating the Application Center application

Since IBM Worklight Foundation V6.2.0, when a new version of the Application Center becomes available, users do not have to uninstall the mobile application before downloading and installing the new version on their mobile devices. For example, when a new version of the Application Center is made available to support new mobile operating systems. Users can be automatically notified when a new version of the mobile client is available in the Application Center repository. In your role as Administrator of the Application Center, you have only to upload the new binary version of the mobile client application to the catalog.