Skip to content

Capacitor community plugin for reading app configurations written by a MDM (see appconfig.org) such as VMWare Workspace One.

License

Notifications You must be signed in to change notification settings

capacitor-community/mdm-appconfig


MDM App Config

@capacitor-community/mdm-appconfig

Capacitor community plugin for reading app configurations written by a MDM (see appconfig.org) such as VMWare Workspace One.

Maintainers

Maintainer GitHub Social
Damian Tarnawsky dtarnawsky @damiantarnawsky

Versions

Plugin Capacitor Documentation
7.x 7.x README
6.x 6.x README
5.x 5.x README
4.x 4.x README

Installation

npm install @capacitor-community/mdm-appconfig
npx cap sync

Configuration

Android

Add the following line to your androidmanifest.xml (under <application...>):

<meta-data android:name="android.content.APP_RESTRICTIONS" android:resource="@xml/app_restrictions" />

Create an XML file named app_restrictions.xml in the res/xml directory to house your defined app restrictions, the format for the XML can be found here.

Here is an example app_restrictions.xml that defines 3 strings (ionic-email, ionic-user, ionic-userid):

<?xml version="1.0" encoding="utf-8"?>
<restrictions xmlns:android="http://schemas.android.com/apk/res/android">
	<restriction android:key="ionic-email" android:title="Ionic Email" android:restrictionType="string" android:defaultValue="" />
	<restriction android:key="ionic-user" android:title="Ionic User" android:restrictionType="string" android:defaultValue="" />
	<restriction android:key="ionic-userid" android:title="Ionic Userid" android:restrictionType="string" android:defaultValue="" />
</restrictions>

Note: You must define keys in your app_restrictions.xml to be able to read their value at runtime.

iOS

No additional configuration is required for iOS.

Usage

import { AppConfig } from '@capacitor-community/mdm-appconfig';

// Get a value:
const result = await AppConfig.getValue({ key: 'my.variable.name' });
console.log(result.value);

If the key cannot be found the promise will be rejected.

VMWare Workspace 1

When distributing an Application you can create an Assignment and under Application Configuration you can send a set of configuration keys that can be read by your application. The screenshot belows shows keys called ionic-email, ionic-user and ionic-userid which Workspace 1 has will write with values related to the enrolled user. ws1-screenshot

API

getValue(...)

getValue(options: getValueOptions) => Promise<GetValueResult>

Get a value from App Config. On iOS, values are obtained from UserDefaults in com.apple.configuration.managed.

Param Type Description
options getValueOptions Options to get value

Returns: Promise<GetValueResult>

Since: 1.0.0


Interfaces

GetValueResult

Prop Type Description Since
value string The value 1.0.0

getValueOptions

Prop Type Description Since
key string The key (or variable name) 1.0.0

About

Capacitor community plugin for reading app configurations written by a MDM (see appconfig.org) such as VMWare Workspace One.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 5