pub struct AndroidDeviceInfo {Show 119 fields
pub sdkver: String,
pub app_id: String,
pub app_version: String,
pub app_version_code: String,
pub mid: String,
pub chid: String,
pub fts: i64,
pub buvid_local: String,
pub first: i32,
pub proc: String,
pub net: String,
pub band: String,
pub osver: String,
pub t: i64,
pub cpu_count: i32,
pub model: String,
pub brand: String,
pub screen: String,
pub cpu_model: String,
pub btmac: String,
pub boot: i64,
pub emu: String,
pub oid: String,
pub network: String,
pub mem: i64,
pub sensor: String,
pub cpu_freq: i64,
pub cpu_vendor: String,
pub sim: String,
pub brightness: i32,
pub props: HashMap<String, String>,
pub sys: HashMap<String, String>,
pub wifimac: String,
pub adid: String,
pub os: String,
pub imei: String,
pub cell: String,
pub imsi: String,
pub iccid: String,
pub camcnt: i32,
pub campx: String,
pub total_space: i64,
pub axposed: String,
pub maps: String,
pub files: String,
pub virtual: String,
pub virtualproc: String,
pub gadid: String,
pub glimit: String,
pub apps: String,
pub guid: String,
pub uid: String,
pub root: i32,
pub camzoom: String,
pub camlight: String,
pub oaid: String,
pub udid: String,
pub vaid: String,
pub aaid: String,
pub androidapp20: String,
pub androidappcnt: i32,
pub androidsysapp20: String,
pub battery: i32,
pub battery_state: String,
pub bssid: String,
pub build_id: String,
pub country_iso: String,
pub free_memory: i64,
pub fstorage: String,
pub kernel_version: String,
pub languages: String,
pub mac: String,
pub ssid: String,
pub systemvolume: i32,
pub wifimaclist: String,
pub memory: i64,
pub str_battery: String,
pub is_root: bool,
pub str_brightness: String,
pub str_app_id: String,
pub ip: String,
pub user_agent: String,
pub light_intensity: String,
pub device_angle: Vec<f32>,
pub gps_sensor: i64,
pub speed_sensor: i64,
pub linear_speed_sensor: i64,
pub gyroscope_sensor: i64,
pub biometric: i64,
pub biometrics: Vec<String>,
pub last_dump_ts: i64,
pub location: String,
pub country: String,
pub city: String,
pub data_activity_state: i32,
pub data_connect_state: i32,
pub data_network_type: i32,
pub voice_network_type: i32,
pub voice_service_state: i32,
pub usb_connected: i32,
pub adb_enabled: i32,
pub ui_version: String,
pub accessibility_service: Vec<String>,
pub sensors_info: Vec<SensorInfo>,
pub drmid: String,
pub battery_present: bool,
pub battery_technology: String,
pub battery_temperature: i32,
pub battery_voltage: i32,
pub battery_plugged: i32,
pub battery_health: i32,
pub cpu_abi_list: Vec<String>,
pub cpu_abi_libc: String,
pub cpu_abi_libc64: String,
pub cpu_processor: String,
pub cpu_model_name: String,
pub cpu_hardware: String,
pub cpu_features: String,
pub simulator_attr: String,
}Fields§
§sdkver: String?
app_id: String产品id 粉 白 蓝 直播姬 HD 海外 OTT 漫画 TV野版 小视频 网易漫画 网易漫画 网易漫画HD 国际版 东南亚版 1 2 3 4 5 6 7 8 9 10 11 12 13 14 30
app_version: String版本号, 如 “7.39.0”
app_version_code: String版本号, 如 “7390300”
mid: String用户 mid
chid: String渠道号, 如 “master”
fts: i64APP 首次安装启动时间戳
buvid_local: String此处实际为 fp, 但不知为何命名为 buvid_local
first: i32留空为 0
proc: String进程名, 如 “tv.danmaku.bili”
net: String网络信息, 为一数组直接 toString() 的结果 如 “”“[“dummy0,fe80::18d8:6ff:fe46:c2ba%dummy0,”, “wlan0,fe80::a0f4:6dff:fea8:2d37%wlan0,192.168.1.5,”, “lo,::1,127.0.0.1,”, “rmnet_ims00,fe80::5a02:3ff:fe04:512%rmnet_ims00,2409:815a:7c38:cee1:1773:d0b9:d163:b023,”]“”“
band: String手机无线电固件版本号(Build.getRadioVersion()). 如 21C20B686S000C000,21C20B686S000C000.
osver: StringOS 版本号, 如 “12”
t: i64当前毫秒时间戳
cpu_count: i32CPU 逻辑核心计数
model: String手机 Model, 如 “NOH-AN01”
brand: String手机品牌, 如 “HUAWEI”
screen: String屏幕信息, 如 “1288,2646,560”, 即 “{width},{height},{pixel}”
cpu_model: StringCPU 型号, 留空或根据实际情况确定
btmac: String蓝牙 MAC, 留空或根据实际情况确定
boot: i64Linux 内核 bootid
emu: String模拟器(?), 如 “000”
oid: String移动网络 MCC MNC, 如中国移动为 46007
network: String当前网络类型, 如 “WIFI”, 见 bilibili.metadata.network.NetworkType
mem: i64运行内存(Byte)
sensor: String传感器信息, 为一数组直接 toString() 的结果 如 “”“[“accelerometer-icm20690,invensense”, “akm-akm09918,akm”, “orientation,huawei”, “als-tcs3718,ams”, “proximity-tcs3718,ams”, “gyroscope-icm20690,invensense”, “gravity,huawei”, “linear Acceleration,huawei”, “rotation Vector,huawei”, “airpress-bmp280,bosch”, “HALL sensor,huawei”, “uncalibrated Magnetic Field,Asahi Kasei Microdevices”, “game Rotation Vector,huawei”, “uncalibrated Gyroscope,STMicroelectronics”, “significant Motion,huawei”, “step Detector,huawei”, “step counter,huawei”, “geomagnetic Rotation Vector,huawei”, “phonecall sensor,huawei”, “RPC sensor,huawei”, “agt,huawei”, “color sensor,huawei”, “uncalibrated Accelerometer,huawei”, “drop sensor,huawei”]“”“
cpu_freq: i64CPU 频率, 如 2045000
cpu_vendor: StringCPU 架构, 如 “ARM”
sim: String?
brightness: i32光照传感器数值
props: HashMap<String, String>Android Build.prop 信息, key 包括 net.hostname, ro.boot.hardware, etc. 具体 key-value 需要技术手段自行确定
sys: HashMap<String, String>系统信息, key 包括 product, cpu_model_name, display, cpu_abi_list, etc. 具体 key-value 需要技术手段自行确定
wifimac: StringWifi MAC, 一般无法获取, 留空
adid: StringAndroid ID
os: StringOS 名称, 如 “android”
imei: StringIMEI, 一般无法获取, 留空
cell: String?, 留空
imsi: StringIMSI, 一般无法获取, 留空
iccid: StringICCID, 一般无法获取, 留空
camcnt: i32摄像头数量, 留空
campx: String摄像头像素, 留空
total_space: i64手机内置存储空间(Byte)
axposed: String?, 例如 “false”
maps: String?, 留空
files: String如: “/data/user/0/tv.danmaku.bili/files”
virtual: String是否为虚拟化(?), 如 “0”
virtualproc: String虚拟进程, 如 “[]”
gadid: String?, 留空
glimit: String?, 留空
apps: String设备安装的 APP 列表, 如 “[]”
guid: String客户端 GUID
uid: String?, 区分于用户 UID
root: i32?, 留空
camzoom: String摄像头放大倍数(?), 留空
camlight: String摄像头闪光灯(?), 留空
oaid: StringOAID 匿名设备标识符, 参见 T/TAF 095-2021 安卓系统补充设备标识技术规范, 默认 “00000000-0000-0000-0000-000000000000”
udid: StringUDID 设备唯一标识符, 参见 T/TAF 095-2021 安卓系统补充设备标识技术规范, 可留空
vaid: StringVAID 开发者匿名设备标识符, 参见 T/TAF 095-2021 安卓系统补充设备标识技术规范, 可留空
aaid: StringAAID, 应用匿名设备标识符, 参见 T/TAF 095-2021 安卓系统补充设备标识技术规范, 可留空
androidapp20: String?, 设置为 “[]”
androidappcnt: i32?, 留空
androidsysapp20: String?, 设置为 “[]”
battery: i32当前剩余电量, 如 100
battery_state: StringAndroid 监听电量状态, 如 “BATTERY_STATUS_DISCHARGING”
bssid: StringWifi BSSID, 一般无法获取, 留空
build_id: String?, 如 “NOH-AN01 4.0.0.102(DEVC00E100R7P5)”
country_iso: StringISO 国家代码, 如 “CN”
free_memory: i64可用运行内存(Byte)
fstorage: String可用内置存储空间(Byte)
kernel_version: StringLinux kernel version
languages: String语言, 如 “zh”
mac: StringWifi 网卡 MAC(?), 留空
ssid: String当前连接 Wifi 的 SSID, 留空
systemvolume: i32?, 留空
wifimaclist: StringWifi 网卡 MAC 列表(?), 留空
memory: i64运行内存(Byte)
str_battery: String当前剩余电量, 如 “100”
is_root: bool设备是否 Root(?), 留空
str_brightness: String光照传感器数值字符串
str_app_id: String产品id, 见 2
ip: String当前 IP(?), 留空
user_agent: String留空即可
light_intensity: String?, 如: “1.25”
device_angle: Vec<f32>设备 xyz 方向角度
gps_sensor: i64GPS 传感器数量(或者是否有 GPS 传感器?), 如 “1”
speed_sensor: i64速度传感器数量(或者是否有速度传感器?), 如 “1”
linear_speed_sensor: i64线性加速度传感器数量(或者是否有线性加速度传感器?), 如 “1”
gyroscope_sensor: i64陀螺仪传感器数量(或者是否有陀螺仪传感器?), 如 “1”
biometric: i64生物识别传感器数量(或者是否有生物识别传感器?), 如 “1”
biometrics: Vec<String>生物识别传感器类型(?), 如 “touchid”
last_dump_ts: i64上次 Crash Dump 时的毫秒时间戳
location: String留空即可
country: String留空即可
city: String留空即可
data_activity_state: i32?, 默认为 0
data_connect_state: i32?, 默认为 0
data_network_type: i32?, 默认为 0
voice_network_type: i32?, 默认为 0
voice_service_state: i32?, 默认为 0
usb_connected: i32USB 是否连接, 启用为 “1”, 否则为 “0”
adb_enabled: i32ADB 是否启用, 启用为 “1”, 否则为 “0”
ui_version: String系统 UI 软件版本(?), 如 “14.0.0”
accessibility_service: Vec<String>辅助服务
sensors_info: Vec<SensorInfo>传感器信息(需要和前面的 sensor 对应)
drmid: StringDrmId
battery_present: bool是否存在电池
battery_technology: String电池技术, 如 “Li-poly”
battery_temperature: i32电池温度(m℃)
battery_voltage: i32电池电压(mV)
battery_plugged: i32电池是否被拔开(?), 可以为 0
battery_health: i32电池健康, 如 2
cpu_abi_list: Vec<String>留空即可
cpu_abi_libc: String留空即可
cpu_abi_libc64: String留空即可
cpu_processor: String留空即可
cpu_model_name: String留空即可
cpu_hardware: String留空即可
cpu_features: String留空即可
simulator_attr: StringTrait Implementations§
Source§impl Clone for AndroidDeviceInfo
impl Clone for AndroidDeviceInfo
Source§fn clone(&self) -> AndroidDeviceInfo
fn clone(&self) -> AndroidDeviceInfo
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AndroidDeviceInfo
impl Debug for AndroidDeviceInfo
Source§impl Default for AndroidDeviceInfo
impl Default for AndroidDeviceInfo
Source§impl Message for AndroidDeviceInfo
impl Message for AndroidDeviceInfo
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self.Source§impl PartialEq for AndroidDeviceInfo
impl PartialEq for AndroidDeviceInfo
impl StructuralPartialEq for AndroidDeviceInfo
Auto Trait Implementations§
impl Freeze for AndroidDeviceInfo
impl RefUnwindSafe for AndroidDeviceInfo
impl Send for AndroidDeviceInfo
impl Sync for AndroidDeviceInfo
impl Unpin for AndroidDeviceInfo
impl UnwindSafe for AndroidDeviceInfo
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request