Additional information about device classes for developers | HCL Digital Experience

The DeviceClass profile attribute contains only the highest priority device class on the client. Highest priority is determined as the first device class listed for the client. DeviceClassList provides access to all device classes on a client, as a string of comma-separated values.

EL Bean
The clientProfile bean can be used to obtain the list of device classes that are assigned to the client. For instance:<c:set var="deviceClasses" scope="request" value="${wp.clientProfile['DeviceClass']}" />
CC/PP Profile
The device class can also be directly obtained from the client profile information (CC/PP). For more information about the CC/PP API, see Client profile information (CC/PP) in portlets.
JavaScript
An array of device classes is available on the window object named com_ibm_device_class. This array object includes the same set of device classes that are defined for DeviceClassList within the CC/PP profile. You can query the array to check whether the environment is available. For example:
if(com_ibm_device_class.indexOf("smartphone") > -1){
	// action performed for smartphone devices
}else{
	// action performed for all non-smartphones
}
SPI
Portal defines several services to obtain the list device classes that are assigned to the client. There is also a service to determine which device class matches best for a client. The package documentation for com.ibm.portal.devicesupport helps get you started.
URI schemes
The Portal theme provides and uses special URI formats that work with device classes.
mv: URI scheme
The multiview URI scheme provides a way to select the best matching resource for a client from an Atom listing of available resources that are based on naming conventions.
mvc:URI
The multiview choice URI scheme provides a way to select the best matching resource for a client from a listing of available resources that is directly contained in the scheme-specific part.