web-dev-qa-db-fra.com

Détection de téléphone portable (marque, modèle, navigateur, etc.)

Qu'utilisez-vous pour détecter le téléphone portable du visiteur, jusqu'au modèle si possible?

Actuellement, nous gérons notre propre base de données, mais celle-ci prend du retard à cause du manque de personnel pour la maintenir. Nous avons donc décidé d'essayer une solution tierce partie.

Ce sont mes candidats mais je n'ai pas le temps de tous les essayer:

  • DeviceAtlas - Évaluation personnelle d'un an, mais la licence de base est abordable. Leur base de données semble solide avec une mise à jour quotidienne et des tests/mises à jour fournis par les utilisateurs. Je privilégie celui-ci pour le moment.

  • DetectRight - Un collègue m'a recommandé cela, mais je ne trouve vraiment pas grand-chose sur leur site. 20k appareils - vraiment?

  • WURFL - Open source, base de données collaborative provenant de AProf . Donc, fondamentalement, si vous utilisez la solution UAProf, vous êtes mieux avec WURFL.

  • DetectMoBileBrowsers - Cela ressemble au plus simple de tous. Dommage que cela dépende de la langue (PHP).

S'il vous plaît partager votre expérience ou des suggestions!

8
syaz

OMG, tenez-vous vraiment votre propre base de données à jour? Je suis tellement désolé pour toi ...

Premier conseil : Si vous n'avez besoin que d'une solution très simple et minimale pour détecter la marque et le modèle, utilisez WURFL si vous le souhaitez gratuitement ou DeviceAtlas si vous le souhaitez. Peuvent se le permettre. Le second fonctionne probablement mieux (juste mon opinion personnelle).

Regardez aussi cette comparaison DeviceAtlas vs WURFL

Deuxième conseil : En règle générale, il est judicieux de rester à l’écoute des normes W3C. En ce sens, le API simple DDR (API simple de référentiel de description de périphérique) est la voie à suivre. Il décrit une API abstraite permettant d'accéder aux référentiels de description de périphérique (DDR).

Vous pouvez trouver une implémentation de référence open-source de cette API dans Java dans le cadre du projet MyMobileWeb . Il vous permet d’accéder à WURFL, DeviceAtlas (pas sûr à 100%), vocabulaire de base du WDR DDR (et peut-être AProf ). Ainsi, vous pouvez accéder aux propriétés du périphérique avec une API unifiée, également proposée en tant que service REST (voir documentation du service DDR REST ).

Vous pouvez télécharger la dernière version 1.2. Je sais qu'ils travaillent dans une nouvelle version qui pourrait probablement être publiée d’ici octobre et une implémentation Rails.

En pratique, cela signifie que vous pouvez développer votre application à l’aide de WURFL et plus tard passer à un autre référentiel, en gardant votre code parfaitement intact. Il est plus difficile à installer et à utiliser pour la première fois, mais si vous construisez un système de grande entreprise, vous gagnerez beaucoup de temps dans le futur.

Je dois dire que j'ai déjà travaillé sur ce projet, je pense que cela vaut la peine d'être examiné, même si les normes du W3C sont généralement difficiles à lire. Peut-être existe-t-il d’autres implémentations possibles de l’API DDR Simple.

4
Guido

Ce n'est pas une réponse directe, mais je crois une contribution précieuse. Bien entendu, l’applicabilité dépend de vos besoins, mais je pense que de nombreux lecteurs qui s’adressent aux consommateurs le trouveront utile et pertinente.

À un tel degré, je ne le fais pas.

Bien entendu, la détection d’agent d’utilisateur est idéale pour servir une version mobile optimisée aux appareils dotés de bons navigateurs basés sur des normes, tels que les téléphones Android, iPhone/iPod Touch, etc.

Pour des raisons pratiques, les navigateurs mobiles de la "vieille école" sont morts . Les appareils que les internautes utilisent réellement sur le Web mobile disposent de navigateurs performants: WebKit, Opera et Firefox Mobile. RIM vient d'annoncer un navigateur WebKit intégré et je pense qu'il est le dernier acteur majeur à effectuer la migration.

Je suppose que votre objectif est simplement de rediriger vers un site Web mobile. S'il est plus complexe, par exemple, de consigner des numéros de modèle individuels ou de suivre des statistiques détaillées, ces publications de Stack Overflow peuvent s'avérer utiles:

8
Taylor Edmiston

Consultez également fichier MDBF) de Microsoft. Même s'il a cessé d'être mis à jour, il contient au moins plusieurs années d'appareils, jusqu'à récemment.

1
David d C e Freitas

Luca Passani, l'inventeur de WURFL ici. Mon entreprise a récemment lancé ce service, qui résout assez bien le problème discuté ici gratuitement. Je vous conseille de vérifier http://wurfl.io/

En un mot, si vous importez un fichier JS minuscule:

<script type='text/javascript' src="//wurfl.io/wurfl.js"></script>

il vous restera un objet JSON ressemblant à:

{
 "complete_device_name":"Google Nexus 7",
 "is_mobile":true,
 "form_factor":"Tablet"
}

(en supposant que vous utilisiez un Nexus 7, bien sûr) et que vous pourrez faire des choses comme:

if(WURFL.form_factor == "Tablet"){
    //dostuff();
}

Ou

modelName = WURFL.complete_device_name 

C'est ce que vous recherchez.

Merci

1
Luca Passani