platformExtras property
Vendor escape hatch, CLOSED key set: android: "manufacturer", "device_id", "os_build_id", "sdk_version", "android_api_level", "locale", "timezone" web: "has_webgpu", "has_shared_array_buffer"
"manufacturer" and "device_id" are the only two the native parser reads ("device_id" arrives as a promoted top-level JSON key). Keys not listed here are NOT dropped: the Kotlin serializer flattens them into the outbound registration body verbatim, where no client code reads them.
A key that restates a typed field above MUST NOT be sent — "device_type", "os_name", "processor_count" and "is_simulator" were removed for exactly that reason, and "device_id" duplicates device_fingerprint and should follow once the native parser reads the typed field instead.
Values are always strings. This map does not cross the C ABI on Apple platforms, so nothing load-bearing may live here.
Implementation
@$pb.TagNumber(18)
$pb.PbMap<$core.String, $core.String> get platformExtras => $_getMap(17);