手机里至少有四类运动相关的传感器,而"摇一摇"跳转只用了其中一颗——加速度计。
iOS 27.2 新加的开关,本质上不是关掉传感器,而是让 App 再也读不到这颗传感器的数据。加速度计、陀螺仪这类运动传感器,过去不需要授权,App 启动就能静默读取。
一、iOS 27.2 新增“限制动作数据”,切断摇一摇广告跳转
苹果于 10 月 28 日凌晨推送 iOS 27.2 系统更新,新增“限制动作数据”功能:用户可以把指定 App 加入名单,禁止它读取陀螺仪与加速度计数据。针对的正是国内 App 开屏广告里常见的“摇一摇”跳转。
入口不深:设置 → 隐私与安全 → 运动与健身 → 滑到底部点“限制动作数据” → 右上角“编辑” → 勾选 App。
但据媒体实测,效果相当直接:
- 没开这个功能时:抬手或轻微晃动,不到半秒就跳转到某电商 App;
- 加入名单后:广告画面还在,甚至还在写“摇动手机或点击了解更多”,但剧烈摇晃也不跳转,只能等 5 秒倒计时结束进入首页;
- 部分 App 读不到传感器数据后,自动回退成静态开屏广告;
- 也有例外:某网盘 App 在多次测试中仍有极小概率被触发,推测它的跳转逻辑里还混了别的触发条件。
一句话:它切断的是传感器数据,不是广告画面。
二、手机是怎么知道你在摇的?
1. “摇一摇”靠的是什么?
先说结论,这条新闻里被提到最多、也最容易被写错的,就是这两个东西:
| 器件 | 测什么 | 摇一摇里扮演什么角色 |
|---|---|---|
| 加速度计 | 线性加速度(包含重力) | 主角:抖动、冲击、方向变化全靠它 |
| 陀螺仪 | 角速度(转动快慢) | 配角:手机确实也在转,但摇一摇不靠它判定 |
很多报道把"陀螺仪/加速度计"混着写,甚至只写陀螺仪。严格说,"摇一摇"主要靠加速度计。原因在第三、四节。
2. “摇一摇”的判定原理
一颗 MEMS 加速度计内部大致是:质量块 + 弹性支撑梁 + 电容检测电极。有加速度时,质量块发生微小位移,差分电容变化被转换成电压,再经 ADC 变成数字量输出。
这里有一个很多人不知道的点:加速度计静止不动时,输出不是 0,而是 1g。
因为重力就是加速度。手机平放时,重力全落在 Z 轴上,于是 Z 轴读到约 1g——这正是"手机知道自己是横屏还是竖屏""知道倾斜角度"的原理。
"摇一摇"的判定,就是一个很朴素的算法:
- 取三轴加速度,算出模值
;
- 高通滤波,把恒定的 1g 重力分量去掉,只留"抖动";
- 在一个时间窗(常见 0.5~2 秒)内,统计模值超过阈值或方向反转的次数;
- 超过设定次数,就判定为"用户在摇手机",触发跳转。
那么阈值应该是多少?据媒体报道,行业协会出台的标准里建议:触发加速度不应小于 15 m/s²,转动角度需大于 35°。
换一下就清楚了:15 m/s² ÷ 9.8 ≈1.5g。所以下面这张示意图里,我把阈值线画在 1.5g——低于这条线,本来就不该触发。
看上图三个面板:静止时曲线贴在 1g 附近,一次都不越线;拿在手里走路,在 1g 上下起伏,峰值约 1.4g,同样够不到这条线;只有真正摇起来,才会在 2 秒内反复穿越阈值。
理论上门槛是清楚的。问题不在于传感器,而在这条线被谁调到了多少。前面提到的"某网盘 App 仍能触发"的例外也说明了同一件事:判定逻辑写在 App 里,不写在传感器里——所以换个 App,行为就可能完全不一样。
三、为什么不用陀螺仪?
并不是陀螺仪测不出来,而是不划算:
| 维度 | 加速度计 | 陀螺仪 |
|---|---|---|
| 对"抖动 / 冲击"的敏感度 | 直接测量,天然合适 | 测的是转动,抖动是间接量 |
| 功耗 | 可以做到很低,支持长期常开监听 | 通常明显更高 |
| 判定复杂度 | 一个阈值 + 计数 | 需要更多处理 |
| 常开可行性 | 可用硬件中断唤醒主控 | 常开代价大 |
最后一点最容易被忽略:摇一摇广告需要"页面一打开就在监听",也就是加速度计必须长时间低功耗运行,还要能在检测到动作时把主控唤醒。这正是加速度计擅长、陀螺仪不擅长的场景。
四、为什么广告商偏偏盯上了运动传感器?
这段历史值得单独讲,摇一摇广告的转折点出现在 2021 年:工信部针对 App 开屏弹窗开展专项整治,重点治理跳过按钮过小、全屏文字诱导点击等问题。可转化率的压力还在,广告厂商于是转向了另一条路——运动传感器。
原因其实很朴素:
| 传感器 | 读取代价 |
|---|---|
| 相机、麦克风 | 必须弹窗授权,用户看得见、也会拒绝 |
| 定位 | 同样需要授权 |
| 加速度计、陀螺仪 | 当时被视为"基础接口",App 启动即可静默读取 |
于是"晃动"被定义成了"用户互动意愿"。到 2021 年双 11,摇一摇跳转已经成为各大广告联盟的标配。
之后就是阈值不断下调的过程:标准建议 15 m/s²、35°,但部分 App 并没有遵守,地铁刹车、走路震动都可能触发跳转。从产品设计的角度看,这被视为"暗黑模式"的延伸——过去的诱导停留在视觉与认知层面,用户至少还保有选择权;而摇一摇把抬手、转身这类无意图的物理动作,直接翻译成了商业指令。
(以上行业脉络引自媒体报道;相关标准的具体名称与最新要求,请以官方文件为准。)
五、开关的本质:收回数据访问权,而不是关掉传感器
从工程角度说,这个开关最值得注意的一点是:它收回的是"数据访问权",不是"硬件开关"。
传感器还在工作——屏幕旋转、计步、跌倒检测这些系统功能都还要用它。变的只是:App 不再能拿到这份数据流,于是"检测到摇动 → 触发跳转"这条链路在源头断了。这也解释了为什么一个设置项就能"从系统层面"解决问题。
有一个细节能说明它的性质:这个功能与 Apple ID 的区域绑定。据媒体报道,它不区分手机硬件版本,国行与外版 iPhone 都能用,但需要登录中国大陆区 Apple ID 才会出现入口;把商店账号切到美区或港区,设置项就会消失。换句话说,它不是一项硬件限制,而是一个跟着账号区域走的软件策略。
这个开关的内在逻辑,用工程语言说是:iOS 用的是"App 级全局切断"。
一旦某个 App 被拉黑,它在任何场景下都读不到运动数据——地图类 App 的步行导航、体感运动计数、游戏里的陀螺仪辅助,都会一起受影响。所以无论官方说明还是媒体实测的建议都是同一句:按需把具体 App 加入名单,别全勾选。
对比一下安卓阵营:国产定制系统在 2023 年前后就做过类似拦截,但权限档位更细,比如"仅开屏时拒绝"——进入主界面后自动放开传感器权限,导航等功能不受影响。
两相对照就能看出这是个典型的工程取舍:安卓做的是"场景级"授权,iOS 做的是"App 级"授权。iOS 27.2 这一步的意义在于:两大操作系统在底层同时收紧了对运动传感器的授权。
顺带说一句更有意思的:运动传感器能泄露的远不止"你在摇手机"。姿态、步态、甚至通过设备振动做侧信道推断,都在研究范围里。所以这类权限开关,通常不是"隐私洁癖",背后是有真实攻击面的。
六、手机里的四类运动传感器
如果按"测什么"分的话,有四类:加速度计、陀螺仪、磁力计、气压计;而按"几颗芯片"数,则取决于厂商怎么合封。
| 类别 | 测什么 | 典型用途 |
|---|---|---|
| 加速度计 | 线性加速度(含重力) | 摇一摇、横竖屏、计步、倾角 |
| 陀螺仪 | 角速度 | 姿态解算、防抖、VR/AR 头部追踪 |
| 磁力计 | 磁场方向 | 电子罗盘、导航朝向 |
| 气压计 | 大气压 | 海拔变化、室内楼层判断 |
其中加速度计和陀螺仪经常被合封成一颗"六轴 IMU",所以你说"手机里有三颗"或"四颗"都能自圆其说。
单独靠加速度计能做到"知道倾斜",但算不出"绕重力轴转了多少度"——这就是陀螺仪存在的地方,也是姿态解算必须做融合的原因。
七、工程项目中的运动传感器选型
如果从消费电子跳到工程项目,选型看的就不只是"能不能测到"了:
| 参数 | 关注点 | 影响 |
|---|---|---|
| 量程 | ±2 / ±4 / ±8 / ±16g; 陀螺仪常用 ±125~±2000dps | 量程越大,同样分辨率下灵敏度越低 |
| 噪声密度 | µg/√Hz 级别 | 决定"最小能分辨多小的变化" |
| 零偏稳定性 | 开机零偏随时间漂移多少 | 决定长期测量会不会"越走越偏",倾角应用尤其关键 |
| 输出数据率 / 带宽 | ODR、低通滤波配置 | 振动监测要高带宽,计步/倾角只要低速率 |
| 功耗 | 低功耗模式电流、是否支持运动唤醒中断 | 直接决定电池能用多久 |
| 接口 | I2C / SPI、是否有中断引脚、FIFO | 决定主控负担与能否做常开监听 |
按场景选就很清楚:手环计步看功耗和中断能力;倾角测量看零偏稳定性和噪声;工业振动监测看带宽和量程;跌倒检测看低功耗 + 硬件中断。
供应商格局上,手机与手环里的六轴 IMU 基本被几家消费级 MEMS 大厂覆盖(Bosch、TDK / InvenSense、ST 等);工业与车规场景另有对应系列,温度范围、认证和长期供货要求都不一样,选型时不能只看参数表上的数字。
三个坑
- 把加速度计和陀螺仪混为一谈。这次新闻里就有。两者测的物理量完全不同,一个测"平移",一个测"转动"。
- 只看量程,不看噪声密度和零偏稳定性。量程是最容易抄的参数,但它几乎不决定测量质量——决定精度的是后两个。
- 忽略中断与唤醒能力。想把传感器做成"常开监听",必须靠硬件中断把主控唤醒;只靠轮询读数据,功耗一定做不下来。
八、小结
- "摇一摇"跳转靠的是加速度计,判定逻辑就是"阈值 + 时间窗内计数";
- 静止时加速度计读到的是1g 重力,不是 0——这也是倾角测量成立的原因;
- 苹果这个开关收回的是数据访问权,传感器还在工作,只是 App 读不到了;
- 手机里运动相关的传感器按功能分有四类,常被合封成六轴 IMU;
- 权限颗粒度是道工程题:iOS 是 App 级全局切断(彻底,但会影响导航、体感等功能),安卓是场景级("仅开屏时拒绝",更精细)——所以按需勾选。
之后我会在专栏📚传感器进阶笔记:从原理到选型里把运动传感器相关知识补全:加速度计、陀螺仪、IMU 的型号怎么选、姿态解算到底在算什么。感兴趣的小伙伴可以关注一下~
⚠️ 本文技术内容基于公开资料与通用原理;新闻事实与实测现象引自媒体报道,不同机型、系统版本与 App 的表现可能存在差异,功能名称与系统行为最终以苹果官方说明与设备实际菜单为准。文中观点为个人理解。