Skip to main content

app

The sos.management.app API groups together methods for managing the signageOS application installed on the system.

App Management Capabilities
| Capability | Description | |:------------|:-------------| | `APP_UPGRADE` | If the signageOS application can upgrade itself to a specific version |
	If you want to check if the device supports this capability, use [`sos.management.supports()`](https://developers.signageos.io/sdk/sos_management/#supports).

Methods

getType()

The getType() method returns the type of the platform the application is running on.

info
  • If you need to get a specific Android brand or Raspberry Pi model, use the sos.management.firmware.getType().
  • default type is always Emulator.
getType(): Promise<AppType>;

Return value

Resolves to the type of the application platform.

Example

const appType = await sos.management.app.getType();
console.log(appType); // tizen, linux, webos, etc.

getVersion()

The getVersion() method returns the version of the Core App that is currently running on the device.

getVersion(): Promise<string>;

Return value

Resolves to the version of the Core application.

Example

const version = await sos.management.app.getVersion();
console.log(`Current application version is: ${version}`); // e.g. '4.0.0', '5.2.1', etc.

upgrade(appUri)

The upgrade(appUri) method upgrades the signageOS application with the provided appUri. Open users can upgrade the app passing a URL where the application files are hosted.

Strict URL and folder structure requirements

The appUri must follow the exact folder structure produced by the signageOS Device-app Builder. The upgrade will fail silently (device reverts to the previous version) if the URL does not match the expected format.

Key rules:

  1. The folder structure on your server must match the ZIP package from signageOS exactly. Do not rename files or reorganize folders.
  2. HTTP redirects (e.g., 302) are not supported. Files must be directly accessible at the expected URLs.
  3. The URL must not end with a trailing slash (/). A trailing slash causes the upgrade to fail.

The expected URL format differs per platform:

PlatformURL format
TizenPoint to the folder containing sssp_config.xml and *.wgt — not to a specific file. E.g. https://cdn.example.com/app/tizen/2.10.1/landscape
SSSPPoint to the folder containing sssp_config.xml and *.wgt. E.g. https://cdn.example.com/app/sssp/2.10.1/landscape_full-hd
webOS 1, 2Point to the ZIP file directly. E.g. https://cdn.example.com/app/webos/2.10.1/ApplicationName.zip
webOS 3+Point to the IPK file directly. E.g. https://cdn.example.com/app/webos/2.10.1/ApplicationName.ipk
BrightSignPoint to the zip file directly. E.g. https://cdn.example.com/app/brightsign/2.10.1/display-brightsign.zip
AndroidPoint to the APK file directly. E.g. https://cdn.example.com/app/android/2.10.1/io.signageos.android.apk
WindowsPoint to the zip file directly. E.g. https://cdn.example.com/app/windows/2.10.1/windows_2.10.1.zip
ChromeOSNot supported

For the full folder structure reference and deployment guide, see Build & Deploy Your Applet Via Core App with built-in Applet.

upgrade(appUri: string): Promise<void>;

Params

NameTypeRequiredDescription
appUristring
Yes
URL where the application files are hosted. Must follow the platform-specific format described above.

Return value

A promise that resolves when the upgrade starts.

Possible errors

If the upgrade fails.

Example

// Upgrade Tizen device — point to the FOLDER, not a specific file. No trailing slash.
await sos.management.app.upgrade('https://cdn.your-cms.com/app/tizen/2.10.1/landscape');

upgrade(baseUrl, version)

The upgrade(baseUrl, version) does the same as upgrade(version, baseUrl).

upgrade(baseUrl: string, version: string): Promise<void>;

Params

NameTypeRequiredDescription
baseUrlstring
Yes
The server URL where application files are located.
versionstring
Yes
The version of the application being installed.

upgrade(version, baseUrl)

The upgrade(version, baseUrl?) method upgrades the signageOS application using version and baseUrl. Platform users can install the general application version directly with passing just the version number. Optionally, the baseUrl can be passed as an argument to specify the server where the application files are accessible.

upgrade(version: string, baseUrl?: string): Promise<void>;

Params

NameTypeRequiredDescription
versionstring
Yes
The version of the application being installed.
baseUrlstring
No
Optional server URL where application files are located.
(Default value: "https://2.signageos.io")

Return value

A promise that resolves when the upgrade starts.

Possible errors

If the upgrade fails.

Example

await sos.management.app.upgrade('4.0.0', 'https://2.signageos.io')