Device
L'objet
devicefournit des informations sur les aspects matériels et logiciels du mobile.
Propriétés
Portée de la variable
Puisque device est attaché à l'objet window, il a implicitement une portée globale.
// Ces deux exemples pointent vers le même `device`
//
var phoneName = window.device.name;
var phoneName = device.name;
device.name
Récupère le nom de modèle du mobile.
var string = device.name;
Description
device.name retourne le nom du modèle du mobile ou du produit. Cette valeur est renseignée par le constructeur et peut différer d'une version à une autre d'un même produit.
Plateformes supportées
- Android
- BlackBerry
- BlackBerry WebWorks (OS 5.0 ou plus récent)
- iOS
- Windows Phone 7 ( Mango )
Exemple rapide
// Android: Nexus One retourne "Passion" (nom de code de Nexus One)
// Motorola Droid retourne "voles"
// BlackBerry: Bold 8900 retourne "8900"
// iOS: Tous modèles retourne le nom défini via iTunes, par exemple "iPhone de Joe"
//
var name = device.name;
Exemple complet
<!DOCTYPE html>
<html>
<head>
<title>Exemple Device</title>
<script type="text/javascript" charset="utf-8" src="phonegap-1.1.0.js"></script>
<script type="text/javascript" charset="utf-8">
// Attendre que PhoneGap soit prêt
//
document.addEventListener("deviceready", onDeviceReady, false);
// PhoneGap est prêt
//
function onDeviceReady() {
var element = document.getElementById('deviceProperties');
element.innerHTML = 'Device Name: ' + device.name + '<br />' +
'Device PhoneGap: ' + device.phonegap + '<br />' +
'Device Platform: ' + device.platform + '<br />' +
'Device UUID: ' + device.uuid + '<br />' +
'Device Version: ' + device.version + '<br />';
}
</script>
</head>
<body>
<p id="deviceProperties">Chargement des propriétés du mobile...</p>
</body>
</html>
Singularités Android
- Récupère le nom de produit product au lieu du nom de modèle model.
- Le nom de produit correspond souvent au nom de code donné au modèle lors de sa production.
- Par exemple Nexus One retourne "Passion", Motorola Droid retourne "voles"
Singularités iOS
- Récupère le nom du mobile name au lieu du nom de modèle model.
- Le nom du mobile est défini par son propriétaire via iTunes.
- Par exemple "iPhone de Joe"
device.phonegap
Récupère la version de PhoneGap de l'application.
var string = device.phonegap;
Description
device.phonegap retourne la version de PhoneGap de l'application.
Plateformes supportées
- Android
- BlackBerry
- BlackBerry WebWorks (OS 5.0 ou plus récent)
- iOS
- Windows Phone 7 ( Mango )
Exemple rapide
var name = device.phonegap;
Exemple complet
<!DOCTYPE html>
<html>
<head>
<title>Exemple Device</title>
<script type="text/javascript" charset="utf-8" src="phonegap-1.1.0.js"></script>
<script type="text/javascript" charset="utf-8">
// Attendre que PhoneGap soit prêt
//
document.addEventListener("deviceready", onDeviceReady, false);
// PhoneGap est prêt
//
function onDeviceReady() {
var element = document.getElementById('deviceProperties');
element.innerHTML = 'Device Name: ' + device.name + '<br />' +
'Device PhoneGap: ' + device.phonegap + '<br />' +
'Device Platform: ' + device.platform + '<br />' +
'Device UUID: ' + device.uuid + '<br />' +
'Device Version: ' + device.version + '<br />';
}
</script>
</head>
<body>
<p id="deviceProperties">Chargement des propriétés du mobile...</p>
</body>
</html>
device.platform
Récupère le nom du système d'exploitation du mobile.
var string = device.platform;
Plateformes supportées
- Android
- BlackBerry
- BlackBerry WebWorks (OS 5.0 ou plus récent)
- iOS
- Windows Phone 7 ( Mango )
Exemple rapide
// Exemples de valeurs retournées en fonction du mobile :
// - "Android"
// - "BlackBerry"
// - "iPhone"
// - "webOS"
// - "WinCE"
var devicePlatform = device.platform;
Exemple complet
<!DOCTYPE html>
<html>
<head>
<title>Exemple Device</title>
<script type="text/javascript" charset="utf-8" src="phonegap-1.1.0.js"></script>
<script type="text/javascript" charset="utf-8">
// Attendre que PhoneGap soit prêt
//
document.addEventListener("deviceready", onDeviceReady, false);
// PhoneGap est prêt
//
function onDeviceReady() {
var element = document.getElementById('deviceProperties');
element.innerHTML = 'Device Name: ' + device.name + '<br />' +
'Device PhoneGap: ' + device.phonegap + '<br />' +
'Device Platform: ' + device.platform + '<br />' +
'Device UUID: ' + device.uuid + '<br />' +
'Device Version: ' + device.version + '<br />';
}
</script>
</head>
<body>
<p id="deviceProperties">Chargement des propriétés du mobile...</p>
</body>
</html>
Singularités iOS
C'est le nom du produit (iPhone, iPad ou iPod touch) qui est retourné et non le nom du système d'exploitation, à savoir iOS.
Singularités BlackBerry
Sur certains mobiles, c'est la version de la plateforme qui est retournée et non le nom du système d'exploitation. Par exemple, le Storm2 9550 retourne une valeur du style '2.13.0.95'.
device.uuid
Récupère le Universally Unique Identifier (UUID) du mobile.
var string = device.uuid;
Description
Les détails sur la façon dont un UUID est généré sont déterminés par le fabricant et spécifiques à la plateforme ou au modèle de l'appareil.
Plateformes supportées
- Android
- BlackBerry
- BlackBerry WebWorks (OS 5.0 ou plus récent)
- iOS
- Windows Phone 7 ( Mango )
Exemple rapide
// Android: Retourne un entier aléatoire de 64 bits (sous forme de chaîne de caractères !)
// Cet entier est généré au premier démarrage du mobile.
//
// BlackBerry: Retourne le numéro PIN du mobile.
// Il s'agit d'un entier unique à neuf chiffres (mais sous forme de chaîne de caractères !)
//
// iPhone: (Tiré de la documentation de la classe UIDevice)
// Retourne une chaîne de hachage produite à partir de multiples identifiants matériels.
// Son unicité est garantie pour chaque mobile et ne peut être liée au compte utilisateur.
// Windows Phone 7 : Retourne un hachage du mobile+utilisateur,
// si l'utilisateur n'est pas défini, un GUID est généré et sera conservé jusqu'à ce que l'application soit désinstallée.
//
var deviceID = device.uuid;
Exemple complet
<!DOCTYPE html>
<html>
<head>
<title>Exemple Device</title>
<script type="text/javascript" charset="utf-8" src="phonegap-1.1.0.js"></script>
<script type="text/javascript" charset="utf-8">
// Attendre que PhoneGap soit prêt
//
document.addEventListener("deviceready", onDeviceReady, false);
// PhoneGap est prêt
//
function onDeviceReady() {
var element = document.getElementById('deviceProperties');
element.innerHTML = 'Device Name: ' + device.name + '<br />' +
'Device PhoneGap: ' + device.phonegap + '<br />' +
'Device Platform: ' + device.platform + '<br />' +
'Device UUID: ' + device.uuid + '<br />' +
'Device Version: ' + device.version + '<br />';
}
</script>
</head>
<body>
<p id="deviceProperties">Chargement des propriétés du mobile...</p>
</body>
</html>
device.version
Récupère la version du système d'exploitation.
var string = device.version;
Plateformes supportées
- Android 2.1+
- BlackBerry
- BlackBerry WebWorks (OS 5.0 ou plus récent)
- iOS
- Windows Phone 7 ( Mango )
Exemple rapide
// Android: Froyo retourne "2.2"
// Eclair retourne "2.1", "2.0.1", or "2.0"
// La version peut aussi retourner la mise à jour "2.1-update1"
//
// BlackBerry: Bold 9000 sous OS 4.6 retourne "4.6.0.282"
//
// iOS: iOS 3.2 retourne "3.2"
//
// Windows Phone 7: retourne le numéro de version courant du système d'exploitation, par exemple "7.10.7720" sous Mango.
var deviceVersion = device.version;
Exemple complet
<!DOCTYPE html>
<html>
<head>
<title>Exemple Device</title>
<script type="text/javascript" charset="utf-8" src="phonegap-1.1.0.js"></script>
<script type="text/javascript" charset="utf-8">
// Attendre que PhoneGap soit prêt
//
document.addEventListener("deviceready", onDeviceReady, false);
// PhoneGap est prêt
//
function onDeviceReady() {
var element = document.getElementById('deviceProperties');
element.innerHTML = 'Device Name: ' + device.name + '<br />' +
'Device PhoneGap: ' + device.phonegap + '<br />' +
'Device Platform: ' + device.platform + '<br />' +
'Device UUID: ' + device.uuid + '<br />' +
'Device Version: ' + device.version + '<br />';
}
</script>
</head>
<body>
<p id="deviceProperties">Chargement des propriétés du mobile...</p>
</body>
</html>