Get user device info

Avatar

Avatar
Validate 1
Level 1
parag_dalal
Level 1

Likes

2 likes

Total Posts

21 posts

Correct reply

0 solutions
Top badges earned
Validate 1
Boost 1
Applaud 5
View profile

Avatar
Validate 1
Level 1
parag_dalal
Level 1

Likes

2 likes

Total Posts

21 posts

Correct reply

0 solutions
Top badges earned
Validate 1
Boost 1
Applaud 5
View profile
parag_dalal
Level 1

07-03-2021

Hello, guys, how are you?

I am wondering, is there a way I can get informations about the device the user is using to navigate the site, perhaps from the request object?
Namely, I'd be interested in informations such as the device group to which the user device belongs, and - ideally - informations about the screen size.

I did try adapting the request object to the Device.class, as well as retrieving (successfully so) an instance of the DeviceMapper and then calling the method deviceMapper.getDeviceInstance(request), but I have had zero luck obtaining a non-null instance of the Device class.

In general, I am dubious whether it is even possible to infer informations about the user's device e device's size while working server-side.

 

I would be very grateful if any of you had any considerations and were willing to illuminate me.

Thank you so much,

Parag.

Accepted Solutions (1)

Accepted Solutions (1)

Avatar

Avatar
Validate 1
MVP
Umesh_Thakur
MVP

Likes

147 likes

Total Posts

157 posts

Correct reply

53 solutions
Top badges earned
Validate 1
Applaud 25
Ignite 3
Ignite 1
Give Back 5
View profile

Avatar
Validate 1
MVP
Umesh_Thakur
MVP

Likes

147 likes

Total Posts

157 posts

Correct reply

53 solutions
Top badges earned
Validate 1
Applaud 25
Ignite 3
Ignite 1
Give Back 5
View profile
Umesh_Thakur
MVP

07-03-2021

Hi @parag_dalal,

I am not sure why you are getting the device type; if this the only requirement then you can easily get it from User-Agent request header from the request in either sling model or wcmusepojo.like: request.getHeader("User-Agent");

But if your requirement is to use the device size resolution then I would go with viewport from the front-end rather than back-end java. because it will have some impact on your site performance ultimately.

Hope this will help.

Umesh Thakur

Answers (2)

Answers (2)

Avatar

Avatar
Establish
MVP
Anudeep_Garnepudi
MVP

Likes

275 likes

Total Posts

320 posts

Correct reply

87 solutions
Top badges earned
Establish
Ignite 1
Give Back 5
Give Back 3
Give Back 10
View profile

Avatar
Establish
MVP
Anudeep_Garnepudi
MVP

Likes

275 likes

Total Posts

320 posts

Correct reply

87 solutions
Top badges earned
Establish
Ignite 1
Give Back 5
Give Back 3
Give Back 10
View profile
Anudeep_Garnepudi
MVP

08-03-2021

@parag_dalal 

If you are doing it in server side, consider that the page will be cached and will always give the device info of the first requested device.

Avatar

Avatar
Coach
MVP
Arun_Patidar
MVP

Likes

1,442 likes

Total Posts

3,318 posts

Correct reply

941 solutions
Top badges earned
Coach
Contributor 2
Ignite 10
Give Back 700
Boost 1000
View profile

Avatar
Coach
MVP
Arun_Patidar
MVP

Likes

1,442 likes

Total Posts

3,318 posts

Correct reply

941 solutions
Top badges earned
Coach
Contributor 2
Ignite 10
Give Back 700
Boost 1000
View profile
Arun_Patidar
MVP

08-03-2021