重要
所有 Xamarin SDK 的 Xamarin 支持已于 2024 年 5 月 1 日终止,包括 Xamarin.Forms、Intune 应用 SDK、Xamarin 绑定和相关的 Microsoft Tunnel 支持。 Xamarin.Forms 已发展成为 .NET 多平台应用 UI (MAUI) 。 现有 Xamarin 项目应迁移到 .NET MAUI。 有关将 Xamarin 项目升级到 .NET 的更多信息,请参阅 从 Xamarin 升级到 .NET & .NET MAUI 和 .NET 多平台应用 UI 文档。 有关 Android 平台上的 Intune 支持,请参阅适用于 .NET MAUI 的 Intune 应用 SDK - Android 和适用于 Android 的 .NET 文档。 有关 iOS 平台上的 Intune 支持,请参阅适用于 MAUI.iOS 的 Microsoft Intune 应用 SDK 和适用于 iOS 的 .NET。
本指南将帮助你快速启用移动应用,以支持 Microsoft Intune 的应用保护策略。 你可能会发现首先了解 Intune 应用 SDK 的优势会非常有用,如 Intune 应用 SDK 概述中所述。
Intune App SDK 支持 iOS 和 Android 中的类似方案,旨在为 IT 管理员创建跨平台的一致体验。 但是,由于平台的差异和限制,某些功能的支持存在细微差异。
进程流
下图提供了适用于 iOS 的 Intune 应用 SDK 和适用于 Android 的 Intune 应用 SDK 的过程流:
向 Microsoft 注册应用商店应用
如果你的应用是组织内部的,并且不会公开发布:
无需注册应用。 对于由公司编写或为公司编写的内部业务 线 (LOB) 应用 ,IT 管理员将在内部部署应用。 Intune 将检测应用是否已使用 SDK 生成,并允许 IT 管理员向其应用应用保护策略。 可以跳转到 “为应用启用 iOS 或 Android 应用”部分 应用保护策略。
如果您的应用将发布到公共应用商店,例如 Apple App Store 或 Google Play:
必须首先向 Microsoft Intune 注册应用并同意注册条款。 然后,IT 管理员可以将应用保护策略应用于托管应用,该应用将列为 合作伙伴生产力应用。
在 Microsoft Intune 团队完成注册并确认之前,Intune 管理员无法选择将应用保护策略应用于应用的深层链接。 Microsoft 还会将你的应用添加到其 Microsoft Intune 合作伙伴页面。 将显示应用的图标,以表明它支持 Intune 应用保护策略。
注册过程
若要开始注册过程,如果尚未与 Microsoft 联系人合作,请填写 Microsoft Intune 应用合作伙伴调查表。
我们将使用你的调查问卷回复中列出的电子邮件地址与您联系并继续注册过程。 此外,如果我们有任何疑虑,我们会使用您的注册电子邮件地址与您联系。
注意
在调查问卷中收集以及通过与 Microsoft Intune 团队的电子邮件通信收集的所有信息都将遵循 Microsoft 隐私声明。
注册过程中会发生什么:
提交调查问卷后,我们将通过您的注册电子邮件地址与您联系,以确认成功收到或索取其他信息以完成注册。
收到你的所有必要信息后,我们将向你发送 Microsoft Intune 应用合作伙伴协议以供签署。 本协议描述了贵公司在成为 Microsoft Intune 应用合作伙伴之前必须接受的条款。
当应用成功注册到 Microsoft Intune 服务,并且应用在 Microsoft Intune 合作伙伴网站上亮相时,你将收到通知。
最后,应用的深层链接将添加到下个月度 Intune 服务更新中。 例如,如果 7 月完成注册信息,则 8 月中旬将支持深度链接。
深层链接是指向您的应用在公共应用商店中的列表的链接。 如果应用的深层链接将来发生更改,则需要重新注册应用。
下载 SDK 文件
适用于本机 iOS 和 Android 的 Intune 应用 SDK 托管在 Microsoft GitHub 帐户上。 这些公共存储库分别具有本机 iOS 和 Android 的 SDK 文件:
如果你的应用使用 .NET 多平台应用 UI (.NET MAUI) 生成,请使用此 SDK 变体:
注意
使用适用于 .NET MAUI 的 Intune 应用 SDK,可以为包含 .NET 多平台应用 UI 的适用于 Intune 开发 Android 或 iOS 应用。 使用此框架开发的应用将允许强制实施 Intune 移动应用程序管理。
最好注册一个 GitHub 帐户,您可以使用该帐户从我们的存储库中进行分支和提取。 通过 GitHub,开发人员可以与我们的产品团队沟通、打开问题并接收快速响应、查看发行说明以及向 Microsoft 提供反馈。 有关 Intune App SDK GitHub 的问题,请联系msintuneappsdk@microsoft.com。
为应用保护策略启用 iOS 或 Android 应用
你需要以下开发人员指南之一来帮助你将 Intune 应用 SDK 集成到应用中:
适用于 iOS 的 Intune 应用 SDK 开发人员指南:本文档将逐步引导你使用 Intune 应用 SDK 启用本机 iOS 应用。
适用于 Android 的 Intune 应用 SDK 开发人员指南:本文档将逐步介绍如何使用 Intune 应用 SDK 启用本机 Android 应用。
重要
Intune 定期发布 Intune 应用 SDK 的更新。 建议订阅 Intune 应用 SDK 存储库以获取更新,以便将更新合并到软件开发发布周期中,并确保应用支持最新的应用保护策略设置。
计划在每个主要操作系统发布之前进行强制 Intune 应用 SDK 更新,以确保在操作系统更新可能导致重大更改的情况下继续平稳运行。 如果在主要操作系统发布之前未更新到最新版本,则可能会面临遇到重大更改和/或无法将应用保护策略应用于应用的风险。
启用 iOS 或 Android 应用以进行基于应用的条件访问
除了为应用启用应用保护策略之外,应用还需要满足以下条件才能与基于 Microsoft Entra 应用的条件访问正常运行:
应用是使用 Microsoft 身份验证库生成的,并针对 Microsoft Entra 代理身份验证启用。
应用的 Microsoft Entra 客户端 ID 必须在 iOS 和 Android 平台上唯一。
为应用配置遥测
Microsoft Intune 收集应用的使用情况统计信息数据。
适用于 iOS 的 Intune 应用 SDK:默认情况下,SDK 记录有关使用情况事件的 SDK 遥测数据。 此数据将发送到 Microsoft Intune。
- 如果选择不从应用将 SDK 遥测数据发送到 Microsoft Intune,则必须通过在 IntuneMAMSettings 字典中将属性
MAMTelemetryDisabled设置为“是”来禁用遥测传输。
- 如果选择不从应用将 SDK 遥测数据发送到 Microsoft Intune,则必须通过在 IntuneMAMSettings 字典中将属性
适用于 Android 的 Intune 应用 SDK:适用于 Android 的 Intune 应用 SDK 不控制从应用收集数据。 默认情况下,公司门户应用程序记录遥测数据。 此数据将发送到 Microsoft Intune。 根据Microsoft政策,我们不会 (PII) 收集任何个人身份信息。
- 如果最终用户选择不发送此数据,则必须在公司门户应用的“设置”下关闭遥测。 若要了解详细信息,请参阅 关闭 Microsoft 使用情况数据收集。
业务线应用版本号
Intune 中的系列商业应用现在显示 iOS 和 Android 应用的版本号。 该数字显示在 Microsoft Intune 管理中心的应用列表和应用概述视窗中。 最终用户可以在公司门户应用和 Web 门户中看到应用编号。
完整版本号
完整版本号标识应用的特定版本。 编号显示为 版本 (内部版本) 。 例如,2.2 (2.2.17560800) 。
完整版本号包含两个组件:
版本
版本号是应用的可读版本号。 最终用户使用它来标识应用的不同版本。内部版本号
内部版本号是一个内部编号,可用于应用检测和以编程方式管理应用。 内部版本号是指引用代码更改的应用的迭代。
Android 和 iOS 中的版本和内部版本号
Android 和 iOS 都使用版本号和内部版本号来引用应用。 但是,这两种操作系统的含义都特定于操作系统。 下表说明了这些术语之间的关系。
开发要在 Intune 中使用的业务线应用程序时,请记住同时使用版本和内部版本号。 Intune 应用管理功能依赖于适用于 iOS) 的有意义的 CFBundleVersion (和适用于 Android) 的 PackageVersionCode (。 这些数字包含在应用清单中。
| Intune | iOS | Android | 说明 |
|---|---|---|---|
| 版本号 | CFBundleShortVersionString | PackageVersionName | 此数字指示面向最终用户的特定应用版本。 |
| 内部版本号 | CFBundleVersion | PackageVersionCode | 此数字用于指示应用代码中的迭代。 |
iOS
-
CFBundleShortVersionString
指定捆绑包的发行版本号。 此编号标识应用的已发布版本。 最终用户使用该数字来引用应用。 -
CFBundleVersion
捆绑包的内部版本,标识捆绑包的迭代。 该数字可能标识已发布或未发布的捆绑包。 该数字用于应用检测。
Android
-
PackageVersionName
向用户显示的版本号。 此属性可以设置为原始字符串或对字符串资源的引用。 字符串除了显示给用户之外没有其他用途。 -
PackageVersionCode
内部版本号。 此数字仅用于确定某个版本是否比另一个版本更新,数字越大表示版本越新。 这不是版本
集成后的后续步骤
测试应用
完成将 iOS 或 Android 应用与 Intune 应用 SDK 集成的必要步骤后,需要确保已为用户和 IT 管理员启用并正常运行所有应用保护策略。若要测试集成应用,你将需要以下内容:
Microsoft Intune 测试帐户:若要针对 Intune 应用保护功能测试受 Intune 管理的应用,需要一个 Microsoft Intune 帐户。
如果你是为 Intune 应用保护策略启用 iOS 或 Android 应用商店应用的 ISV,你将在完成 Microsoft Intune 注册后收到促销代码,如注册步骤中所述。 使用促销代码,可注册 Microsoft Intune 试用版,延长使用期限一年。
如果你正在开发不会交付到应用商店的业务线应用,则应有权通过组织访问 Microsoft Intune。 你也可以在 Microsoft Intune 中注册一个月的免费试用版。
如果要使用最终用户帐户在移动设备上测试应用,请确保在使用管理员帐户登录后,已在 Microsoft 365 管理中心网站为该帐户提供 Intune 许可证,请参阅分配 Microsoft Intune 许可证。
Intune 应用保护策略:若要针对所有 Intune 应用保护策略测试应用,应知道每个策略设置的预期行为。 请参阅 iOS 应用保护策略 和 Android 应用保护策略的说明。 如果你的应用已集成 Intune SDK,但未列在可目标应用列表中,则可以在选择“自定义应用”时 (文本框中指定应用的捆绑包 ID (iOS) 或 Android) 的包名称。
疑难解答:如果在手动测试应用的安装用户体验时遇到任何问题,请参阅 应用安装问题疑难解答。
授予应用对 Intune 移动应用管理服务的访问权限
如果你的应用使用自己的自定义 Microsoft Entra 设置进行身份验证,则应为公共应用商店应用以及内部 LOB 应用执行以下步骤。 如果你的应用使用 Intune SDK 默认客户端 ID,则无需执行这些步骤。
在 Azure 租户中注册应用并将其显示在“所有应用程序”下后,必须向应用授予对 Intune 移动应用管理服务的访问权限。 在 Microsoft Intune 管理中心:
- 转到 Microsoft Entra ID 边栏选项卡。
- 在“应用注册”下,转到为应用程序设置的列表。
- 单击 “+ 添加权限”。
- 单击 我的组织使用的 API。
- 在搜索框中输入“ Microsoft 移动应用程序管理”。
- 在“ 委托的权限”下,选择“ DeviceManagementManagedApps.ReadWrite: 读取和写入用户的应用管理数据* 复选框。
- 单击“添加权限”。
为应用 (可选) 徽章
验证 Intune 应用保护策略是否在应用中工作后,可以使用 Intune 应用保护徽标标记应用图标。
此徽章向 IT 管理员、最终用户和潜在的 Intune 客户表明,你的应用适用于 Intune 应用保护策略。 它鼓励 Intune 客户使用和采用你的应用。
徽章是一个公文包图标,可在以下示例中看到:
为应用添加徽章需要满足以下条件:
可以读取 .eps 文件的图像处理应用程序,或者可以读取 .ai 文件的 Adobe 应用程序。
可以在 Microsoft Intune GitHub 上找到 Intune 应用徽章资产和指南。