JSAnalysis
本文只做介绍,项目源码在github,链接如下
项目简介
JSAnalysis 是一款苹果设备信息静默获取的工具。它可以在用户无感知的情况下获取到尽可能多的设备信息,方便开发者对用户提供更好的体验。本工具仅限于技术学习交流使用.
设计要点
- 使用AES256加入签名、敏感信息加密. 防篡改、防劫持.
- 在没有权限获取对应信息时统一设置value为@“NONE”、防止因App、系统的更新带来的crash,对用户灵感知.
- 加入缓存机制、子线程异步获取, 避免影响主线程业务
获取信息详情
iOS设备信息获取SDK可获取信息列表 | |||||||
---|---|---|---|---|---|---|---|
特别说明:以下部分Key值是有可能为空的,本SDK的所有空值均以NONE字符串来标识 | |||||||
(一)appInfo-应用信息 | |||||||
序号 | 应用信息名称 | 参数名称 | 示例 | 可行性 | 可行性描述 | 特别说明 | |
1 | 应用名称 | appName | 海豚队长 | Y | |||
2 | 应用唯一标识 | appBundle | 友信普惠或 YOUXIN | Y | |||
3 | 应用版本 | appVersion | 2.0.1 | Y | clientVersion | ||
4 | 行为数据采集SDK版本 | sdkVersion | 1.0.1 | Y | |||
5 | App启动时间 | launchTime | 4.32 | Y | |||
6 | 本应用用户id | userId | 1002231 | Y | 需要sdk接入的开发人员初始化@property (nonatomic, copy) GetUserIdBlock userIdBlock; | ||
(二)clientInfo-客户端信息 | |||||||
序号 | 基础信息名称 | 参数名称 | 备注 | 示例 | 可行性 | 可行性描述 | 特别说明 |
7 | 设备名称 | deviceName | 获取设备驱动名称 | hwG750-T01 | Y/N | 我理解是设备的昵称,就是给我自己手机设置的别名 | |
8 | 设备型号 | deviceModel | 手机的型号 | HUAWEI G750-T01 | Y | deviceModel:iPhone X | |
9 | 设备品牌 | brand | 设备品牌 | Huawei | Y | ||
10 | 系统名称 | osName | 系统名称 | Android | Y | platform:iOS | |
11 | 系统版本 | osVersion | 获取系统版本字符串 | 4.4.4 | Y | deviceOs:iOS12.1 | |
12 | 系统sdk版本 | osSDK | 系统sdk版本比如iOS11.2 | iOS11.2 | Y | ||
13 | 制造商 | manufacturer | 设备制造商 | HUAWEI | Y | ||
14 | 系统默认语言 | initialLanguage | 系统默认语言 | zh | Y | 默认语言可以修改,获取结果同15 | |
15 | 配置时区 | timeZone | 配置时区 | 北京 | Y | ||
16 | 剩余电量 | dumpEnergy | 剩余电量 |