Emixa Native Release Helper

Content Type: Module
Categories: Mobile

Overview

Streamlining App Versioning with Emixa Native Release Helper 

 

Introduction: 

When developing native applications, having a proper release strategy is crucial in avoiding errors and compatibility issues caused by versioning problems. Introducing Emixa Native Release Helper, a powerful Mendix module designed to simplify app versioning and enhance the user experience. With this module, users are ensured to have the latest version of their application, whether it's available in the Apple App Store or Google Play Store. Additionally, it provides a seamless way to handle Over-the-Air (OTA) deployments, ensuring users stay up to date. This module was made in collaboration with Maud van den Boomen and Pim van der Noll.

 

Module Overview: 

Emixa Native Release Helper focuses on two key aspects: 

  1. Checking for new versions of the app in the app stores (iOS and Android). 
  2. Monitoring new package deployments and OTA availability. 

 

Use case: 

  1. The snippet SN_AppVersion_GetCurrent_OnHome checks if a new OTA or app version is available in the store. This check is triggered during key events: on application load, on resume and on online.  
  2. The flow SUB_AppVersion_CheckForUpdateOrOTA is executed during these events. Steps executed:
    1. Check if OTA is being executed and if the app is reloaded. If not, 
    2. Version in store is compared with the version on device. If a new version is detected, a page is opened, displaying a button that directs the user to the appstore page for an update. This update is mandatory.  
    3. If newer version in store is not available, check if OTA needs to be executed. If so, the user receives a message that the app will be reloaded shortly. 

Documentation

Typical usage scenario

When developing native applications, having a proper release strategy is crucial in avoiding errors and compatibility issues caused by versioning problems. Introducing Emixa Native Release Helper, a powerful Mendix module designed to simplify app versioning and enhance the user experience. With this module, users are ensured to have the latest version of their application, whether it's available in the Apple App Store or Google Play Store. Additionally, it provides a seamless way to handle Over-the-Air (OTA) deployments, ensuring users stay up to date. This module was made in collaboration with Maud van den Boomen and Pim van der Noll.

 

Features and limitations

Emixa Native Release Helper focuses on two key aspects: 

  1. Checking for new versions of the app in the app stores (iOS and Android). 
  2. Monitoring new package deployments and OTA availability. 

 

Dependencies

- Nanoflow Commons (https://docs.mendix.com/appstore/modules/nanoflow-commons/)

- Community Commons (https://marketplace.mendix.com/link/component/170/)

 

Installation

- Create a custom flow based on NAV_ShowLoginPage and configure the custom flow as default homepage for Anonymous users. 

- Make sure project roles are assigned to 'User' module role of EmixaReleaseHelper_Native.

- Make sure project roles are assigned to 'Anonymous' module role of EmixaReleaseHelper_Native.

- Make sure 'Administrator' project role is assigned to 'Administrator' module role of EmixaReleaseHelper_Native.

- Add ASU_DeploymentData_GetLatestVersion_StartQueue to after startup flow.

- Add SN_AppVersion_GetCurrent_OnHome on your homepages. 

     - Optional: You can adjust the flow SUB_AppVersion_CheckForUpdateOrOTA so that a page of preference is shown when update is needed.

- Add SN_BundleInStore_Overview to Admin screen and configure BundleID per operating system. 

 

Configuration

- Enable SCE_BundleInStore_GetInformation.

- Make sure that EmixaReleaseHelper_Native.Environment is well configured.

 

Want to add manual check?

- Add SN_ManualVersionCheck to admin page.

- Configure the version you want users to update to and press proceed.

 

Testing

For testers in Test and Acceptance environments, Emixa Native Release Helper offers the SN_AppVersion_GetCurrent_ForTesting snippet. This snippet enables testers to verify if they have the latest version, including OTA deployments and app versions.  

 

Want to test bundleID version check?

- Place the production bundleID in constant "BundleID" this will simulate version check against the BundleID of your app.

 

Releases

Version: 1.0.0
Framework Version: 9.24.12
Release Notes: Initial release. Please see the instructions and description of this module.