我对AirWatch Concept非常陌生,但对AirWatch进行了彻底的了解.我已经通过以下链接,
http://developer.air-watch.com/android/application-configuration-with-the-android-sdk/
http://developer.air-watch.com/android/android-sdk-setup/
但是徒劳无功
关于Air Watch在Android中的集成,有谁可以帮助我?
我到目前为止所做的事情,
我在https://apidev.awmdm.com上创建了应用程序,并添加了assignemnts.这里的问题是,如何在我的Android应用程序中获取Air Watch Console中添加的分配详细信息.
非常感谢帮助.
更新:
我能够将应用程序从AIR WATCH CONSOLE创建并推送到我的设备.现在,我面临的问题是,如果我在AIR WATCH CONSOLE中添加一些应用程序配置,我无法在我的应用程序中获取这些详细信息.
我已经通过下面的Url了解上述情况,
https://appconfig.org/android/与https://appconfig.org/ios/非常相似
我已经实现了上面提到的那些内容,但是我仍然无法获得这些细节.如果我在任何地方都错了,请告诉我.
我知道在Air手表控制台中传递的关键值对将成为com.apple.configuration.managediOS中的关键.有没有人知道这些关键价值对将如何产生.据我所知,他们将通过Restriction Manager.但不知道/线索如何在Android中处理.
更新:
xml/app_restrictions.xml:
<?xml version="1.0" encoding="utf-8"?>
<restrictions xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<restriction
android:key="ManagedServer"
android:restrictionType="string"
android:title="Managed Server"
tools:ignore="ValidRestrictions" />
<restriction
android:key="@string/mdm_key_managed_server_name"
android:restrictionType="string"
android:title="@string/mdm_key_managed_server_url"
tools:ignore="ValidRestrictions" />
<restriction
android:key="@string/mdm_key_managed_server_url"
android:restrictionType="string"
android:title="@string/mdm_key_managed_server_url"
tools:ignore="ValidRestrictions" />
</restrictions>
Run Code Online (Sandbox Code Playgroud)
oncreate 方法 :
IntentFilter restrictionsFilter =
new IntentFilter(Intent.ACTION_APPLICATION_RESTRICTIONS_CHANGED);
BroadcastReceiver restrictionsReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context …Run Code Online (Sandbox Code Playgroud) 编辑:见结论在这篇文章的结尾。
首先,让我澄清一下,我在SO上找到了一些类似的问题/答案,但是没有一个适用于我的特定情况。最接近的一个是这个,但没有解决AirWatch方面的问题。
因此,我将尝试非常具体。
背景
我有一个免费的iOS应用程序。我也有适用于Android和Windows 10的相同应用程序,但我不关心这些。iOS应用程序可供App Store中的任何人使用。但是我有一些大型公司客户,他们使用AirWatch来管理其设备的安装/更新周期。他们有企业帐户或VPP Apple帐户。他们希望我为他们提供IPA文件,以便他们可以通过AirWatch自己分发它。在我看来,这是一个完全合法的要求:他们只想更好地控制设备上安装的内容。
问题
据我了解,企业帐户需要使用客户的证书对应用程序进行签名。但是,如果我有几个这样的客户,则意味着每次我有新的可用更新时,我都必须为每个客户重新签名每个应用程序。拥有VPP帐户的客户无法使用它们,因为VPP计划仅适用于付费应用程序,不适用于免费应用程序。
注意:请记住,当我准备向这些客户提供应用程序时,该应用程序已被App Store审核并接受。因此,这被认为是合法的。
在搜索了一段时间后,我知道如果其他人以未签名的形式提供应用程序,则有可能其他人会对其进行签名或首次签名。但是,AirWatch显然不支持已辞职的应用程序(我认为,其他MDM也是如此)。
如果该信息不正确,那么我想我只是想作为编码人员在向客户提供应用程序之前必须遵循的食谱,以及他们需要采取哪些步骤才能使用AirWatch进行部署。
题
因此,我如何将我的免费应用程序提供给我的客户,以便他们可以自己管理分发,而不必每次更改内容时都经历另一个麻烦。记住:如果我只有一个公司客户,我不会再三思而行,我只会使用他们自己的证书,但是我有几个具有相同要求的潜在客户,所以重点是使他们所有人都容易和我自己。
我希望我的问题很清楚,在此先感谢您的帮助。
编辑-结论:我能够验证可以使用客户的证书对未签名的IPA文件进行签名,然后将其上传到其AirWatch分发应用程序。这意味着我只需要向具有相同问题的任何客户提供未签名的版本,他们就可以随自己的MDM一起分发该应用程序。希望这些信息对其他人有帮助。
更改我的顶级build.gradle后使用Android Plugin for Gradle 3.0.0-beta3with Gradle 4.1,AirWatch无法从APK中读取信息(如versionCode和versionName).
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0-beta3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
ext {
roomVersion = '1.0.0-alpha9'
supportLibVersion = '26.0.1' …Run Code Online (Sandbox Code Playgroud) 我正在构建一个通过 AirWatch 应用程序目录分发的内部应用程序。该应用程序始终在启用引导式访问的情况下运行,并且所有运行它的设备都由 AirWatch 管理。我的问题是关于自动更新:
itms-services://链接,也许是一个链接,如果 Web 服务表明它不再是最新版本,应用程序可以调用该链接来安装新版本?如果是这样,启用引导式访问如何影响这种行为?非常感谢你的帮助!!
对于那些从事过Airwatch实施工作的人来说,我的问题似乎真的很愚蠢.但他们的文档编写得不是很好,我有一些疑问.
所以我设置了我的用户,并使用airwatch控制台添加了我的设备.
我在现有的Android应用程序中添加了App限制代码.
我还通过Airwatch Agent应用程序添加了要推送到应用程序的键值.
但是我没有收到这些键值,我在执行以下代码时应该这样做:
Bundle appRestrictions = myRestrictionsMgr.getApplicationRestrictions();
Run Code Online (Sandbox Code Playgroud)
appRestrictions包是空的.
我在文档中读到了一些内容,即AppConfig需要安装Android 5.0 for Android for Work Device.这是否意味着我必须在我的Android设备上启用Android工作功能?这是否需要甚至用于开发目的?我尝试使用以下链接徒劳无功:https://support.google.com/a/answer/6178111?hl = zh-CN.可以请一些人共享一个doc,以便在我的Android设备上启用android工作功能,如果需要的话.
我也设置了 android for work 帐户和 Airwatch 控制台。现在,当我使用二维码扫描仪进行身份验证时,它会要求我输入用户名和密码。当我输入电子邮件中收到的凭据时,我收到一条错误消息
"Enrollment Blocked - You are not allowed to enroll your device. Error adding user account".
我使用的是 Nexus 5X,运行 Android 6.0.1。虽然另一台设备(Spice、Android 6.0.1)已注册,但未设置工作配置文件。此外,Android for work 应用程序与我的 6.0.1 设备不兼容。我错过了什么吗?请在这件事上给予我帮助。
我有一个问题,如何使用MDM Airwatch将我的应用程序的.ipa发送到客户端.
他告诉我他们已经有另一个应用程序提供商,他们发送.ipa文件,然后将它们放入Airwatch后,它们被分发到公司的所有电话,而不向他们发送配置文件或任何内容.
我有和IOS开发人员帐户,但正如我想的那样,在发送了一个用我的配置文件签名的.ipa后,该应用程序只安装在我已经注册的UDID的手机上...
发送.ipa以在此MDM中使用的方法是什么?
我一直在尝试使用 Workspace ONE SDK for Android 19.6 的客户端 SDK 和基本实现
初始化和使用
awSDKManager = SDKManager.init(getApplicationContext());
// isEnrolled returns true
if(awSDKManager.isEnrolled()){
response = awSDKManager.getEnrollmentUsername();
}
Run Code Online (Sandbox Code Playgroud)
应用程序首先上传到 Workspace ONE UEM 门户,然后使用 Android Studio 侧面加载到注册设备上。
这不是唯一使其他方法(例如
设备 uid、允许的摄像头、服务器名称、组 id)失败的方法调用也会引发相同的异常。
有没有人遇到过这个问题?门户的配置部分是否缺少任何内容。我还尝试在 SDK 中提供的示例应用程序中运行,它会抛出 open ssl load 异常 android。
我的公司正在使用AirWatch作为MDM,我需要在Android和iOS上开发一个应用程序作为启动器,并在AirWatch浏览器中打开一个特定的URL.
我的问题是我无法找到有关AirWatch浏览器的URL方案的任何信息,我无法访问AirWatch上的任何设备或文档(现在我们只是检查可能性).
我在AirWatch网站上看到,有一个SDK可以与整个AirWatch MDM集成,但这不是我想要做的.该应用只需在选择的URL上打开AirWatch Browser.
我支持少数使用 AirWatch MDM 分发的企业 iOS 应用程序。最初,前几个应用程序都共享相同的通配符配置文件。
我们最近推出了一系列使用无法使用通配符配置文件的应用程序组功能的应用程序,因此每个应用程序都创建了自己的配置文件。
由于配置文件即将过期,我们在使用这些新应用程序时遇到了一些问题。尝试通过 AirWatch 分发新配置文件没有成功,唯一对我们有用的是部署新的应用程序更新。我担心这种方法不是真正可持续的,因为其中一些应用程序可能不会在配置文件更新后的一两年内更新。
从 Airwatch/MDM 咨询的角度,我有几个问题:
如果可能,让企业格式的每个应用程序都有自己的配置文件或共享配置文件是最佳做法吗?
是否可以远程分发具有功能的配置文件?
当证书过期时,是否有办法修复应用程序而不使用过期证书更新整个企业的每个应用程序?
我能否在不影响内部发布的应用程序到期日期之前撤销用于内部发布的应用程序的活动证书?
从证书管理的角度来看,我们应该创建一个带有通用登录名的共享 Apple ID 还是将其绑定到一个特定的开发人员?
我们现在的应用程序很少,但每次这些到期日期一到,它就会成为一个支持问题,我觉得必须有更好的方法让企业管理拥有数百个内部应用程序的应用程序。
airwatch ×10
android ×5
ios ×5
mdm ×5
airwatchsdk ×1
apple-vpp ×1
deployment ×1
enterprise ×1
ios8 ×1
ipa ×1