...
UAProf, base de l'Open Mobile Alliance : http://www.openmobilealliance.org/Technical/schemas.aspx
Liste des terminaux : http://deviceatlas.com/devices
WURFL, base "collaborative", avec API : http://wurfl.sourceforge.net/UAProf, base
En pièce jointe, la classe de gestion du WURFL.
Lors de l'initialisation de l'Open Mobile Alliance : http://www.openmobilealliance.org/Technical/schemas.aspxListe des terminaux : http://deviceatlas.com/devicesapplication :
Bloc de code |
---|
// Initialisation du service WURFL
this.myWurflService = new MyWurflService();
|
Dans mon wrapper, à la création, pour savoir si l'utilisateur a un terminal mobile :
Bloc de code |
---|
this.isMobile = Application.getAppli().getMyWurflService().isMobileDevice(this.sess, context.request().toString());
|
On peut avoir des infos sur le terminal :
Bloc de code |
---|
Device device = Application.getAppli().getMyWurflService().getWurflHolder().getWURFLManager().getDeviceForRequest(request.toString());
String browser = device.getCapability(MyWurflService.MOBILE_BROWSER);
|
Pour nettoyer le fichier WURFL et n'avoir que les propriétés voulues :
http://www.tera-wurfl.com/wiki/index.php/WURFL_Customizer
Le filtre utilisé :
Bloc de code |
---|
public static $CAPABILITY_FILTER = array(
"mobile_browser",
"device_os",
"mobile_browser_version",
"model_name",
"device_os_version",
"is_wireless_device",
"device_claims_web_support",
"brand_name",
);
|
On passe de 15 à 3Mo en utilisant le filtre.
W3C mobileOK : http://validator.w3.org/mobile
...