Ionic或Cordova可以支持托管应用程序配置吗?

时间:2015-10-21 14:34:26

标签: ios cordova ionic hybrid-mobile-app

我正在尝试从我的MDM(AirWatch)中获取并存储用户名字符串值。我被告知这可以通过使用Managed App Configuration来实现,并且想知道Ionic或Cordova是否可以支持这个?我正在构建一个混合应用程序。

如果没有,是否有人使用过Managed App Config并且可以指出我正确的方向?

谢谢,

安迪

2 个答案:

答案 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的更多信息: