App Managment

There are two ways to work with applications in Skykit Control:

  1. Managed Channel Apps
    Apps are uploaded to the tenant app catalog and assigned a channel. The app can then be assigned to devices. Once assigned, app updates can then be done from the catalog and options such as "Update All Apps" can be used. These apps are also more easily seen in reports and are easier to track.
  2. Non Managed Apps
    Skykit also provides a utility for installing an Android APK on a device without adding it first to the tenant as a managed app. This is considered a "Direct App Install" and is usually done during app evaluation and testing.

Managed Apps

Most App Management tasks can be done with the ControlUI portal.

These features include:

  • Uploading an app to the tenant account.
  • Viewing the app within the tenant app catalog.
  • Promoting the app from ALPHA to BETA and PROD categories.
  • Assigning a managed app to a device.

The above managed app features are also available via API requests:


Assigning a Managed App to a Device Configuration

When a managed app is uploaded to a tenant is becomes part of the tenant app catalog. The app can then be assigned to a device configuration :

  • Open the device in ControlUI and select the Apps tab.
  • Select "Add Managed App"
  • Select your new app and click "Add Managed Apps" in the dialog.
  • The new app will now show in the UI under "Managed Apps".
  • Select which channel you would like this device to use for this app. Usually Production is fine but Beta or Alpha versions of the application may be desired. NOTE that at this point only the application exists in the device configuration but it is not yet installed on the device. It is necessary to install the application next.

Installing the new application on the device

  • From ControlUI on the Apps tab for a device click "Install App" on the device list item or select "Install All Apps" at the top of the list to install the application on the device.
  • An application also can be added to a device configuration via the addManagedApps API request.
  • The application can then be installed via the API by issuing a sendDeviceCommands with a command of "apk/all" or to install only the new application a command of "apk/your.app.package"

Updating an Application

An application can be updated via the ControlUI interface or by using the apkUploadUrl API request.

📘

NOTE: With managed apps the new version of the application must have a numerically higher version code than the previous version.

ControlUI Method:

  1. Select the App tab for the tenant.
  2. Select the App.
  3. Click "Replace" on the alpha version of the app.
  4. Promote the app to higher channels if desired.

API Method:

  1. Call the apkUploadUrl API request to get an upload URL.
  2. Post the new app version to the signed URL.

Non Managed Apps (Direct Install)

Direct app installs are usually used for evaluation and testing purposes.

To install and app via Direct-Install:

  • Upload APK to any public CDN or hosting site and note the URL.
  • Paste the URL into Direct App Install field in the Apps tab of a device.
  • Press the install button.

📘

During testing it is often desired to install a new build of an application that is at the same version code as the currently installed version. This can be accomplished using Direct Install by providing a new link to the APK. The new app can have the same Android version code however it cannot be smaller. To downgrade an app on a device it is necessary to first un-install the application and then install the desired version.


Application Reporting

There are a few ways to see application version status for a device:

  • To view status of managed applications for a device go to the Apps tab in the device display in ControlUI. All managed apps will show at the top of the list with their assigned channel. Available upgrades will show in green.
  • Below the managed apps list is another list of all applications installed on the device (managed and non managed). Even if an application is installed by a third party the application will show up in this list. Toggle the "Show All System Apps" switch to also view systems apps that are installed as part of the firmware. Each app can be reset or un-installed from the option popup in the overflow menu for each list item.
  • An "Installed Apps Report" can be generated by selecting "Reports" from the side menu and selecting "Generate Report" and "Installed Apps Report". The generated report will contain a CSV file with row data for each application installed on all devices within the tenant.
    The report includes the following information for each row:
    • DeviceId, Serial
    • App package
    • Current assigned channel for the application
    • Current version code of the app
    • The most recent available version of the app in the tenant application catalog
    • True/False if an upgrade is available
  • An "Installed Apps Report" can also be generated from the deviceReports API request. This process is similar to issuing a screenshot in that you will need to poll the report job with a jobTraceId and then fetch a download URL when the job is complete.
  • Application status for a single device can be viewed as part of the data returned in the device API request. See the "state/installedApks" data object. Note this data only includes managed applications. Otherwise include "installedApps" in the optionalData string to see a list of all installed apps for the device.