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


8

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

Actuellement, nous maintenons notre propre base de données, mais elle prend vraiment du retard en raison du manque de main-d'œuvre pour la maintenir, nous avons donc décidé d'essayer une solution tierce.

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

  • DeviceAtlas - Évaluation personnelle d'un an, mais la licence de base est abordable. Leur base de données semble solide avec des mises à jour quotidiennes et des tests / mises à jour fournis par les utilisateurs. Je suis en faveur de celui-ci en ce moment.

  • DetectRight - J'ai été recommandé par un collègue, mais je ne trouve vraiment pas grand-chose sur leur site. Appareils 20k - vraiment?

  • WURFL - Open source, base de données dérivée en collaboration d' UAProf . Donc, fondamentalement, si vous optez pour la solution UAProf, vous feriez mieux avec WURFL.

  • DetectMoBileBrowsers - Cela ressemble à la plus simple de toutes. Dommage que cela dépend du langage (PHP).

Partagez votre expérience ou vos suggestions!

Réponses:


4

OMG, gardez-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, optez pour WURFL si vous le souhaitez gratuitement ou DeviceAtlas si vous pouvez vous le permettre. Le second fonctionne probablement mieux (juste mon opinion personnelle).

Jetez également un œil à cette comparaison DeviceAtlas vs WURFL

Deuxième conseil : En règle générale, c'est une bonne idée de rester à l'écoute des normes W3C. En ce sens, l' API DDR Simple ( Device Description Repository Simple API ) est la voie à suivre. Il décrit une API abstraite pour 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 en Java dans le cadre du projet MyMobileWeb . Il vous permet d'accéder à WURFL, DeviceAtlas (pas sûr à 100%), W3C DDR Core Vocabulary (et peut-être UAProf ). De cette façon, 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 la 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 en octobre et une implémentation de Rails.

En pratique, cela signifie que vous pouvez développer votre application à l'aide de WURFL et ensuite basculer vers un autre référentiel, en gardant votre code idéalement 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 à l'avenir.

Je dois dire que j'ai déjà travaillé sur ce projet, je pense que ça vaut le coup d'oeil en tout cas, malgré les normes W3C qui sont généralement difficiles à lire. Il existe peut-être d'autres implémentations alternatives de l'API DDR Simple.


J'aime ton deuxième conseil, merci! Va vérifier quand j'aurai le temps.
syaz

8

Ce n'est pas une réponse directe, mais je crois qu'une contribution précieuse. Bien entendu, l'applicabilité dépend de vos besoins, mais je pense que de nombreux lecteurs développant pour les consommateurs la trouveront utile et pertinente.

À un si bon degré, je ne le fais pas.

Bien sûr, la détection d'agent utilisateur est idéale pour servir une version mobile optimisée pour les appareils dotés de bons navigateurs normalisés, tels que les téléphones Android, iPhone / iPod Touch, etc.

Pour des raisons pratiques, les navigateurs mobiles "old school" sont morts . Les appareils sur lesquels les gens utilisent réellement le Web mobile aujourd'hui disposent d'excellents navigateurs capables: WebKit, Opera et Firefox Mobile. RIM vient d'annoncer un navigateur WebKit intégré, et je pense qu'ils sont le dernier acteur majeur à effectuer la migration.

J'ai supposé que votre objectif était simplement de rediriger vers un site Web mobile. Si c'est plus complexe, par exemple, la journalisation de numéros de modèle individuels ou le suivi de statistiques à grain fin, ces publications de Stack Overflow devraient s'avérer utiles:


Eh bien quand je ne fais que des sites mobiles ... Je dois connaître la répartition des modèles etc. pour savoir où prioriser.
syaz


1

Luca Passani, inventeur du WURFL ici. Mon entreprise a récemment lancé ce service qui résout à peu près gratuitement le problème discuté ici. Je vous conseille de consulter http://wurfl.io/

En bref, si vous importez un petit fichier JS:

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

il vous restera un objet JSON qui ressemble à:

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

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

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

Ou

modelName = WURFL.complete_device_name 

Voilà ce que vous recherchez.

Merci

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.