【问题标题】:iOS MDM App Installation/Cancellation ResponseiOS MDM 应用程序安装/取消响应
【发布时间】:2018-08-08 04:31:29
【问题描述】:

我使用 iOS APNS 方法开发了一个 MDM 服务器,我正在将应用程序推送到移动设备。

我希望 MDM 服务器知道应用程序何时成功安装或用户何时取消应用程序安装警报。

我发出 InstallApplication 命令,我得到一个状态为 Queued 的确认,但我希望在安装状态时得到一个确认。 我尝试在 InstallApplication 命令之后发出 ManagedApplicationList 命令,以便我可以检查安装的应用程序现在是否受到管理,从而得出应用程序已成功安装的结论。但是我得到了状态为提示此命令的确认,因为此命令是在 InstallApplication 命令之后立即发出的。

根据Mobile Device Management Protocol Reference,有类似的状态 - UserRejected、UpdateRejected、ManagementRejected,但我从未收到这些回复,但这似乎是我所期待的回复。

1) 应用安装成功后如何获得确认?

2) 当用户取消应用安装提醒时,我如何收到通知?

3) 有没有一种方法可以在不向用户提示警报的情况下安装应用程序?

【问题讨论】:

    标签: ios installation apple-push-notifications mdm cancellation


    【解决方案1】:

    我在构建 TestMDM 时发现了这个问题。

    1) InstallApplication 命令得到确认,表明手机收到了命令。我通过使用 ManagedApplicationList 命令和 Identifiers 数组中应用程序的 BundleId 解决了这个问题。我每隔几秒执行一次此请求,它会返回我尝试安装的应用程序的状态。

    2) 如果用户选择不安装您的应用程序,您应该以 UserRejected 状态结束。

    3) 我相信静默安装应用程序的唯一方法是在受监督的设备上。

    【讨论】:

    • 我认为每隔几秒执行一次 ManagedApplicationList 不是一个好主意。如果管理的设备多,则必须发送大量推送通知。
    • 我的用例非常不同,所以这对我来说不是问题。恐怕我没有任何其他建议。它们的实现非常有意义,因为用户可能需要一段时间才能确认安装。
    • 用户确认请求后,设备可能可以与服务器通信。苹果本可以做这样的事情。
    • 他们不会做任何不请自来的事情,因此 iOS 设备只会响应请求。如果它是异步的,则 MDM 在某些情况下实现起来会更加复杂。
    • 托马斯有正确的答案。 Apple 实施的当前 MDM 协议在很大程度上依赖于服务器进行自己的轮询(用于应用程序安装和软件更新)并确定他们想要轮询的频率留给服务器。 MDM 客户端将确保它最终将 UserRejected、UpdateRejected、ManagementRejected 的这些最终状态返回给您其中一项民意调查(之后该状态将消失,因为 Apple 假设您在看到它后已经记录了它)。当前的 MDM 协议没有反馈渠道,因此受到多年前首次发布时的限制。
    猜你喜欢
    • 2011-09-28
    • 1970-01-01
    • 1970-01-01
    • 2015-03-14
    • 1970-01-01
    • 1970-01-01
    • 2017-04-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多