Telegram 小程序运动追踪原理:加速度计控制、3D 陀螺仪与沉浸式 VR/AR
本文讲解 Telegram 小程序如何读取手机的方向与加速度,用于倾斜操控、转动视角等玩法。说明这项权限为何几乎不涉及个人隐私、为何只在应用打开时运行、为何电脑上无效,以及何时值得授权、何时应当拒绝。
本文讲解 Telegram 小程序如何读取手机的方向与加速度,用于倾斜操控、转动视角等玩法。说明这项权限为何几乎不涉及个人隐私、为何只在应用打开时运行、为何电脑上无效,以及何时值得授权、何时应当拒绝。

小程序可以请求读取手机的持握方式和移动情况——向前倾斜、向两侧翻滚、旋转、摇晃。授权之后,你就可以靠倾斜来操控游戏,或者转动手持设备来环视一张照片。
它也是这份清单上唯一几乎不会透露你任何信息的权限,因此它值得被理解,而不是条件反射地拒绝。
你将能够做到
- 说清运动权限实际上交出了什么。
- 判断哪些应用有理由请求它。
- 明白为什么它在电脑上毫无作用。
- 评估它在电量和发热上的代价。
画面跟随的是手持设备,而不是手指——手机本身成了控制器。
这项权限并不描述你
应用能请求的大多数东西,都是关于你生活的事实。位置说明你站在哪里。联系人说明你认识谁。照片说明你的房间长什么样。而运动只说明一块玻璃此刻朝向哪个方向,这属于完全不同的类别:它没有任何一种形式能识别你、找到你,也无法在被记录下来后留存下来。
这一点很重要,因为“一律拒绝”这个明智习惯在这里是有代价的。这项权限所服务的应用——靠倾斜操控的赛车游戏、靠转动环视的房间、滚过迷宫的球——没有它根本无法运行,让它们失败没有任何好处。
不过它也并非完全无关。持续、快速的运动数据流,仍然是一个人如何移动的记录,而一个屏幕上什么都没在动的小程序,没有理由想要这样的数据。有用的问题不是数据是否敏感,而是应用与它有没有关系。
应用实际读取的是什么?
两样东西,都是关于手持设备而非关于你。方向是它朝向哪边——向前或向后倾斜、向左或向右翻滚、像指南针指针一样旋转。加速度是它如何被移动:轻弹、摇晃、挥动。两者合起来描述的只是空间中的一块硬件,别无其他。
为什么我的 iPhone 会询问,而我朋友的 Android 没有?
因为两个系统对于网页能在多大程度上自由读取运动数据意见不一,而小程序就是一个网页。在 iPhone 上,网页必须先请求才能监听,所以第一次启动运动驱动的应用时,你会看到明确的提示。这是操作系统的规则,而不是 Telegram 的选择,这也是为什么提示的措辞看起来不像应用的其他部分。
倾斜控制在电脑上毫无作用。
笔记本电脑没有陀螺仪可读。做得好的小程序会检查这一点并提供替代方案——用鼠标拖动、方向键、屏幕上的摇杆——因为这项检查很容易做。而一个干脆毫无反应的小程序,是为手机写的,从未在其他设备上测试过,在你往它的应用里花钱之前,这一点值得了解一下开发者。
它会耗电吗?
每秒多次采样传感器确实是实打实的工作,但相对于它周围正在发生的事情来说微不足道。如果一款运动游戏让你的手机发热,热量主要来自全亮度的屏幕和绘制动态画面,而不是陀螺仪。老实说,这类应用的耗电和任何游戏差不多,而且你一离开就不再消耗。
什么时候值得授权?
当运动就是控制方式时。转向、瞄准、环视全景、在真实世界上方保持画面稳定——在所有这些场景里,权限和应用的目的就是同一件事。当应用是商店、表单、钱包或仪表盘时,屏幕上没有任何东西需要你的手腕去动,在这种情况下请求运动权限,就是一个不值得回答的问题。
我之后能收回吗?
离开应用会立即结束数据流,这已经涵盖了人们问这个问题时的大部分意思。要一个更长期的答案:这项权限属于那个特定的小程序,而不是整个 Telegram,所以把该应用从你的附件菜单中移除、不再打开它,就能彻底关上门。你授予一个应用的任何权限都不会转移到另一个应用。
好的运动控制是什么感觉
新鲜玩意和你会一直玩下去的东西之间的区别,几乎完全在于需要多大的动作幅度。一款只要求轻轻倾斜的游戏,可以在沙发上、火车上、候诊室里玩。一款要求你挥动手机的游戏,几乎在哪儿都玩不了,因为人们很少独处,也很少愿意看起来像那样。
好游戏的第二个标志是它让你能重新校准中心。你舒服的持握角度并不是水平的,所以一个把水平当作中立的游戏,从第一秒起就会感觉不对,之后还会不断漂移。能够在你的手恰好所在的位置设定“这就是正前方”,就是一套控制方案和一场较劲之间的区别。
明智地使用它
- 问清楚应该有什么在动 如果屏幕上没有任何东西在动,就拒绝。
- 在 iPhone 上接受系统提示 是操作系统在询问,不是应用。
- 开始前重新校准中心 按你实际会用的方式持握手机。
- 预期桌面端有备用方案 没有备用方案说明该应用从未在那里测试过。
- 把发热当作游戏的一部分,而不是泄漏 屏幕的代价比传感器更大。
- 离开即可结束 数据流不会在应用关闭后继续存在。