应用程序可以知道用户从iOS 11开车何时在驾驶功能时不会打扰



在iOS 11中,通过通知您正在驾驶和通知被阻止通知来推送通知。我很好奇我们可以从iOS中提取这些信息并在我的应用中使用吗?P>

编辑:我已经有一种机制来检测驾驶模式,但我想知道我们是否可以访问该数据,并想知道该数据中还有什么(如果那样)可用)。因此,请不要发布导致驾驶模式检测算法的链接。

没有任何公共API管理不要打扰驾驶,如果您想知道用户活动,可以使用CMMotionActivity

var automotive: Bool
A Boolean indicating whether the device is in an automobile.

在支持运动的设备上,您可以使用cmmotionactivitymanager 当前运动类型发生变化时,请求更新。 发生更改时,将更新信息打包到 cmmotionActivity对象并发送到您的应用程序。

所有推送通知都由系统管理,如果阻止它们,您将无法访问其数据。也许,如果您需要一些通知才能在应用程序中执行某些操作,则可以使用无声推送通知:

配置无声通知

APS字典还可以包含内容可用的属性。 值1的内容可用属性使遥控器 通知作为无声通知。当无声通知 到达,iOS在后台唤醒您的应用程序,以便您可以获得 来自服务器或进行背景信息处理的新数据。 没有告诉用户有关结果的新信息或更改的信息 从沉默的通知中,但是他们可以在下一个发现 他们打开您的应用程序的时间。

要发出无声通知,请注意确保没有警报, APS字典中的声音或徽章有效载荷。如果您不关注 在本指南中,错误配置的通知可能是 在后台进行了限制并未传递到该应用程序,而是 保持沉默显示给用户

,但也许这种通知也被阻止:

在驾驶功能时不要打扰,它基本上会关闭 您的手机而没有实际关闭手机,因此没有任何通知 种类将能够通过。

执行此类操作的大多数应用都取决于加速度计的数据。现在,所有智能手机都在其中,包括iOS都有内置的加速度计传感器。

预测一个人开车的想法是从该传感器提供的数据中推断出用户移动的速度,并基于此操作执行操作。

所有SDK都提供可以使用此数据的功能。因此,它也将为您提供。

最新更新