الفرق بين المراجعتين لصفحة: «Cordova/cordova plugin device»
لا ملخص تعديل |
تحديث |
||
(3 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:إضافة حالة الجهاز في كوردوفا}}</noinclude> | <noinclude>{{DISPLAYTITLE:إضافة حالة الجهاز في كوردوفا}}</noinclude> | ||
[[تصنيف: Cordova]] | [[تصنيف: Cordova]] | ||
[[تصنيف: | [[تصنيف: Cordova Plugin]] | ||
تُعرّف إضافة حالة الجهاز (cordova-plugin-device) كائنًا عامًّا هو <code>device</code>، والذي يوفر معلومات حول عتاد وبرامج الجهاز. على الرغم من أن الكائن موجود في النطاق العام (global scope)، إلا أنه لن يكون متوفرًا إلا بعد إطلاق الحدث <code>deviceready</code>.<syntaxhighlight lang="javascript">document.addEventListener("deviceready", onDeviceReady, false); | |||
تُعرّف إضافة حالة الجهاز ( | |||
function onDeviceReady() { | function onDeviceReady() { | ||
console.log(device.cordova); | console.log(device.cordova); | ||
}</syntaxhighlight> | }</syntaxhighlight> | ||
== التثبيت == | == التثبيت == | ||
<syntaxhighlight lang=" | يمكنك تثبيت هذه الإضافة عبر الأمر التالي:<syntaxhighlight lang="shell">cordova plugin add cordova-plugin-device</syntaxhighlight> | ||
== الخاصيات == | == الخاصيات == | ||
سطر 15: | سطر 14: | ||
تعيد هذه الخاصية إصدار كوردوفا المُثبَّت على الجهاز. | تعيد هذه الخاصية إصدار كوردوفا المُثبَّت على الجهاز. | ||
المنصات المدعومة: | |||
*أندرويد | *أندرويد | ||
*Browser | *Browser | ||
سطر 24: | سطر 24: | ||
===<code>device.model</code>=== | ===<code>device.model</code>=== | ||
تعيد الخاصية <code>device.model</code> اسم طراز الجهاز أو المنتج. يتم تعيين القيمة من قِبل الشركة المصنعة للجهاز، وقد تختلف بين | تعيد الخاصية <code>device.model</code> اسم طراز الجهاز أو المنتج. يتم تعيين القيمة من قِبل الشركة المصنعة للجهاز، وقد تختلف بين إصدارات المنتج. | ||
المنصات المدعومة: | |||
*أندرويد | *أندرويد | ||
*Browser | *Browser | ||
سطر 31: | سطر 32: | ||
*ويندوز | *ويندوز | ||
* OSX | * OSX | ||
إليك المثال التالي:<syntaxhighlight lang="javascript">// Android: Nexus One (Nexus One اسم الجهاز) "Passion" تعاد القيمة | |||
<syntaxhighlight lang="javascript">// Android: Nexus One (Nexus One اسم الجهاز) "Passion" تعاد القيمة | |||
// Motorola Droid "voles" تعاد القيمة | // Motorola Droid "voles" تعاد القيمة | ||
// BlackBerry: Torch 9800 "9800" تعاد القيمة | // BlackBerry: Torch 9800 "9800" تعاد القيمة | ||
سطر 39: | سطر 39: | ||
// iOS: for the iPad Mini, returns iPad2,5; iPhone 5 is iPhone 5,1. See | // iOS: for the iPad Mini, returns iPad2,5; iPhone 5 is iPhone 5,1. See | ||
// http://theiphonewiki.com/wiki/index.php?title=Models راجع الصفحة | // http://theiphonewiki.com/wiki/index.php?title=Models راجع الصفحة | ||
// OSX: "x86_64" | // OSX: "x86_64" تعاد القيمة | ||
// | // | ||
var model = device.model;</syntaxhighlight> | var model = device.model;</syntaxhighlight> | ||
====ملاحظات خاصة بمنصة أندرويد ==== | ====ملاحظات خاصة بمنصة أندرويد ==== | ||
* في منصة أندرويد، يُعاد [http://developer.android.com/reference/android/os/Build.html#PRODUCT اسم المنتج] بدلًا من [http://developer.android.com/reference/android/os/Build.html#MODEL اسم الطراز]، والذي | * في منصة أندرويد، يُعاد [http://developer.android.com/reference/android/os/Build.html#PRODUCT اسم المنتج] بدلًا من [http://developer.android.com/reference/android/os/Build.html#MODEL اسم الطراز]، والذي غالبًا ما يكون اسم رمز الإنتاج (production code). على سبيل المثال، يُعيد الهاتف Nexus One القيمة <code>Passion</code>، فيما يعيد Motorola Droid القيمة <code>voles</code>. | ||
===<code>device.platform</code>=== | ===<code>device.platform</code>=== | ||
تعيد هذه الخاصية اسم نظام التشغيل | تعيد هذه الخاصية اسم نظام التشغيل المُستخدم على الجهاز. | ||
<syntaxhighlight lang="javascript">var string = device.platform;</syntaxhighlight> | <syntaxhighlight lang="javascript">var string = device.platform;</syntaxhighlight>المنصات المدعومة: | ||
*أندرويد | *أندرويد | ||
*Browser | *Browser | ||
سطر 55: | سطر 54: | ||
*ويندوز | *ويندوز | ||
* OSX | * OSX | ||
مثال على استعمال الخاصية <code>platform</code>:<syntaxhighlight lang="javascript">// بحسب الجهاز، هذه بعض الأمثلة | |||
<syntaxhighlight lang="javascript">// بحسب الجهاز، هذه بعض الأمثلة | |||
// - "Android" | // - "Android" | ||
// - "BlackBerry 10" | // - "BlackBerry 10" | ||
سطر 69: | سطر 67: | ||
تعيد الخاصية <code>uuid</code> المعرف الفريد العالمي للجهاز ([http://en.wikipedia.org/wiki/Universally_Unique_Identifier UUID]). | تعيد الخاصية <code>uuid</code> المعرف الفريد العالمي للجهاز ([http://en.wikipedia.org/wiki/Universally_Unique_Identifier UUID]). | ||
<syntaxhighlight lang="javascript">var string = device.uuid;</syntaxhighlight> | <syntaxhighlight lang="javascript">var string = device.uuid;</syntaxhighlight>يتم تحديد تفاصيل كيفية توليد قيمة المعرف الفريد العالمي للجهاز (UUID) من طرف الشركة المصنعة للجهاز، وتختلف حسب منصة الجهاز أو طرازه. | ||
المنصات المدعومة: | |||
*أندرويد | *أندرويد | ||
*iOS | *iOS | ||
*ويندوز | *ويندوز | ||
* OSX | * OSX | ||
مثال على الخاصية <code>uuid</code>:<syntaxhighlight lang="javascript">// Android: | |||
<syntaxhighlight lang="javascript">// Android: يعاد عدد صحيح عشوائي من 64 | // يعاد عدد صحيح عشوائي من 64 بت على شكل سلسلة نصية | ||
// يُولد الجهاز عند أول تشغيل للجهاز | // يُولد الجهاز عند أول تشغيل للجهاز | ||
// | // | ||
// BlackBerry: الخاص بالجهاز PIN يعاد العدد | // BlackBerry: | ||
// | // الخاص بالجهاز PIN يعاد العدد | ||
// وهو عدد فريد مكون من 9 منازل عشرية على شكل سلسلة نصية | |||
// | // | ||
// iPhone: (UIDevice مستخلص من توثيق الصنف) | // iPhone: | ||
// | // (UIDevice مستخلص من توثيق الصنف) | ||
// قبل البائع، لكن المعرف الفريد العالمي للجهاز | // يعاد المعرف الفريد العالمي للجهاز، والذي يبقى ثابتًا على كل التطبيقات المُثبتة من | ||
// قبل البائع، لكن المعرف الفريد العالمي للجهاز يمكن أن تختلف قيمته إن حذف المستخدم | |||
// جميع التطبيقات الخاصة بالبائع ثم أعاد تثبيتها | // جميع التطبيقات الخاصة بالبائع ثم أعاد تثبيتها | ||
// Windows Phone 7 : | // | ||
// إن | // Windows Phone 7: | ||
// Tizen: الخاصة بالجهاز IMEI تعاد القيمة | // للمستخدم الحالي للجهاز hash يعيد القيمة , | ||
// | // إن لم يكن المستخدم محددًا، فسيولد المعرف الفريد العالمي للجهاز وسيبقى مخزنًا إلى حين إزالة التطبيق | ||
// UMTS و GSM تبقى ثابتة لكل | // | ||
// Tizen: | |||
// الخاصة بالجهاز IMEI تعاد القيمة | |||
// الهوية الدولية للأجهزة المتنقلة = IMEI حيث | |||
// UMTS و GSM تبقى ثابتة لكل أنظمة الاتصال | |||
var deviceID = device.uuid;</syntaxhighlight> | var deviceID = device.uuid;</syntaxhighlight> | ||
==== ملاحظات خاصة بمنصة iOS ==== | ==== ملاحظات خاصة بمنصة iOS ==== | ||
سطر 99: | سطر 101: | ||
يستخدم المعرف الفريد العالمي للجهاز <code>uuid</code> على منصة iOS الخاصية <code>identifierForVendor</code>. فقيمتها تبقى ثابتة على كل الأجهزة المُصنعة من قبل نفس الشركة، بيْد أنها تختلف بين الأجهزة المصنعة من بائعين مختلفين، وستتغير إذا تم حذف جميع التطبيقات القادمة من البائع، ثم أُعيد تثبيتها. ارجع إلى [https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIDevice_Class/#//apple_ref/occ/instp/UIDevice/identifierForVendor هذه الصفحة] لمزيد من التفاصيل. | يستخدم المعرف الفريد العالمي للجهاز <code>uuid</code> على منصة iOS الخاصية <code>identifierForVendor</code>. فقيمتها تبقى ثابتة على كل الأجهزة المُصنعة من قبل نفس الشركة، بيْد أنها تختلف بين الأجهزة المصنعة من بائعين مختلفين، وستتغير إذا تم حذف جميع التطبيقات القادمة من البائع، ثم أُعيد تثبيتها. ارجع إلى [https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIDevice_Class/#//apple_ref/occ/instp/UIDevice/identifierForVendor هذه الصفحة] لمزيد من التفاصيل. | ||
ستكون قيمة UUID هي نفسها إذا استعيد التطبيق من نسخة احتياطية أو من السحابة iCloud، لأنها تُحفظ في التفضيلات. الذين يستخدمون إصدارات قديمة من هذه الإضافة سيتلقّون نفس قيمة UUID السابقة المُولّدة بالوسائل الأخرى، إذ أنها | ستكون قيمة UUID هي نفسها إذا استعيد التطبيق من نسخة احتياطية أو من السحابة iCloud، لأنها تُحفظ في التفضيلات. أما الذين يستخدمون إصدارات قديمة من هذه الإضافة سيتلقّون نفس قيمة UUID السابقة المُولّدة بالوسائل الأخرى، إذ أنها ستُسترَد من التفضيلات. | ||
==== ملاحظات خاصة بمنصة OSX ==== | ==== ملاحظات خاصة بمنصة OSX ==== | ||
سطر 107: | سطر 109: | ||
تعيد هذه الخاصية إصدار نظام التشغيل. | تعيد هذه الخاصية إصدار نظام التشغيل. | ||
<syntaxhighlight lang="javascript">var string = device.version;</syntaxhighlight> | <syntaxhighlight lang="javascript">var string = device.version;</syntaxhighlight>المنصات المدعومة: | ||
*أندرويد 2.1 وما بعده | *أندرويد 2.1 وما بعده | ||
*Browser | *Browser | ||
سطر 114: | سطر 115: | ||
*ويندوز | *ويندوز | ||
* OSX | * OSX | ||
مثال عن استعمال الخاصية <code>version</code>:<syntaxhighlight lang="javascript">// Android: | |||
<syntaxhighlight lang="javascript">// Android: | // Froyo OS => n "2.2" | ||
// | // Eclair OS => "2.1", "2.0.1", "2.0" | ||
// | // "2.1-update1" - يمكن أن يعاد مستوى التحديث | ||
// | |||
// BlackBerry: | |||
// "6.0.0.600" يعيد OS 6.0 الذي يستخدم Torch 9800 | |||
// | |||
// Browser: | |||
// يعاد رقم إصدار المتصفح | |||
// | // | ||
// | // iPhone: | ||
// iOS 3.2 => "3.2" | |||
// | // | ||
// | // Windows Phone 7: Mango | ||
// يعاد إصدار نظام التشغيل الحالي، مثلا، على منصة | |||
// ستعاد القيمة 7.10.7720 | |||
// | // | ||
// | // Windows 8: | ||
// يعاد إصدار نظام التشغيل الحالي، مثلا، على منصة ويندوز 8.1 ستعاد | |||
// 6.3.9600.16384 القيمة | |||
// | // | ||
// | // Tizen: | ||
// | // "TIZEN_20120425_2" تعاد القيمة | ||
// | // | ||
// OSX: | // OSX: El Capitan => "10.11.2" | ||
// | // | ||
var deviceVersion = device.version;</syntaxhighlight> | var deviceVersion = device.version;</syntaxhighlight> | ||
==device.manufacturer== | ===<code>device.manufacturer</code>=== | ||
تعيد هذه الخاصية اسم الشركة المصنعة للجهاز. | تعيد هذه الخاصية اسم الشركة المصنعة للجهاز. | ||
<syntaxhighlight lang="javascript">var string = device.manufacturer;</syntaxhighlight> | <syntaxhighlight lang="javascript">var string = device.manufacturer;</syntaxhighlight>المنصات المدعومة: | ||
*أندرويد | *أندرويد | ||
*iOS | *iOS | ||
*ويندوز | *ويندوز | ||
مثال عن استعمال الخاصية <code>manufacturer</code>:<syntaxhighlight lang="javascript">// Android: Motorola XT1032 => "motorola" | |||
<syntaxhighlight lang="javascript">// Android: Motorola XT1032 | // BlackBerry: => "BlackBerry" | ||
// BlackBerry: | // iPhone: => "Apple" | ||
// iPhone: | |||
// | // | ||
var deviceManufacturer = device.manufacturer;</syntaxhighlight> | var deviceManufacturer = device.manufacturer;</syntaxhighlight> | ||
==device.isVirtual== | ===<code>device.isVirtual</code>=== | ||
تحدد هذه الخاصية ما إذا كان الجهاز يعمل على جهاز محاكاة. | تحدد هذه الخاصية ما إذا كان الجهاز يعمل على جهاز محاكاة. | ||
<syntaxhighlight lang="javascript">var isSim = device.isVirtual;</syntaxhighlight> | <syntaxhighlight lang="javascript">var isSim = device.isVirtual;</syntaxhighlight>المنصات المدعومة: | ||
*أندرويد 2.1 وما بعده | *أندرويد 2.1 وما بعده | ||
*Browser | *المتصفحات (Browser) | ||
*iOS | *iOS | ||
*ويندوز | *ويندوز | ||
* OSX | * OSX | ||
=== ملاحظات خاصة بمنصتي OSX و Browser === | ==== ملاحظات خاصة بمنصتي OSX و Browser ==== | ||
تعيد الخاصية <code>isVirtual</code> على منصتي OS X و Browser القيمة false دائمًا. | تعيد الخاصية <code>isVirtual</code> على منصتي OS X و Browser القيمة <code>false</code> دائمًا. | ||
==device.serial== | ===<code>device.serial</code>=== | ||
تعيد هذه الخاصية | تعيد هذه الخاصية [http://developer.android.com/reference/android/os/Build.html#SERIAL الرقم التسلسلي للجهاز]. | ||
<syntaxhighlight lang="javascript">var string = device.serial;</syntaxhighlight> | <syntaxhighlight lang="javascript">var string = device.serial;</syntaxhighlight>المنصات المدعومة: | ||
*أندرويد | *أندرويد | ||
* OSX | * OSX | ||
== انظر أيضًا == | |||
* إضافة [[Cordova/cordova plugin battery status|حالة البطارية]] | |||
* إضافة [[Cordova/cordova plugin file|الوصول إلى الملفات]] | |||
* [[Cordova/plugins|دليل تطوير الإضافات في كوردوفا]] | |||
==مصادر== | ==مصادر== | ||
*[https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-device/index.html صفحة cordova-plugin-device في توثيق كوردوفا الرسمي.] | *[https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-device/index.html صفحة cordova-plugin-device في توثيق كوردوفا الرسمي.] |
المراجعة الحالية بتاريخ 20:51، 2 ديسمبر 2020
تُعرّف إضافة حالة الجهاز (cordova-plugin-device) كائنًا عامًّا هو device
، والذي يوفر معلومات حول عتاد وبرامج الجهاز. على الرغم من أن الكائن موجود في النطاق العام (global scope)، إلا أنه لن يكون متوفرًا إلا بعد إطلاق الحدث deviceready
.
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
console.log(device.cordova);
}
التثبيت
يمكنك تثبيت هذه الإضافة عبر الأمر التالي:
cordova plugin add cordova-plugin-device
الخاصيات
device.cordova
تعيد هذه الخاصية إصدار كوردوفا المُثبَّت على الجهاز.
المنصات المدعومة:
- أندرويد
- Browser
- iOS
- ويندوز
- OSX
device.model
تعيد الخاصية device.model
اسم طراز الجهاز أو المنتج. يتم تعيين القيمة من قِبل الشركة المصنعة للجهاز، وقد تختلف بين إصدارات المنتج.
المنصات المدعومة:
- أندرويد
- Browser
- iOS
- ويندوز
- OSX
إليك المثال التالي:
// Android: Nexus One (Nexus One اسم الجهاز) "Passion" تعاد القيمة
// Motorola Droid "voles" تعاد القيمة
// BlackBerry: Torch 9800 "9800" تعاد القيمة
// Browser: Google Chrome "Chrome" تعاد القيمة
// Safari "Safari" تعاد القيمة
// iOS: for the iPad Mini, returns iPad2,5; iPhone 5 is iPhone 5,1. See
// http://theiphonewiki.com/wiki/index.php?title=Models راجع الصفحة
// OSX: "x86_64" تعاد القيمة
//
var model = device.model;
ملاحظات خاصة بمنصة أندرويد
- في منصة أندرويد، يُعاد اسم المنتج بدلًا من اسم الطراز، والذي غالبًا ما يكون اسم رمز الإنتاج (production code). على سبيل المثال، يُعيد الهاتف Nexus One القيمة
Passion
، فيما يعيد Motorola Droid القيمةvoles
.
device.platform
تعيد هذه الخاصية اسم نظام التشغيل المُستخدم على الجهاز.
var string = device.platform;
المنصات المدعومة:
- أندرويد
- Browser
- iOS
- ويندوز
- OSX
مثال على استعمال الخاصية platform
:
// بحسب الجهاز، هذه بعض الأمثلة
// - "Android"
// - "BlackBerry 10"
// - "browser"
// - "iOS"
// - "WinCE"
// - "Tizen"
// - "Mac OS X"
var devicePlatform = device.platform;
device.uuid
تعيد الخاصية uuid
المعرف الفريد العالمي للجهاز (UUID).
var string = device.uuid;
يتم تحديد تفاصيل كيفية توليد قيمة المعرف الفريد العالمي للجهاز (UUID) من طرف الشركة المصنعة للجهاز، وتختلف حسب منصة الجهاز أو طرازه.
المنصات المدعومة:
- أندرويد
- iOS
- ويندوز
- OSX
مثال على الخاصية uuid
:
// Android:
// يعاد عدد صحيح عشوائي من 64 بت على شكل سلسلة نصية
// يُولد الجهاز عند أول تشغيل للجهاز
//
// BlackBerry:
// الخاص بالجهاز PIN يعاد العدد
// وهو عدد فريد مكون من 9 منازل عشرية على شكل سلسلة نصية
//
// iPhone:
// (UIDevice مستخلص من توثيق الصنف)
// يعاد المعرف الفريد العالمي للجهاز، والذي يبقى ثابتًا على كل التطبيقات المُثبتة من
// قبل البائع، لكن المعرف الفريد العالمي للجهاز يمكن أن تختلف قيمته إن حذف المستخدم
// جميع التطبيقات الخاصة بالبائع ثم أعاد تثبيتها
//
// Windows Phone 7:
// للمستخدم الحالي للجهاز hash يعيد القيمة ,
// إن لم يكن المستخدم محددًا، فسيولد المعرف الفريد العالمي للجهاز وسيبقى مخزنًا إلى حين إزالة التطبيق
//
// Tizen:
// الخاصة بالجهاز IMEI تعاد القيمة
// الهوية الدولية للأجهزة المتنقلة = IMEI حيث
// UMTS و GSM تبقى ثابتة لكل أنظمة الاتصال
var deviceID = device.uuid;
ملاحظات خاصة بمنصة iOS
يستخدم المعرف الفريد العالمي للجهاز uuid
على منصة iOS الخاصية identifierForVendor
. فقيمتها تبقى ثابتة على كل الأجهزة المُصنعة من قبل نفس الشركة، بيْد أنها تختلف بين الأجهزة المصنعة من بائعين مختلفين، وستتغير إذا تم حذف جميع التطبيقات القادمة من البائع، ثم أُعيد تثبيتها. ارجع إلى هذه الصفحة لمزيد من التفاصيل.
ستكون قيمة UUID هي نفسها إذا استعيد التطبيق من نسخة احتياطية أو من السحابة iCloud، لأنها تُحفظ في التفضيلات. أما الذين يستخدمون إصدارات قديمة من هذه الإضافة سيتلقّون نفس قيمة UUID السابقة المُولّدة بالوسائل الأخرى، إذ أنها ستُسترَد من التفضيلات.
ملاحظات خاصة بمنصة OSX
يتم إنشاء uuid
على منصة OSX تلقائيًا إذا لم تكن موجودةً بعد، وستُخزّن في standardUserDefaults
في الخاصية CDVUUID
.
device.version
تعيد هذه الخاصية إصدار نظام التشغيل.
var string = device.version;
المنصات المدعومة:
- أندرويد 2.1 وما بعده
- Browser
- iOS
- ويندوز
- OSX
مثال عن استعمال الخاصية version
:
// Android:
// Froyo OS => n "2.2"
// Eclair OS => "2.1", "2.0.1", "2.0"
// "2.1-update1" - يمكن أن يعاد مستوى التحديث
//
// BlackBerry:
// "6.0.0.600" يعيد OS 6.0 الذي يستخدم Torch 9800
//
// Browser:
// يعاد رقم إصدار المتصفح
//
// iPhone:
// iOS 3.2 => "3.2"
//
// Windows Phone 7: Mango
// يعاد إصدار نظام التشغيل الحالي، مثلا، على منصة
// ستعاد القيمة 7.10.7720
//
// Windows 8:
// يعاد إصدار نظام التشغيل الحالي، مثلا، على منصة ويندوز 8.1 ستعاد
// 6.3.9600.16384 القيمة
//
// Tizen:
// "TIZEN_20120425_2" تعاد القيمة
//
// OSX: El Capitan => "10.11.2"
//
var deviceVersion = device.version;
device.manufacturer
تعيد هذه الخاصية اسم الشركة المصنعة للجهاز.
var string = device.manufacturer;
المنصات المدعومة:
- أندرويد
- iOS
- ويندوز
مثال عن استعمال الخاصية manufacturer
:
// Android: Motorola XT1032 => "motorola"
// BlackBerry: => "BlackBerry"
// iPhone: => "Apple"
//
var deviceManufacturer = device.manufacturer;
device.isVirtual
تحدد هذه الخاصية ما إذا كان الجهاز يعمل على جهاز محاكاة.
var isSim = device.isVirtual;
المنصات المدعومة:
- أندرويد 2.1 وما بعده
- المتصفحات (Browser)
- iOS
- ويندوز
- OSX
ملاحظات خاصة بمنصتي OSX و Browser
تعيد الخاصية isVirtual
على منصتي OS X و Browser القيمة false
دائمًا.
device.serial
تعيد هذه الخاصية الرقم التسلسلي للجهاز.
var string = device.serial;
المنصات المدعومة:
- أندرويد
- OSX