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 的下一轮版本。
核心启发
-
把 custom app 上线做成客户准入清单。 做什么:为每个企业客户建立上线清单,记录 organization name、organization ID、地区、价格、demo account、review notes 和计划上线日期。 为什么值得做:演讲明确指出组织信息必须精确匹配,App 可能需要最多 24 小时才出现在客户 ABM 中,审核时间也要纳入部署排期。 怎么开始:先把 App Store Connect 提交流程拆成账号、metadata、授权组织、demo credential、review notes、审核状态和客户可见性七个检查点。
-
用配置减少客户专属 App 数量。 做什么:把品牌、客户级功能开关和权限差异放进 App Configuration 或用户授权规则,只有强监管或完全不同流程才创建新 Bundle ID。 为什么值得做:Apple 建议尽量减少 App 变体,否则每个实例都需要新的 Bundle ID、单独审核和独立 build train。 怎么开始:先列出客户差异,标记哪些只是文案、品牌、入口或权限;这些优先做成配置,再把真正不可复用的差异拆为独立 App。
-
给 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 和设备安装。
-
为受控更新设计发布窗口。 做什么:和客户一起约定 App 更新节奏,明确哪些员工先拿到新版本,哪些设备保持旧版本,何时由 IT 发起集中更新。 为什么值得做:新版本发布后客户不能再部署旧版本,分批设备部署会导致员工处在不同 App 版本上。 怎么开始:在每次提交 App Review 前同步客户的设备发放计划;需要延迟时,让 MDM 限制用户自行更新,并由 IT 统一触发 App 更新。
-
做一个零接触入职设备试点。 做什么:为新员工准备组织拥有的设备,开机后自动注册到 MDM、跳过部分 Setup Assistant、安装 custom app,并配置 Mail 和网络访问。 为什么值得做:演讲展示了员工从开箱激活到 custom app 自动安装的完整路径,减少 IT 手工准备设备的时间。 怎么开始:选择一个岗位和一个小批量设备,在 ABM 中分配 MDM server,配置 device enrollment、location token 和 custom app license,再记录首次开机到可工作的耗时。
关联 Session
- Create custom apps for employees — 从员工痛点和快速迭代讲 custom app 的设计前置工作。
- Build scalable enterprise app suites — 讲 Apple Retail 如何用共享组件、测试和配置管理一组企业 App。
- Deploy Apple devices using zero-touch — 继续讲 ABM、自动设备注册和 MDM 如何把设备交到员工手里。
- What’s new in managing Apple devices — 补充设备管理、托管更新和企业部署能力。
- What’s new in App Store Connect — 补充 App Store Connect 的提交、审核、测试和自动化入口。
评论
GitHub Issues · utterances