MDM 派送App 到 iOS device 的流程是,先在 iOS 裡 Export Enterprise 的App. 在 MDM 裡讓 user 去下載。
MDM 安裝 App 的流程:
- ‘MessageType’ == ‘Authenticate’
- ‘MessageType’ == ‘TokenUpdate’
- 派送 ‘DeviceInformation’ command 給 iOS device.
- 收到的 QueryResponses 可以拿到 device information.
EX: "Status": "Acknowledged", "QueryResponses": {...}
- 派送 ‘InstallApplication’ command 給 iOS device.
EX: "RequestType": "InstallApplication", "ManagementFlags": 1, "ManifestURL": "https://your-app-url"
- 收到的 QueryResponses 可以拿到 device information.
EX: "Status": "Acknowledged", "State": "Queued", "Identifier": "派送的 iOS app id"
- 這時候 iOS device 也會去下載 ManifestURL 裡的「基本資料」來詢問使用者是否要安裝。
上面是基本流程。使用者可能選「安裝」或「取消」。如果在此時對 iOS 去派送 ‘Settings’ command 寫入設定檔,使用者還沒按下對話框時,這時候再派送 ‘ManagedApplicationList’ command 會取得這樣子的結果:
"Status": "Prompting", "IsValidated": false, "HasFeedback": false, "HasConfiguration": true, "ManagementFlags": 1
說明:可以從 Status 欄位看到目前的狀態是 提示中/允許/拒絕。
如果使用者選擇安裝,會觸發 https://your-app-url, 請再從這一個 url 裡去執行 ‘Settings’ command 派送預設值。