I want to highlight how Amplitude generates the [Amplitude] Device Type and Device Family user property values which are common questions we get in our Support queue.
When using one of our SDKs we will track the user’s device properties automatically by taking the raw device information captured by SDKs and mapping them to device types and families.
When using the HTTP API to get the device information (device_brand, device_manufacturer, and device_model), you will need to implement something similar as in the Amplitude Android SDK or Amplitude iOS SDK.
Amplitude will then attempt to use device_brand, device_manufacturer, and device_model to decide and map to the corresponding device type and device family property value.
Also, note that "Device family" and "Device type" are determined based on the model and manufacturer that’s present. For example, the device manufacturer might be Samsung and the device model might be SM-G900T -- using these two details, we'll determine:
- "Device family = Samsung Galaxy Phone"
- "Device type = Samsung Galaxy S5"
A few other things to consider:
Device Family and Device Type can be null if the fields (platform, os_name, os_version, device_brand, device_manufacturer, device_model, and carrier) are not updated together on the same event.
New Android device mappings may not be available on Amplitude. This is due to restrictions that will not allow us to pull device information from the newer devices.
Hope this helps you let me know if you have any questions below!