我正在尝试从我的MDM(AirWatch)中获取并存储用户名字符串值。我被告知这可以通过使用Managed App Configuration来实现,并且想知道Ionic或Cordova是否可以支持这个?我正在构建一个混合应用程序。
如果没有,是否有人使用过Managed App Config并且可以指出我正确的方向?
谢谢,
安迪
答案 0 :(得分:4)
<强>解强>
对于任何希望实施此功能的人
在研究了不同的插件之后,这是最好的插件(https://github.com/apla/me.apla.cordova.app-preferences)。虽然文档有点缺乏(或者至少对我来说难以入门)所以这里有我没做过的事情:
安装插件后,运行:
$ cordova prepare
这将生成一个Settings.bundle文件,供您将密钥值放入。
然后转到platforms / ios / Settings.bundle并将其复制到xcode项目Resources目录中。
无论出于何种原因,我仍然在阅读密钥时遇到一些困难,所以这里是我用于 Root.plist 文件的结构:
<plist version="1.0">
<dict>
<key>PreferenceSpecifiers</key>
<array>
<dict>
<key>Type</key>
<string>PSTitleValueSpecifier</string>
<key>DefaultValue</key>
<string>Mango Farmer</string> //username value
<key>Key</key>
<string>username</string> //identifier value
</dict>
</array>
<key>StringsTable</key>
<string>Root</string>
</dict>
</plist>
在我的 app.js 文件中,这里是控制器的结构:
app.controller('GetUsername', function($scope) {
$scope.testPref = function () {
var prefs = window.plugins.appPreferences;
prefs.fetch(prefReadSucess, prefReadFailed, 'username');
function prefReadSucess(value) {
console.log(value);
}
function prefReadFailed(error) {
console.log(error);
}
};
});
希望有助于任何有兴趣的人!
答案 1 :(得分:0)
这来得太晚了,但可能会帮助其他人解决问题。几年前,几个MDM / EMM提供商(包括AirWatch)创建了AppConfig,这是用于管理设备和应用程序数据的一组标准API。
此外,Oracle开发了一个名为“用于EMM应用程序配置的Cordova插件”的Cordova插件。该插件使应用程序可以使用单个功能来获取配置数据(从AirWatch控制台设置)。
cordova.plugins.EmmAppConfig.getValue("username");
此功能在deviceready事件触发后才可用,因此您需要先监听该事件再尝试使用它。下面是一个简单的示例:
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady()
{
console.log(cordova.plugins.EmmAppConfig.getValue("username"));
}
您可以找到有关此article的更多信息: