WWDC Quick Look 💓 By SwiftGGTeam
Custom app distribution with Apple Business Manager

Custom app distribution with Apple Business Manager

观看原视频

Highlight

这场 Session 讲解了如何通过 Apple Business Manager(ABM)实现企业级 app 的定制分发。


核心内容

企业 App 的分发常常卡在两个极端。公开 App Store 可以使用 Apple 的购买和下载基础设施,但它面向广泛用户,不能只给某个客户展示定制版本。Enterprise app distribution 可以做内部部署,但它只适合企业自己的员工,开发者还要处理证书续期和内部交付流程。

Custom app distribution 给了第三条路。开发者仍然使用 App Store Connect、TestFlight 和 App Review,但可以指定哪些企业或学校组织能看到这个 App。客户在 Apple Business Manager(ABM)或 Apple School Manager(ASM)里购买许可,再通过 MDM 分配到设备。对终端用户来说,App 仍然从 App Store 基础设施下载,只是它不会出现在公开 App Store 搜索结果里。

这场演讲把流程拆成三个角色。开发者负责创建 App、提交审核、授权客户组织。企业管理员负责启用 custom apps、连接 MDM、购买许可和管理更新。员工拿到设备后,由 MDM 完成初始配置、安装 custom app,并配置 Mail、网络等公司账户。这个循环会持续发生:开发者发布新版本,企业扩大部署范围,员工的角色变化又会带来新的功能需求。

2020 年的关键变化,是 Apple 明确把 custom apps 扩展到 Apple School Manager,并把它作为 Apple Business Manager 可用地区里内部部署的推荐路径。内部开发团队也可以用同一套流程给员工发布 App,不必把每个内部工具都留在企业证书分发模式里。


详细内容

Custom app 是一个受控可见的私有 App Store

01:08)演讲先比较了三种分发方式。Enterprise app distribution 支持定制,但只适合企业内部员工。Public App distribution 使用 App Store 基础设施,适合广泛客户,但不支持客户级定制。Custom apps 则允许开发者把带有专属功能、品牌或流程的 App 分发给指定客户。

01:58)Custom app 的核心规则很清楚:开发者决定哪些组织或采购者能购买,App 只在这些客户的 ABM 或 ASM 中可见。客户购买后,许可管理和分发方式与其他 volume-purchased apps 一致。MDM 连接到 ABM 后,可以代表组织把许可分配到设备,设备再从 App Store 基础设施下载 App。

关键点:

  • custom app 可以面向单个客户,也可以面向一组客户。
  • App 不暴露在公开 App Store 中,只对被授权组织可见。
  • ABM 和 ASM 在 custom apps 支持上使用同一套模型。
  • MDM 负责许可分配和设备管理,App 下载仍走 App Store 基础设施。

开发者在 App Store Connect 里完成提交

05:54)开发者首先要确认团队和账号。已有 App Store Connect 账号的团队可以继续使用同一个 Organization Developer Program。新团队需要组织开发者账号,并准备 DUNS number;如果 App 收费,还要提供银行信息并接受 paid apps agreement。内部开发团队也可以加入公司现有开发者账号,外部承包开发者则可以只拿到特定 App 的访问权限。

07:21)App 准备好后,在 App Store Connect 填写 metadata、screen shots、description、keywords、价格和可用地区。Apple 建议让 App 全球可用,这样能覆盖更广的潜在客户。提交时选择分发类型:公开 App Store,或只面向指定 business and education customers。

08:15)演讲里的 Campus Explorer 示例把 Pretendco 的 organization details 填进 App Store Connect,让该组织能在自己的 ABM 实例里购买这个 custom app。如果 App 需要公司账号登录,提交前还要提供 demo credential,帮助 App Review 团队访问全部功能。

关键点:

  • 开发者仍然使用 App Store Connect 的团队、协议、价格、地区和提交流程。
  • custom app 的差异出现在分发类型和授权组织信息。
  • 需要登录的企业 App 要给 App Review 提供可用的 demo account 或 demo mode。
  • App Review 完成后,客户才会在 ABM 或 ASM 中看到并购买 App。

审核、版本和客户差异要提前规划

08:56)Custom App Review 与公开 App 略有差异,但演讲给出的准备方式很具体。提交时提供完整 demo 账号、清楚的 metadata、能解释目标行业或客户场景的 review notes。更新现有 App 时,要说明新功能和增强点;维护版本也要写清具体修复内容,不能只写 bug fixes。

10:00)技术侧要遵守公开 API、当前系统版本和隐私要求。Apple 明确提醒不要依赖 private APIs,因为它们可能在没有提前通知的情况下变化,导致 App 停止工作或给用户带来异常。需要额外 entitlements 或访问硬件、用户数据时,也要遵守隐私和法律部分的 App Store Review Guidelines。

10:43)客户越来越多时,不要轻易为每个客户新建一个 App。Apple 建议尽量减少变体,用 App Configuration 或基于用户授权的规则交付品牌和轻量差异。只有确实需要完全不同的 App 时,才创建新的 Bundle ID、单独提交审核,并维护独立 build train。可以复用的公共代码应放进 frameworks。

12:04)发布节奏也会影响客户部署。新版本发布后,客户不能再部署旧版本。如果企业正在分批发放设备,部分员工可能拿到 Version 1,后续设备可能直接安装 Version 1.1。MDM 有办法缓解,但更好的做法是提前和客户协调上线窗口。

关键点:

  • App Review 需要能访问 App 的全部功能,demo 账号或 demo mode 要提前准备。
  • 公共 API、当前系统版本和隐私要求是 custom app 也必须遵守的底线。
  • 轻量客户差异优先用 App Configuration 或授权规则,不要过早拆出多个 App。
  • 客户组织名和 organization ID 必须与 ABM 中显示的一致,包括标点。
  • 给新客户授权现有 App 后,最多可能需要 24 小时才会出现在客户的 ABM 中。
  • 不能把现有 consumer app 直接转换成 custom app,反向转换也不支持。

ABM 与 MDM 组成企业管理员的部署链路

14:06)ABM 的三项核心功能是部署和管理设备、购买和分配内容、管理账号和权限。它可以通过 automated device enrollment 把组织拥有的设备自动注册到 MDM,配置安全策略和内容,还能在 Setup Assistant 中跳过指定步骤,让员工更快进入工作状态。

15:19)IT 管理员要先在 Settings 中启用 custom apps,并把组织详情发给开发者。移动设备管理是这条链路的必要条件。ABM 负责购买内容、管理 locations、把设备分配给 MDM servers;MDM 负责分配和撤销许可,以及持续设备管理。

15:54)演讲示范了连接 MDM 的基本动作:在 ABM 添加新的 MDM server,把 MDM 生成的 public key 上传到 ABM,再下载 Device Enrollment token 并导入 MDM,建立信任连接。随后再下载 apps and books 的 location token,保存到 MDM,让许可分发能够工作。

17:12)购买 custom app 后,管理员把它分配到 location。MDM 就可以把许可分配给用户或设备。Locations 还可以用来把许可管理委派给区域办公室,例如总部购买许可,再分配给各地区自行管理。

关键点:

  • custom apps 必须先在 ABM 或 ASM 中启用。
  • 开发者填写的 organization name 和 organization ID 要逐字匹配。
  • MDM server token 建立设备管理信任,location token 让 apps and books 许可分发可用。
  • custom apps 遵守 managed apps 的规则,可以移除许可、推送新许可、发起 App 更新。
  • 如果需要集中控制更新,MDM 可以限制员工自行更新 App,并由 IT 选择更新时间。
  • OS updates 最多可以 defer 90 days,用来给兼容性验证争取时间。

员工收到的是已经配置好的工作设备

19:01)终端用户看到的是结果。第一次激活设备时,MDM 接管初始配置,Setup Assistant 可以跳过一部分步骤。custom app 自动安装到设备上,公司账号、Mail 和网络访问也可以自动配置。

19:21)企业还可以发布 App Catalog,帮助员工发现其他可选或推荐 App。iCloud 可以让数据在多台设备之间同步,同时 IT 仍然能限制 managed sources 和 unmanaged sources 之间的数据流动。

关键点:

  • 员工不需要理解 App Store Connect、ABM 和 MDM 的后台流程。
  • 对新设备来说,custom app 可以随设备激活自动到达。
  • App Catalog 适合放可选 App 或推荐 App。
  • managed content 的数据流动仍由组织策略控制。
  • 员工和组织的新需求会回到开发者,推动 custom app 的下一轮版本。

核心启发

  1. 把 custom app 上线做成客户准入清单。 做什么:为每个企业客户建立上线清单,记录 organization name、organization ID、地区、价格、demo account、review notes 和计划上线日期。 为什么值得做:演讲明确指出组织信息必须精确匹配,App 可能需要最多 24 小时才出现在客户 ABM 中,审核时间也要纳入部署排期。 怎么开始:先把 App Store Connect 提交流程拆成账号、metadata、授权组织、demo credential、review notes、审核状态和客户可见性七个检查点。

  2. 用配置减少客户专属 App 数量。 做什么:把品牌、客户级功能开关和权限差异放进 App Configuration 或用户授权规则,只有强监管或完全不同流程才创建新 Bundle ID。 为什么值得做:Apple 建议尽量减少 App 变体,否则每个实例都需要新的 Bundle ID、单独审核和独立 build train。 怎么开始:先列出客户差异,标记哪些只是文案、品牌、入口或权限;这些优先做成配置,再把真正不可复用的差异拆为独立 App。

  3. 给 IT 团队准备 ABM/MDM 交付包。 做什么:随 App 一起交付一份管理员手册,说明如何启用 custom apps、提供组织信息、连接 MDM、导入 location token、购买并分配许可。 为什么值得做:演讲里企业管理员需要同时操作 ABM、MDM server、apps and books location token 和 locations;缺任何一步都会影响分发。 怎么开始:把管理员流程做成截图化 checklist,并在测试组织里完整跑一次 purchase、assign location、MDM license assignment 和设备安装。

  4. 为受控更新设计发布窗口。 做什么:和客户一起约定 App 更新节奏,明确哪些员工先拿到新版本,哪些设备保持旧版本,何时由 IT 发起集中更新。 为什么值得做:新版本发布后客户不能再部署旧版本,分批设备部署会导致员工处在不同 App 版本上。 怎么开始:在每次提交 App Review 前同步客户的设备发放计划;需要延迟时,让 MDM 限制用户自行更新,并由 IT 统一触发 App 更新。

  5. 做一个零接触入职设备试点。 做什么:为新员工准备组织拥有的设备,开机后自动注册到 MDM、跳过部分 Setup Assistant、安装 custom app,并配置 Mail 和网络访问。 为什么值得做:演讲展示了员工从开箱激活到 custom app 自动安装的完整路径,减少 IT 手工准备设备的时间。 怎么开始:选择一个岗位和一个小批量设备,在 ABM 中分配 MDM server,配置 device enrollment、location token 和 custom app license,再记录首次开机到可工作的耗时。


关联 Session

评论

GitHub Issues · utterances