Afin d'ajouter des données contextuelles précises, nous travaillons avec un partenaire, Device Atlas, notamment pour la détection des appareils et des smartphones.
Cette détection peut se baser sur plusieurs éléments en fonction de leur disponibilité :
- Le paramètre de hit "&mfmd",
- Le User-Agent,
- Le Client-hint
Dans tous les cas, l'information est envoyée à Device Atlas qui nous retourne des informations permettant d'enrichir les propriétés contextuelles liées aux appareils.
Généralement, les modèles Apple ne peuvent pas être précisément identifiés à partir du User Agent envoyé par Apple, car leurs UA sont de plus en plus génériques, ne nous permettant pas d'être plus précis dans la détection.
En effet, si nous analysons un User Agent issu d'un iPad :
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0.1 Safari/605.1.15
Ce User Agent n'indique effectivement pas qu'il s'agit d'un iPad, car comme précisé dans cet article, depuis la version 13 d'iOS, Safari n'inclut plus d'éléments indiquant que Safari fonctionne sur iOS.
Ainsi, le User Agent de l'iPad ou de l'iPhone ne pourra se distinguer de la version ordinateur de macOS si la visite est effectuée sur le navigateur Safari.
L'appareil détecté sera donc forcément reconnu en tant que "Desktop" dans notre interface, car l'information correspondante n'est pas contenue dans son User Agent.
Nous n’avons pour l’instant pas de possibilité de détecter plus précisément les iPads ou les iPhones.
Note : Ce comportement ne s'applique que sur les appareils fonctionnant sous iOS. Pour les appareils Android, la détection reste inchangée.