2009-11-09 3 views
0

J'ai implémenté Wurfl, mais le problème avec ceci est qu'il me donne la mauvaise résolution d'écran pour mes téléphones. Quelle est la précision wurfl et je ne sais pas ce que je fais mal.L'utilisation de Wurfl pour détecter la résolution d'écran mobile?

require_once 'wurfl_config.php'; 

require_once WURFL_CLASS_FILE; 

$ua = strtolower($_SERVER['HTTP_USER_AGENT']); 


$wurflObj = new wurfl_class(); 
$wurflObj->GetDeviceCapabilitiesFromAgent($ua); 

$width = $wurflObj->capabilities['display']['resolution_width']; 

//Config file 
    // Single define to be checked when starting the parser and/or the class 
define("WURFL_CONFIG", true); 

// Where all data is stored (wurfl.xml, cache file, logs, etc) 
$data = '/var/www/html/includes/wurfl/'; 
define("DATADIR", $data); 

// Path and filename of wurfl_parser.php 
define("WURFL_PARSER_FILE", 'wurfl_parser.php'); 

// Path and filename of wurfl_class.php 
define("WURFL_CLASS_FILE", 'wurfl_class.php'); 

// Path and name of the wurfl 
define ("WURFL_FILE", DATADIR."wurfl.xml"); 

// Path and name of the log file 
define ("WURFL_LOG_FILE", DATADIR."wurfl.log"); 

// suggested log level for normal use (default PHP logging constants) 
//define ("LOG_LEVEL", LOG_ERROR); 
// suggested log level for debug use 
define ("LOG_LEVEL", LOG_INFO); 

// Set this true if you want to use cache. Strongly suggested 
define ("WURFL_USE_CACHE", true); 

// Set this true if you want to avoid using cache.php file, and 
// generate a single file for each device user agent and use that as a cache 
// NOTICE: using Multicache will still generate cache.php and agent2id.php, 
// but will not dump the entire XML as PHP into cache.php. As a result 
// cache.php will be MUCH smaller and load WAY faster; as a drawback you will 
// have many more I/O accesses to the single tiny files. 
define ("WURFL_USE_MULTICACHE", true); 

// Path and name of the cache file 
define ("CACHE_FILE", DATADIR."cache.php"); 

// Set path of the Multicache directory where all the little caches will be 
// stored. Should be a directory that contains *only* these files, so that its 
// content can be safely cleaned when a new cache is created. 
// If not using Multicache, this parameter will not be used. 
define ("MULTICACHE_DIR", DATADIR."multicache/"); 

// Temporary directory for manual updates. 
define ("MULTICACHE_TMP_DIR", DATADIR."multicache_tmp/"); 
// This file is created and removed when manually updating multicache files 
define ("MULTICACHE_TOUCH", DATADIR."multicache.lockfile"); 

// File suffix for Multicache files 
define ("MULTICACHE_SUFFIX",".php"); 

// Autoload set to false, I will load it when needed 
define ("WURFL_AUTOLOAD", false); 

// This parameter tells the class to automatically update cache files when a 
// new XML is found. 
// Using the multicache is not suggested to automatically update it. Use the 
// external scripts. 
define ("WURFL_CACHE_AUTOUPDATE", true); 

// Path and name of the file to store user_agent->id relation 
// (ignored if caching is disabled) 
define ("WURFL_AGENT2ID_FILE", DATADIR."agent2id.php4"); 

// Configure a patch file 
define("WURFL_PATCH_FILE", DATADIR.'wurfl_patch.xml'); 
define("WURFL_PATCH_DEBUG", false); 

//define("WURFL_PATCH_FILE", DATADIR.'web_browsers_patch.xml'); 

// Set the maximum number of user_agents to cache 
define ("MAX_UA_CACHE", 30); 

Est-ce un problème connu que la largeur incorrecte est retournée, ou est-ce que je fais quelque chose de mal?

+0

Pouvez-vous donner un exemple de ce qui ne va pas? Dites un appareil spécifique, ce que vous vous attendiez à voir et ce que vous obtenez réellement? –

Répondre

3

WURFL est aussi précis que les données qu'il contient. En général, c'est très bien.

Quelle version des données WURFL utilisez-vous?
Pour quel périphérique et navigateur essayez-vous d'obtenir les dimensions de l'écran? (Quel est l'agent utilisateur?)
Quelle (s) valeur (s) obtenez-vous?
Quelle (s) valeur (s) attendiez-vous?

+0

Salut Matt, pas de soucis, j'ai re-téléchargé le fichier Wurfl (2.0.12) et maintenant il détecte la résolution d'écran correcte et maintenant cela fonctionne. Probablement il y avait quelque chose de mal avec le fichier précédent – Roland

Questions connexes