为何使用 Jamf Device Checker?
问题所在
终端用户经常遇到影响其工作效率的设备问题,但却不知道如何识别或解决它们:
- 缺失或过时的应用版本
- 过时的 iOS 版本
- 电池健康度低导致意外关机
- 存储容量问题导致无法安装应用
- 网络连接问题影响工作效率
- 设备过热导致性能降频
- 内存/CPU 使用率高导致工作变慢
这些问题通常会导致服务台工单、工作效率损失以及用户的挫败感。
解决方案
Jamf Device Checker 通过简单的颜色编码界面,让终端用户能够自助诊断并解决设备就绪问题:
- ✅ 绿色 = 设备已就绪,可以工作
- ⚠️ 黄色 = 应尽快处理的警告
- 🔴 红色 = 影响工作效率的严重问题
主要优势
对终端用户: 自助式设备就绪检查、修复问题的清晰可操作指引、缩短等待 IT 支持的时间,以及在截止期限之前的主动通知。
对 IT 团队: 减少服务台工单、按企业策略强制实施合规性(OS 版本、必需应用)、实时掌握设备健康状况,以及可配置的阈值和监控规则。
对组织: 提升终端用户工作效率、更好的设备生命周期管理、降低 IT 支持成本,以及合规性追踪和报告。
整体状态显示
应用会在主屏幕顶部显示一个大型的颜色编码状态指示器,用于总结设备的整体就绪情况。
| 状态 | 颜色 | 图标 | 描述 |
|---|---|---|---|
| Ready | 🟢 绿色 | 对勾 | 所有已启用的检查均通过。设备满足所有要求。 |
| Deadline Approaching | 🟠 橙色 | 警告三角 | 有可用更新且已配置截止期限。显示 "X update(s) available - Y day(s) remain",并倒计时至最早的截止期限。 |
| Action Needed | 🟠 橙色 | 警告三角 | 有可用更新,但未配置截止期限。显示 "X update(s) available"。 |
| Not Ready | 🔴 红色 | X 标记 | 有一个或多个更新为必需,且截止期限已过。显示 "X update(s) required"。 |
| Installing Updates | 🔵 蓝色 | 旋转箭头 | MDM 命令进行中。显示 2 分钟倒计时以自动刷新。 |
| Off Duty | ⚪ 灰色 | 带 Z 的月亮 | 设备通过 Jamf Setup EA 标记为停用状态。 |
| Unknown | ⚪ 灰色 | 问号 | 首次检查完成之前的初始状态。 |
快速开始
前提条件
- Jamf Pro 服务器 (JPS)
- Jamf Pro 的管理员访问权限
- Jamf Self Service 应用(应用安装功能所需)
- 具有向导权限的本地用户账户(见下文)
所需的 API 权限
应用使用两组不同的权限:
用于向导设置(本地用户账户——在初始配置期间使用):
在 Jamf Pro 中创建一个具有以下 8 项权限的本地用户:
API Integration Setup(一次性向导配置):
- Read API Integrations
- Create API Integrations
- Update API Integrations
- Read API Roles
- Create API Roles
- Update API Roles
App Config Management(向导 + 后续更新):
- Read Mobile Device Applications
- Update Mobile Device Applications
此用户账户通过 Basic Auth 对向导进行身份验证,以创建 API integration、配置角色、关联原生应用并保存 app config XML。初始设置完成后,仅在更新 app config 时才需要此用户(仅需 2 项 Mobile Device Applications 权限)。
用于运行时操作(OAuth API client——由向导自动配置):
向导会自动创建一个 "Jamf Device Checker" API 角色,并将以下 4 项权限分配给已关联的 app integration:
- Send Device Information Command
- View MDM command information in Jamf Pro API
- Read Mobile Devices
- Send MDM command information in Jamf Pro API
这些权限允许 device checker 在正常运行期间使用 OAuth 身份验证来获取设备详情并发送 MDM 命令。终端用户永远不会看到或使用这些凭据。
5 分钟设置
第 1 步:购买应用并将其添加到 Jamf Pro
- 在 AxM 中购买 "Jamf Device Checker" 并将其分配到 Jamf Pro 实例
- 在 Jamf Pro 中导航到 Mobile Device Apps
- 从 Apps Purchased in Volume 添加 "Jamf Device Checker"
第 2 步:运行 Setup Wizard
- 在你的管理员设备上安装应用
- 启动应用,并长按圆形状态图像以启用 Wizard 模式
- 使用本地用户进行身份验证(需要 8 项向导权限——参见上文的所需 API 权限)
- 按照向导操作以:
- 配置具有所需权限的 API 角色
- 创建 API integration
- 将原生应用关联到 API integration 以进行身份验证
- 生成 managed app config 并保存到 JPS
没有第 3 步——只需将范围设定到终端用户设备即可。
完整设置说明
第 1 步:将 Mobile Device App 添加到 Jamf Pro
- 在 AxM 中购买 "Jamf Device Checker" 并将其分配到 Jamf Pro 实例
- 登录 Jamf Pro
- 导航到 Devices > Mobile Device Apps
- 点击 + New
- 在 Apps Purchased in Volume 中搜索 "Jamf Device Checker"
- 点击 Add 将应用记录添加到你的 Jamf Pro 实例
第 2 步:运行 Setup Wizard
向导会自动处理所有身份验证和 managed app configuration。
在管理员设备上安装应用
- 将应用分配到一台测试 iOS 设备
- 启动 Jamf Device Checker
启用 Wizard 模式
- 在 more 标签中,长按应用图标 3 秒
- 选择 Wizard Setup
- 使用在前提条件中创建的本地用户凭据进行身份验证(需要 8 项向导权限)
完成向导步骤
API Role
- 向导检查是否存在 "Jamf Device Checker" API 角色
- 如果未找到,则创建具有所需权限的角色:
- Send Device Information Command
- View MDM command information in Jamf Pro API
- Read Mobile Devices
- Send MDM command information in Jamf Pro API
- 将角色关联到 API integration
Native App Authentication
- 向导将 mobile device app 记录关联到 API integration
- 通过 Managed App Config 启用 OAuth 授权码的传递
Generate App Config
- 向导生成完整的 Managed App Config
- 发送到 Jamf Pro
第 3 步:设定范围到设备
- 在同一应用记录中,点击 Scope
- 添加目标设备群组、smart group 或单个设备
- 点击 Save
配置参考
应用完全通过 Jamf Pro 的 Managed App Config 进行配置。以下是所有可用键的完整参考。
必需键
这些键由 Jamf Pro 自动填充——请勿修改或移除它们。
| Key | 描述 |
|---|---|
JPS_URL |
Jamf Pro 服务器 URL(自动填充:$JPS_URL) |
JSSID |
设备 JSS ID(自动填充:$JSSID) |
MANAGEMENTID |
设备 Management ID(自动填充:$MANAGEMENTID) |
OAUTH_AUTH_CODE |
OAuth 授权码(自动填充:$OAUTH_AUTH_CODE) |
APP_CONFIG_REINSTALL_CODE |
重装触发码(自动填充:$APP_CONFIG_REINSTALL_CODE) |
APPJSSID |
Jamf Device Checker 应用记录 ID(自动填充:$APPJSSID) |
品牌形象与 Alerts URL
| Key | 类型 | 默认值 | 描述 |
|---|---|---|---|
device-checker-branding-image-url |
String | (空) | 公司徽标图像的 URL(PNG/JPG)。留空则不显示品牌形象。 |
device-checker-branding-image-height |
Integer | 80 |
徽标高度(以磅为单位)。 |
device-checker-alerts-url |
String | (空) | 用于 alerts/状态页面的可选 URL。会在 Alerts 标签中显示链接。 |
示例:
<key>device-checker-branding-image-url</key>
<string>https://yourcompany.com/logo.png</string>
<key>device-checker-branding-image-height</key>
<string>60</string>
分享按钮
控制 More 标签中状态分享和日志导出功能的可见性。
| Key | 类型 | 默认值 | 描述 |
|---|---|---|---|
device-checker-send-status-enabled |
String | YES |
显示 "Send Status" 按钮(通过电子邮件/消息分享设备就绪摘要) |
device-checker-send-logs-enabled |
String | YES |
显示 "Send Logs" 按钮(导出应用日志以进行故障排除) |
示例:
<key>device-checker-send-status-enabled</key>
<string>YES</string>
<key>device-checker-send-logs-enabled</key>
<string>NO</string>
UI 行为
控制 Status 标签的滚动行为。
| Key | 类型 | 默认值 | 描述 |
|---|---|---|---|
device-checker-status-tab-scrollable |
String | NO |
当为 YES 时,使整个 Status 标签可滚动(标题 + 整体状态 + 图块)。当为 NO(默认)时,标题和整体状态保持固定,仅下方的图块滚动。 |
示例:
<key>device-checker-status-tab-scrollable</key>
<string>NO</string>
何时启用: 默认值 (NO) 最适合大多数部署——在浏览图块时,标题和整体就绪状态保持可见。当你需要整个视图一起滚动,或需要在较小设备上容纳较长的品牌标题时,将其设为 YES。
操作系统就绪
通过可配置的最低版本和截止期限来监控 OS 版本要求。
| Key | 类型 | 默认值 | 描述 |
|---|---|---|---|
device-checker-os-enabled |
String | YES |
启用 OS 版本监控图块 |
device-checker-os-min-version |
String | (无) | 所需的最低 OS 版本(例如 26.2) |
device-checker-os-deadline |
String | (无) | 要求的截止期限,格式为 YYYY-MM-DD |
示例:
<key>device-checker-os-enabled</key>
<string>YES</string>
<key>device-checker-os-min-version</key>
<string>26.2</string>
<key>device-checker-os-deadline</key>
<string>2026-06-30</string>
状态逻辑:
✅ 绿色 (Ready) — 当前 OS 版本满足最低要求
⚠️ 黄色 (Warning) — 当前 OS 版本低于最低要求,但截止期限尚未过(或未配置截止期限)
🔴 红色 (Not Ready) — 当前 OS 版本低于最低要求,且截止期限已过
应用就绪
监控必需的受管理应用的安装状态和版本要求。
| Key | 类型 | 默认值 | 描述 |
|---|---|---|---|
device-checker-apps-enabled |
String | NO |
启用应用监控图块 |
device-checker-apps-list |
String | (空) | 以竖线分隔的应用列表(见下方格式) |
应用列表格式:
AppName,bundleID,minVersion,deadline|AppName2,bundleID2,minVersion2,deadline2|...
示例:
<key>device-checker-apps-enabled</key>
<string>YES</string>
<key>device-checker-apps-list</key>
<string>Slack,com.tinyspeck.chatlyio,24.0.0,2026-03-01|Microsoft Teams,com.microsoft.skype.teams,5.0.0,2026-06-01</string>
状态逻辑:
✅ 绿色 (Ready) — 所有应用均已安装且满足最低版本
⚠️ 黄色 (Warning) — 有一个或多个应用需要更新,但截止期限尚未过
🔴 红色 (Not Ready) — 有一个或多个应用需要更新,且截止期限已过
⏳ Pending — 应用安装进行中(参见下方的 Self Service 集成)
Self Service 集成:
当应用缺失或过时时,用户可以点按 Apps 图块上的 "Update Apps" 按钮以自动安装或更新必需的应用。工作流如下:
- 用户点按 Apps 图块上的 "Update Apps" 按钮
- Jamf Self Service 应用自动打开,并将缺失/过时的应用加入队列
- Device Checker 进入 "Pending" 状态并启动 2 分钟的自动刷新计时器
- 应用每 2 分钟自动刷新一次,以检查安装是否完成
- 一旦所有应用均满足要求,状态即恢复为绿色
要求: 设备上必须安装 Jamf Self Service,应用必须在 Self Service 中可用并已设定范围到该设备,且应用在 Jamf Pro 中必须勾选 "Display app in Self Service after it is installed"。
注意:
- Bundle ID 必须完全匹配(区分大小写)
- 版本比较使用语义化版本控制(例如
2.5.0>2.4.9) - 截止期限为可选(如无需要则留空:
AppName,bundleID,minVersion,)
电源(电池电量)
通过可配置的警告和严重阈值来监控电池充电电量。
| Key | 类型 | 默认值 | 描述 |
|---|---|---|---|
device-checker-power-source-enabled |
String | YES |
启用电池电量监控图块 |
device-checker-power-source-warning |
Integer | 25 |
警告阈值(百分比) |
device-checker-power-source-critical |
Integer | 10 |
严重阈值(百分比) |
示例:
<key>device-checker-power-source-enabled</key>
<string>YES</string>
<key>device-checker-power-source-warning</key>
<string>25</string>
<key>device-checker-power-source-critical</key>
<string>10</string>
状态逻辑:
🔴 红色 (Critical) — 电池 ≤ 严重阈值
⚠️ 黄色 (Warning) — 电池 ≤ 警告阈值(但 > 严重阈值)
✅ 绿色 (Ready) — 电池 > 警告阈值
⚡ Charging — 设备已接通电源(充电时始终为绿色)
存储容量
通过可配置的警告和严重阈值(基于已使用百分比)来监控可用存储。
| Key | 类型 | 默认值 | 描述 |
|---|---|---|---|
device-checker-storage-enabled |
String | YES |
启用存储监控图块 |
device-checker-storage-warning |
Integer | 75 |
警告阈值(已使用 %) |
device-checker-storage-critical |
Integer | 90 |
严重阈值(已使用 %) |
示例:
<key>device-checker-storage-enabled</key>
<string>YES</string>
<key>device-checker-storage-warning</key>
<string>75</string>
<key>device-checker-storage-critical</key>
<string>90</string>
状态逻辑:
🔴 红色 (Critical) — 已使用存储 ≥ 严重阈值
⚠️ 黄色 (Warning) — 已使用存储 ≥ 警告阈值(但 < 严重阈值)
✅ 绿色 (Ready) — 已使用存储 < 警告阈值
电池健康度
监控电池健康状态,以识别可能需要更换电池的设备。此图块显示电池健康状态和当前充电百分比。
| Key | 类型 | 默认值 | 描述 |
|---|---|---|---|
device-checker-battery-enabled |
String | YES |
启用电池健康度监控图块 |
示例:
<key>device-checker-battery-enabled</key>
<string>YES</string>
状态逻辑:
✅ 绿色 (Ready) — 电池健康度为 "Normal" 或 "Unsupported"
🔴 红色 (Not Ready) — 电池健康度为 "Service-Recommended" 或 "Non-Genuine"
⚪ 灰色 (Unknown) — 电池健康度为 "Unknown" 或无法获取电池数据
健康状态值:
- Normal — 电池运行正常(绿色)
- Service-Recommended — 电池容量已衰减,建议更换(红色)
- Non-Genuine — 检测到非 Apple 电池,建议更换(红色)
- Unsupported — 此设备型号不支持电池健康度监控(绿色,仅显示充电 %)
- Unknown — iOS 尚未提供健康数据(灰色,仅显示充电 %)
图块显示: 状态颜色和图标基于电池健康度。副标题在存在电池健康问题时显示该问题,否则显示当前充电百分比。详情视图显示充电电量、充电状态、Low Power Mode、电池健康状态以及建议。
注意:
- 电池健康数据来自 Declarative Device Management (DDM)
- 新设备在 iOS 计算出健康指标之前可能显示 "Unknown"(通常在几次充电循环后)
- 副标题或详情视图始终显示充电百分比
- 此图块侧重于电池健康度;使用电源图块可通过阈值监控充电电量
热状态
使用本地 iOS API 实时监控设备温度(无需 MDM 调用)。
| Key | 类型 | 默认值 | 描述 |
|---|---|---|---|
device-checker-thermal-enabled |
String | YES |
启用热状态监控图块 |
示例:
<key>device-checker-thermal-enabled</key>
<string>YES</string>
状态逻辑:
✅ 绿色 (Nominal) — 正常运行温度,所有功能正常运行
⚠️ 黄色 (Fair) — 温度略微升高,系统会推迟预取/索引等后台工作
🔴 红色 (Serious) — 温度过高,CPU/GPU 降频已激活,帧率可能降至 30 FPS
🔴 红色 (Critical) — 设备温度过高,出现明显降频,摄像头/闪光灯/扬声器可能被禁用,存在关机风险
使用场景: 处于炎热环境中的现场设备(车辆、户外作业)、运行密集型应用(视频录制、AR)的用户、在热关机之前主动发出警告,以及了解性能降频情况。
注意: 通过 iOS ProcessInfo API 进行实时监控。无 API 调用或电池消耗。热状态变化时即时更新。
性能(内存与 CPU)
使用本地 iOS API 并结合可配置阈值来监控设备内存压力和 CPU 使用率。
| Key | 类型 | 默认值 | 描述 |
|---|---|---|---|
device-checker-performance-enabled |
String | YES |
启用性能监控图块 |
device-checker-memory-warning |
Integer | 70 |
内存警告阈值(已使用 %) |
device-checker-memory-critical |
Integer | 85 |
内存严重阈值(已使用 %) |
device-checker-cpu-warning |
Integer | 60 |
CPU 警告阈值(使用率 %) |
device-checker-cpu-critical |
Integer | 80 |
CPU 严重阈值(使用率 %) |
示例:
<key>device-checker-performance-enabled</key>
<string>YES</string>
<key>device-checker-memory-warning</key>
<string>70</string>
<key>device-checker-memory-critical</key>
<string>85</string>
<key>device-checker-cpu-warning</key>
<string>60</string>
<key>device-checker-cpu-critical</key>
<string>80</string>
状态逻辑:
🔴 红色 (Critical) — 内存或 CPU ≥ 严重阈值
⚠️ 黄色 (Warning) — 内存或 CPU ≥ 警告阈值(但 < 严重阈值)
✅ 绿色 (Ready) — 内存和 CPU 均 < 警告阈值
注意: 图块可见时每 5 秒更新一次。应用处于后台时监控暂停(以节省电池)。无需远程 API 调用——完全通过本地监控,内存使用 os_proc_available_memory(),CPU 使用 host_statistics()。
网络状态
监控 WiFi、以太网和蜂窝网络的连接状态。
| Key | 类型 | 默认值 | 描述 |
|---|---|---|---|
device-checker-wifi-enabled |
String | YES |
启用 WiFi/以太网监控图块(连接时自动检测以太网) |
device-checker-cellular-enabled |
String | NO |
启用蜂窝网络监控图块 |
device-checker-network-speed-enabled |
String | NO |
在网络详情视图中启用网络测速按钮 |
示例:
<key>device-checker-wifi-enabled</key>
<string>YES</string>
<key>device-checker-cellular-enabled</key>
<string>YES</string>
<key>device-checker-network-speed-enabled</key>
<string>YES</string>
网络测速详情:
测速是一项按需诊断工具(每次测试约 10–15 MB,持续约 15–20 秒),用于测量下载/上传速度和延迟。在蜂窝网络上每次测试前都会显示警告,以提示数据用量。结果仅供参考,不影响设备就绪状态。使用场景包括现场工作者验证连接、排查性能缓慢问题,以及验证带宽要求。
互联网连接测试(WiFi、以太网和蜂窝网络)
轻量级测试,用于验证实际的互联网可达性,而非仅仅是接口连接。
| Key | 类型 | 默认值 | 描述 |
|---|---|---|---|
device-checker-internet-connectivity-test-enabled |
String | NO |
为所有接口启用互联网连接测试 |
device-checker-internet-connectivity-test-endpoint |
String | http://captive.apple.com/hotspot-detect.html |
测试终端 URL(Apple captive portal 默认值) |
device-checker-internet-connectivity-test-timeout |
String | 3 |
请求超时(以秒计,范围 1–10) |
device-checker-internet-connectivity-test-cache-ttl |
String | 30 |
缓存结果有效期(以秒计,范围 10–300;蜂窝网络使用最低 60s) |
示例:
<key>device-checker-internet-connectivity-test-enabled</key>
<string>YES</string>
<key>device-checker-internet-connectivity-test-timeout</key>
<string>5</string>
<key>device-checker-internet-connectivity-test-cache-ttl</key>
<string>60</string>
工作原理: 向 Apple 的 captive portal 终端发送一个轻量级 HEAD 请求(约 200–500 字节)。测试会在接口连接时或打开网络详情视图时自动运行(如果缓存已过期)。结果在 WiFi/以太网上缓存 30 秒,在蜂窝网络上至少缓存 60 秒,以尽量减少数据用量。如果已连接但未检测到互联网,网络图块会显示黄色/警告状态。
各接口的状态行为:
WiFi — 绿色:已连接且已验证互联网。黄色:已连接但无互联网(captive portal、路由问题)。红色:未连接。
以太网 — 绿色:已连接且已验证互联网。黄色:已连接但无互联网(路由/防火墙问题)。红色:未连接。
蜂窝网络 — 绿色:已启用且已验证互联网。黄色:已启用但无互联网(运营商问题、账户问题)。红色:不可用或已禁用。
数据用量: 每次测试约 200–500 字节(相比测速约 10–15 MB)。WiFi/以太网采用 30 秒缓存:典型用量每天不到 100 KB。蜂窝网络采用 60 秒缓存:典型用量每天不到 50 KB。
未启用互联网连接测试时的状态逻辑:
WiFi: ✅ 绿色 (Connected) — 已连接到 WiFi。🔴 红色 (Not Connected) — 未连接到 WiFi。
蜂窝网络: ✅ 绿色 (Ready) — 蜂窝数据可用。⚠️ 黄色 (Warning) — 蜂窝访问受限。🔴 红色 (Error) — 蜂窝网络不可用。
Jamf Setup Extension Attribute
显示来自 Jamf Pro extension attribute 的启用/停用(on-duty/off-duty)状态。
| Key | 类型 | 默认值 | 描述 |
|---|---|---|---|
device-checker-jamf-setup-ea-enabled |
String | NO |
启用 Jamf Setup EA 图块 |
device-checker-jamf-setup-ea-name |
String | (空) | Jamf Pro 中 extension attribute 的名称 |
device-checker-jamf-setup-ea-on-duty-value |
String | (空) | 表示 "on-duty" 的值 |
device-checker-jamf-setup-ea-off-duty-value |
String | (空) | 表示 "off-duty" 的值 |
示例:
<key>device-checker-jamf-setup-ea-enabled</key>
<string>YES</string>
<key>device-checker-jamf-setup-ea-name</key>
<string>Jamf Setup</string>
<key>device-checker-jamf-setup-ea-on-duty-value</key>
<string>On-duty</string>
<key>device-checker-jamf-setup-ea-off-duty-value</key>
<string>Off-duty</string>
状态逻辑:
✅ 绿色 (Ready) — EA 值与 on-duty 值匹配
⚠️ 黄色 (Warning) — EA 值与 off-duty 值匹配
⚪ 灰色 (Unknown) — 未找到 EA,或其值与任一已配置的值都不匹配
注意: 需要 Jamf Pro 中的自定义 extension attribute。该 extension attribute 必须由 Jamf Setup 或其他方法填充。
自动刷新节流
控制应用从后台返回时自动刷新的频率。
| Key | 类型 | 默认值 | 描述 |
|---|---|---|---|
device-checker-auto-refresh-threshold |
Integer | 300 |
两次自动刷新之间的最短秒数(范围:60–3600,或设为 0 以禁用) |
示例:
<key>device-checker-auto-refresh-threshold</key>
<string>300</string>
行为:
- 默认(300 秒 / 5 分钟): 如果用户切换应用并在 5 分钟内返回,则不会发生自动刷新
- 自定义阈值: 设为所需的秒数(60–3600)
- 禁用节流: 设为
0,则应用每次变为活动状态时都会刷新
始终刷新(绕过节流): 应用启动后的首次激活、处于 pending 状态时(每 2 分钟自动刷新)、手动点按刷新按钮,以及 pending 状态期间计时器到期。
Pending 状态行为: 当 Apps 图块进入 "Pending" 状态时(在用户点按 "Update Apps" 之后),应用会每 2 分钟自动检查一次设备状态,直到所有必需应用都安装完成,无论自动刷新阈值设置如何。
配置示例
最小配置(默认设置)
非常适合快速测试或基础部署。
<dict>
<!-- Required keys (auto-populated) -->
<key>JPS_URL</key>
<string>$JPS_URL</string>
<key>JSSID</key>
<string>$JSSID</string>
<key>MANAGEMENTID</key>
<string>$MANAGEMENTID</string>
<key>OAUTH_AUTH_CODE</key>
<string>$OAUTH_AUTH_CODE</string>
<key>APP_CONFIG_REINSTALL_CODE</key>
<string>$APP_CONFIG_REINSTALL_CODE</string>
<key>APPJSSID</key>
<string>$APPJSSID</string>
<!-- Enable OS monitoring only -->
<key>device-checker-os-enabled</key>
<string>YES</string>
<key>device-checker-os-min-version</key>
<string>18.0</string>
</dict>
完整配置
包含品牌形象、多项设备状态检查和自定义阈值的全面设置。
<dict>
<!-- Required keys (auto-populated) -->
<key>JPS_URL</key>
<string>$JPS_URL</string>
<key>JSSID</key>
<string>$JSSID</string>
<key>MANAGEMENTID</key>
<string>$MANAGEMENTID</string>
<key>OAUTH_AUTH_CODE</key>
<string>$OAUTH_AUTH_CODE</string>
<key>APP_CONFIG_REINSTALL_CODE</key>
<string>$APP_CONFIG_REINSTALL_CODE</string>
<key>APPJSSID</key>
<string>$APPJSSID</string>
<!-- Branding -->
<key>device-checker-branding-image-url</key>
<string>https://yourcompany.com/logo.png</string>
<key>device-checker-branding-image-height</key>
<string>60</string>
<!-- OS Readiness -->
<key>device-checker-os-enabled</key>
<string>YES</string>
<key>device-checker-os-min-version</key>
<string>18.0</string>
<key>device-checker-os-deadline</key>
<string>2026-12-31</string>
<!-- App Readiness -->
<key>device-checker-apps-enabled</key>
<string>YES</string>
<key>device-checker-apps-list</key>
<string>Slack,com.tinyspeck.chatlyio,24.0.0,2026-06-01|Microsoft Teams,com.microsoft.skype.teams,5.0.0,2026-09-01</string>
<!-- Device Health Tiles -->
<key>device-checker-power-source-enabled</key>
<string>YES</string>
<key>device-checker-power-source-warning</key>
<string>30</string>
<key>device-checker-power-source-critical</key>
<string>15</string>
<key>device-checker-storage-enabled</key>
<string>YES</string>
<key>device-checker-storage-warning</key>
<string>70</string>
<key>device-checker-storage-critical</key>
<string>85</string>
<key>device-checker-battery-enabled</key>
<string>YES</string>
<key>device-checker-thermal-enabled</key>
<string>YES</string>
<key>device-checker-performance-enabled</key>
<string>YES</string>
<key>device-checker-memory-warning</key>
<string>75</string>
<key>device-checker-memory-critical</key>
<string>90</string>
<key>device-checker-cpu-warning</key>
<string>70</string>
<key>device-checker-cpu-critical</key>
<string>85</string>
<key>device-checker-wifi-enabled</key>
<string>YES</string>
<key>device-checker-cellular-enabled</key>
<string>NO</string>
<!-- Network Speed Test (optional - disabled by default) -->
<key>device-checker-network-speed-enabled</key>
<string>NO</string>
<!-- Internet Connectivity Test (optional - disabled by default) -->
<key>device-checker-internet-connectivity-test-enabled</key>
<string>NO</string>
<key>device-checker-internet-connectivity-test-endpoint</key>
<string>http://captive.apple.com/hotspot-detect.html</string>
<key>device-checker-internet-connectivity-test-timeout</key>
<string>3</string>
<key>device-checker-internet-connectivity-test-cache-ttl</key>
<string>30</string>
<!-- Jamf Setup EA -->
<key>device-checker-jamf-setup-ea-enabled</key>
<string>YES</string>
<key>device-checker-jamf-setup-ea-name</key>
<string>Device Status</string>
<key>device-checker-jamf-setup-ea-on-duty-value</key>
<string>Active</string>
<key>device-checker-jamf-setup-ea-off-duty-value</key>
<string>Spare Pool</string>
<!-- UI Options -->
<key>device-checker-alerts-url</key>
<string>https://status.yourcompany.com</string>
<key>device-checker-send-status-enabled</key>
<string>YES</string>
<key>device-checker-send-logs-enabled</key>
<string>NO</string>
<key>device-checker-status-tab-scrollable</key>
<string>NO</string>
<!-- Auto-Refresh (10 minutes) -->
<key>device-checker-auto-refresh-threshold</key>
<string>600</string>
</dict>