# 遥测 MaaMeow 通过 [Sentry](https://sentry.io) 匿名上报崩溃与任务运行情况,用来发现哪些任务在哪一步经常失败。 对应设置项:**设置 → 三方服务 → 帮助改进本项目**,默认开启,关掉后不再初始化 Sentry,也不发任何请求。 ## 上报什么 | 类别 | 时机 | 内容 | |---|---|---| | 运行统计 | 每一轮运行 | 各任务链的名称、耗时、成功与否,以及下文所述的参数摘要 | | 任务失败 | 任务链出错 | 出错的子任务与卡住的识别节点;该任务期间的日志;后台模式下另带 MaaCore 在失败时存下的那张游戏截图:缩小后上传,同一轮里同一个失败只带一次,正式版只有约两成的失败会带 | | 启动失败 | 资源加载、实例创建、虚拟显示器、连接等环节出错 | 失败环节;这一轮的日志 | | 提权进程死亡 | 运行中 Shizuku / Root 进程意外退出 | 当时在跑的任务链;这一轮的日志与 MaaCore 的 `crash.log`;下次连上提权服务时补报系统日志(logcat)里死亡前一分钟到死亡后 15 秒、提到该进程(pid 或进程名)的行,同时段别的查杀记录只报条数,不带其他应用的名字 | | 定时启动失败 | 定时或外部触发的启动没走到任务开跑:校验没过、界面拉不起来、解不了锁、启动失败 | 失败结果与原因、比计划时间晚了多久、这一次的触发日志;提权方式为 Shizuku 时另带下文的 Shizuku 状态;启动失败时再带连接提权服务的诊断日志最近一段;解不了锁时另带选的解锁方式、PIN 填没填或手势录没录、系统是否设了锁屏密码、解锁失败的原因,触发日志里多一段唤醒前的亮屏与锁屏状态、手势的录制时间、解锁各步耗时,不含 PIN、PIN 位数、手势轨迹与步数 | | Shizuku 未运行 | 有启用的定时,而开机几分钟后或 Shizuku 停止一分钟后它仍未运行,App 发出提醒时 | 是开机后没起还是中途停了、启用的定时有几条、下文的 Shizuku 状态;不带日志 | | App 崩溃 | Java 未捕获异常 | 异常栈 | | App 无响应 | 主线程卡死被系统判定为 ANR | 各线程的调用栈 | | 活跃度 | App 前后台切换 | 会话起止,用于统计日活与崩溃率 | 「日志」指 MaaCore 日志(`asst.log`)、本轮的运行日志、App 错误日志,启动失败与进程死亡时再加连接提权服务的诊断日志。只取出事那段时间新写的部分,往前多带一小段上下文,合计不超过 1 MiB。 「Shizuku 状态」指本次 App 进程里有没有收到过 Shizuku 的连接、断开了多久、上次连接时它是 root 还是 adb 身份、装的是官方 Shizuku 还是 Sui,以及设备开机多久了。 每条数据都带: - 匿名设备 ID:`ANDROID_ID` 加盐后的 SHA-256,无法反推原值。导出日志的 `device_info.txt` 里有同一个值(`Telemetry ID`),反馈问题时带上它,便于在后台找到对应记录 - App 版本、MaaCore 版本、资源版本、构建类型 - 客户端类型、游戏版本、运行模式、后台分辨率、数据目录位置 - 提权方式、Shizuku 是以 root 还是 adb 身份运行、App 是否豁免电池优化 - 四个会改变运行行为的开关各自是开是关:MAA 任务覆盖、虚拟屏强制全屏、划火柴模式、熄屏挂机时关闭屏幕电源 - 开跑时屏幕是否已被熄屏挂机关闭,以及是手动还是定时策略关的 - 设备型号、系统版本、厂商 ROM 的类型与版本、SoC、内存总量、ABI - Sentry SDK 自带的设备与系统信息:电量、可用内存与存储、屏幕尺寸、语言与时区、联网类型、是否 Root 等 ## 不上报什么 - 没出事时不读日志、不取截图 - 前台模式不带截图:那时截到的是手机主屏,可能拍到别的应用 - 任务参数只报摘要:布尔与数值报原值,关卡、主题、客户端这类枚举值报原值,其余字符串(账号、汇报 ID、文件路径等)只报“填了 / 没填”,列表只报长度 - 日志离开设备前会打码:`account_name`、`penguin_id`、`yituliu_id` 的值,以及当前保存的企鹅物流 ID、一图流 Token、MirrorChyan CDK、各通知渠道的密钥,一律换成 `***` - 不采集界面层级、点击与页面跳转记录、网络请求记录、系统事件记录(亮灭屏、电量、联网变化) - 不上报 IP:SDK 侧关闭了默认 PII,Sentry 项目侧开启了不存储 IP 打码去不掉的三处,请知悉: - MaaCore 日志里有识别结果,可能包含游戏内的好友昵称 - 出错截图是虚拟显示器上当时的游戏画面,可能包含博士名与等级 - 定时启动失败带的触发日志里有你给这条定时任务和任务配置起的名字 介意的话请关闭「帮助改进本项目」。