الْمَقَايِيسُ الْحَيَوِيَّة

المصادقة باستخدام المقاييس الحيوية أو بيانات اعتماد الجهاز، وتنفيذ عمليات التشفير.
آخر تعديل الإصدار المستقر إصدار المرشح الإصدار التجريبي إصدار أولي
21 أيلول (سبتمبر) 2022 1.1.0 - - 1.2.0-alpha05

إعلان التبعيات

لإضافة تبعية على المقاييس الحيوية، يجب إضافة مستودع Google Maven إلى مشروعك. يمكنك الاطّلاع على مستودع Maven من Google للحصول على مزيد من المعلومات.

أضِف التبعيات للعناصر التي تحتاجها في ملف build.gradle لتطبيقك أو الوحدة:

رائع

dependencies {
    // Java language implementation
    implementation "androidx.biometric:biometric:1.1.0"

    // Kotlin
    implementation "androidx.biometric:biometric-ktx:1.2.0-alpha05"
}

Kotlin

dependencies {
    // Java language implementation
    implementation("androidx.biometric:biometric:1.1.0")

    // Kotlin
    implementation("androidx.biometric:biometric:1.2.0-alpha05")
}

لمزيد من المعلومات حول الاعتماديات، يُرجى الاطّلاع على مقالة إضافة العناصر التابعة للإصدار.

ملاحظات

تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إخبارنا إذا اكتشفت مشاكل جديدة أو كانت لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مشكلة جديدة. يمكنك إضافة تصويتك إلى مشكلة حالية من خلال النقر على زر النجمة.

إنشاء عدد جديد

راجع وثائق "أداة تتبُّع المشاكل" للحصول على مزيد من المعلومات.

الإصدار 1.2.0

الإصدار 1.2.0-alpha05

21 أيلول (سبتمبر) 2022

تم طرح androidx.biometric:biometric:1.2.0-alpha05 وandroidx.biometric:biometric-ktx:1.2.0-alpha05. يحتوي الإصدار 1.2.0-alpha05 على هذه الالتزامات.

تغييرات واجهة برمجة التطبيقات

  • تمت إضافة دعم CryptoObject لنظام التشغيل android.security.identity.PresentationSession في Android 13. (C5f1ec، b/197965513)

إصلاح الأخطاء

  • تمت إزالة متغيرات الموارد غير الضرورية لتقليل حجم المكتبة. (I3601e، b/220178553)
  • تم إصلاح مشكلة BiometricPrompt المستضاف في السياقات غير النشطة. (Ife255)

الإصدار 1.2.0-alpha04

17 تشرين الثاني (نوفمبر) 2021

تم طرح androidx.biometric:biometric:1.2.0-alpha04 وandroidx.biometric:biometric-ktx:1.2.0-alpha04. يحتوي الإصدار 1.2.0-alpha04 على هذه الالتزامات.

الميزات الجديدة

  • تحسين توافق ميزة BiometricPrompt مع الأجزاء التي تتم استضافتها من خلال سياقات غير نشطة (I9312b)

تغييرات واجهة برمجة التطبيقات

  • تمت إضافة توافق مع واجهة برمجة التطبيقات BiometricManager.Strings لنظام التشغيل Android 12 (I12f2d).
  • تم تغيير توافق المصدر والهدف من Java 7 إلى Java 8 (I16129)

إصلاح الأخطاء

  • تم إصلاح المشكلة في واجهة برمجة التطبيقات 29 التي كانت تتلقّى فيها بعض الأجهزة (بما في ذلك أدوات المحاكاة) خطأ الإلغاء عند العودة إلى استخدام رقم التعريف الشخصي/النمط/كلمة المرور. يُرجى العلم أنّه في بعض الأجهزة التي تستخدم الإصدار 29 من واجهة برمجة التطبيقات، قد يؤدي ذلك إلى طلب من المستخدم استخدام قفل الشاشة حتى في حال توفّر مقياس حيوي وتسجيله. (b/142740104)
  • تم إصلاح مشكلة في واجهة برمجة التطبيقات 29 المتمثلة في عدم رجوع الأجهزة التي لا تحتوي على أجهزة مقاييس حيوية إلى رقم التعريف الشخصي/النمط/كلمة المرور بشكل صحيح (b/170517889).

الإصدار 1.2.0-alpha03

24 شباط (فبراير) 2021

تم طرح androidx.biometric:biometric:1.2.0-alpha03 وandroidx.biometric:biometric-ktx:1.2.0-alpha03. يحتوي الإصدار 1.2.0-alpha03 على هذه الالتزامات.

تغييرات واجهة برمجة التطبيقات

  • تمت إضافة تعليق إضافات الكوروتين التي تم استخدامها لـ CredentialAuthPrompt، الشبيهة بهذه الإضافات الخاصة بأنواع AuthPrompt الأخرى. (I9ac70)

الإصدار 1.2.0-alpha02

27 كانون الثاني (يناير) 2021

تم طرح androidx.biometric:biometric:1.2.0-alpha02 وandroidx.biometric:biometric-ktx:1.2.0-alpha02. يحتوي الإصدار 1.2.0-alpha02 على هذه الالتزامات.

تغييرات واجهة برمجة التطبيقات

  • تمت إعادة بناء بعض حقول AuthPrompt التي تم ضبطها في السابق باستخدام أداة إنشاء إلى وسيطات طريقة startAuthentication(...). (I18896، b/174098373)
  • تمت إضافة الحد الأدنى لمتطلبات مستوى واجهة برمجة التطبيقات لأنواع AuthPrompt مع دعم محدود أو عدم دعمه على إصدارات Android القديمة. (I18896)
  • تمت إضافة طرق الاستلام لجميع حقول AuthPrompt التي تم إعدادها من خلال أداة إنشاء. (I18896)
  • تم تعليق إضافات Kotlin المصمَّمة باستخدام المقاييس الحيوية من خلال واجهات برمجة تطبيقات AuthPrompt. ستعرض هذه الدوال AuthenticationResult مباشرةً عند نجاح الإجراء أو ستطرح استثناءً عند الخطأ أو الفشل (رفض بيانات الاعتماد). (Iffc9e)

إصلاح الأخطاء

  • تم إصلاح المشكلة المتمثلة في عرض BiometricManager.canAuthenticate(int) في بعض الأحيان لرمز حالة غير صحيح لجهاز يحتوي على أداة استشعار بصمة الإصبع في الإصدار Android 10 (مستوى واجهة برمجة التطبيقات 29). (I72420، b/176921662)
  • تم إصلاح المشكلة التي كان يعرض فيها BiometricManager.canAuthenticate(int) رمز حالة غير صحيح لجهاز لا يتضمّن أجهزة مقاييس حيوية ولا يتضمّن رقم تعريف شخصيًا أو نقشًا أو كلمة مرور مسجّلة على نظام التشغيل Android 10 (مستوى واجهة برمجة التطبيقات 29) وإصدارات حزمة تطوير البرامج (SDK) السابقة. (I79b7d، b/174505824)
  • تم إصلاح تسرُّب الذاكرة الذي يحدث عند استضافة ملف "BiometricPrompt" في جزء تكون دورة حياة المنتج أقصر من النشاط المرتبط به. (I70864، b/167014923)

الإصدار 1.2.0-alpha01

2 كانون الأول (ديسمبر) 2020

تم طرح androidx.biometric:biometric:1.2.0-alpha01 وandroidx.biometric:biometric-ktx:1.2.0-alpha01. يحتوي الإصدار 1.2.0-alpha01 على هذه الالتزامات.

الميزات الجديدة

  • تم طرح الوحدة androidx.biometric:biometric-ktx التي تضيف واجهات برمجة التطبيقات والإضافات الخاصة بلغة Kotlin إلى جانب androidx.biometric:biometric.

تغييرات واجهة برمجة التطبيقات

  • تمت إضافة واجهات برمجة تطبيقات AuthPrompt جديدة لإنشاء BiometricPrompt وإجراء المصادقة. لا تتطلّب واجهات برمجة التطبيقات هذه إنشاء BiometricPrompt في معاودة الاتصال بمراحلها المبكرة، مثل onCreate. (I19022)
  • تم إدراج إضافات Kotlin إلى Fragment وFragmentActivity لواجهات برمجة التطبيقات الجديدة AuthPrompt. (Iaf98c)

الإصدار 1.1.0

الإصدار 1.1.0

27 كانون الثاني (يناير) 2021

تم إطلاق "androidx.biometric:biometric:1.1.0". يحتوي الإصدار 1.1.0 على هذه الالتزامات.

التغييرات الرئيسية منذ 1.0.0

  • تمت إضافة التوافق مع الأنظمة القديمة لميزات المصادقة بالمقاييس الحيوية وتحديثات واجهة برمجة التطبيقات الجديدة التي تم توفيرها في Android 11.
  • تصغير حجم التطبيق الذي تستهلكه المكتبة بشكل كبير (بمقدار 100 كيلوبايت، في بعض الحالات)
  • تمت إزالة المصادر المختلفة لتسرُّب الذاكرة التي كانت تتسبب بها المكتبة في السابق.
  • تم إصلاح حالات تعذُّر إثبات ملكية الصف والتي قد تؤثر في أداء إصدارات Android القديمة.
  • تم إجراء العديد من التحسينات الإضافية على استقرار المكتبة وسلوكها.

الإصدار 1.1.0-rc01

11 تشرين الثاني (نوفمبر) 2020

تم إطلاق "androidx.biometric:biometric:1.1.0-rc01". يحتوي الإصدار 1.1.0-rc01 على هذه الالتزامات.

إصلاح الأخطاء

  • تم إصلاح مشكلة في بعض الأجهزة تؤدي فيها إجراءات معيّنة (المصادقة والإلغاء وما إلى ذلك) إلى عرض خطأ NullPointerException في بعض الأحيان. (b/151316421)
  • تم إصلاح المشكلة التي كانت تُبلغ عن حالة غير صحيحة لبعض أجهزة Pixel عند استخدام BiometricManager#canAuthenticate(int)، وذلك للتحقق من المقاييس الحيوية الفئة 3 على Android 10. (b/170406186)

الإصدار 1.1.0-beta01

1 تشرين الأول (أكتوبر) 2020

تم إطلاق "androidx.biometric:biometric:1.1.0-beta01". يحتوي الإصدار 1.1.0-beta01 على هذه الالتزامات.

الميزات الجديدة

  • انخفاض حجم مكتبة APK للمكتبة بشكل كبير (بضغط أكبر من 100 كيلوبايت في بعض الحالات)، وذلك عن طريق استبدال الصور المتحركة لمربّعات الحوار بمواد عرض ثابتة على نظام التشغيل Android 8.1 والإصدارات الأقدم. (I4844e)
  • يعود BiometricPrompt الآن تلقائيًا إلى مصادقة بيانات اعتماد الجهاز (في حال السماح بذلك) في جميع إصدارات Android المتوافقة عندما تكون المصادقة بالمقاييس الحيوية غير مقفلة. (b/149579143)

إصلاح الأخطاء

  • تم إصلاح المشكلة المتمثلة في تسبُّب BiometricPrompt في حدوث تعطُّل على بعض أجهزة Android 9 التي لا تتضمّن أداة استشعار بصمة الإصبع. (b/151443237)
  • تم إصلاح NullPointerException محتمَل في FingerprintDialogFragment. (b/167951429)
  • تم إصلاح المشكلة المتمثلة في استخدام نوع CryptoObject غير صحيح لاستدعاء طريقة انعكاسية في BiometricManager. (b/165824669)
  • تم إصلاح المشكلة المتمثلة في عرض BiometricPrompt مرة أخرى بعد فترة وجيزة من الرفض، والتي تسببت في إغلاق الإشعار الجديد تلقائيًا على بعض الأجهزة التي تعمل بنظام التشغيل Android 10. (b/157783075)
  • تم إصلاح تسرّبات الذاكرة المرتبطة باستخدام FingerprintManagerCompat. (b/165840273)
  • تم إصلاح المشاكل المتعلقة بإخفاء واجهة المستخدم لمربّع حوار بصمة الإصبع أو ظهورها بشكل غير صحيح على بعض أجهزة Android 9. (b/154868505، b/148350291)

الإصدار 1.1.0-alpha02

19 آب (أغسطس) 2020

تم إطلاق "androidx.biometric:biometric:1.1.0-alpha02". يحتوي الإصدار 1.1.0-alpha02 على هذه الالتزامات.

الميزات الجديدة

  • قد يعرض BiometricManager#canAuthenticate() الآن BIOMETRIC_STATUS_UNKNOWN للإشارة إلى أنّ المستخدم قد لا يزال بإمكانه إجراء المصادقة، أو BIOMETRIC_ERROR_UNSUPPORTED للإشارة إلى أنّ مجموعة برامج مصادقة معيّنة غير متوافقة مع الجهاز.
  • يمكن الآن استخدام BiometricPrompt#authenticate() لمصادقة بيانات اعتماد الجهاز مع CryptoObject مرتبط على Android 11 (مستوى واجهة برمجة التطبيقات 30) والإصدارات الأحدث فقط.

تغييرات واجهة برمجة التطبيقات

إصلاح الأخطاء

  • تم إصلاح تسرّبات الذاكرة التي تم الإبلاغ عنها من قِبل LeakCanary في BiometricFragment وBiometricViewModel. (b/144919472)
  • تم التأكد من أنّ BiometricViewModel لن يتصل بعد الآن بـ MutableLiveData#setValue() من سلسلة محادثات في الخلفية. (b/159983244)
  • تم إصلاح المشكلة المتمثلة في عدم معالجة BiometricPrompt لعملية التأمين المؤقت بشكل صحيح في بعض مستويات واجهة برمجة التطبيقات. (9acfce9)
  • تم إصلاح المشكلة التي كان يعرض فيها BiometricPrompt رمز خطأ غير صحيح لجهاز غير مؤمَّن باستخدام بيانات اعتماد قفل الشاشة على بعض مستويات واجهة برمجة التطبيقات. (b/148626482)
  • تم إصلاح المشكلة التي يعرض فيها BiometricManager وBiometricPrompt رموز الخطأ الخاطئة لجهاز لم يتم تنفيذ قفل مفاتيح التشفير عليه في بعض مستويات واجهة برمجة التطبيقات. (891c6e0)

الإصدار 1.1.0-alpha01

24 حزيران (يونيو) 2020

تم إطلاق "androidx.biometric:biometric:1.1.0-alpha01". يحتوي الإصدار 1.1.0-alpha01 على هذه الالتزامات.

الميزات الجديدة

  • تمت إعادة هيكلة تنفيذ المكتبة الداخلية لمعالجة المصادر المحتملة لتسرُّب الذاكرة وغيرها من السلوكيات غير المقصودة:
    • تشارك الأجزاء الداخلية الآن البيانات وتحتفظ بها باستخدام ViewModel المرتبط بدورة حياة تطبيق العميل.
    • لم تعد مصادقة بيانات اعتماد الجهاز التي تسبق Android 10 (مستوى واجهة برمجة التطبيقات 29) تبدأ نشاطًا شفافًا داخل تطبيق العميل.

إصلاح الأخطاء

  • تم حلّ تحذيرات الإيقاف النهائي المتعلّقة باستخدام FingerprintManagerCompat. (b/142967618)
  • تم تغيير طريقة استدعاء طُرق الأنظمة الأساسية المستندة إلى حِزم تطوير البرامج (SDK) لتجنُّب مشاكل إثبات ملكية الفئة على إصدارات Android القديمة. (94beb4b)
  • لن تصدّر المكتبة تبعيات Gradle التي ليست جزءًا من واجهة برمجة التطبيقات العامة. (f289d9e)

الإصدار 1.0.1

الإصدار 1.0.1

18 كانون الأول (ديسمبر) 2019

تم إطلاق "androidx.biometric:biometric:1.0.1". يحتوي الإصدار 1.0.1 على هذه الالتزامات.

إصلاح الأخطاء

  • تم توسيع الحل البديل الحالي لبصمة الإصبع للمصادقة المستندة إلى التشفير ليشمل المورّدين المتضررين المعروفين، مع قصره أيضًا على API 28 (b/143361271)
  • تم إصلاح مشكلة في أجهزة معيّنة كان يظهر فيها مربّع حوار المقاييس الحيوية أسفل تركيب النظام (b/143230260)
  • تم حل عدة مشاكل في setDeviceCredentialAllowed(true) (b/143091227 وb/143097321 وb/143653944).
  • تم إصلاح مشكلة في إصدارات معيّنة من Android، حيث كان لا يتم طلب الرقم onAuthenticationSuccess دائمًا بعد أن أكّد المستخدم بيانات اعتماد الجهاز (b/145232806).
  • تم إصلاح مشكلة في إصدارات معيّنة من Android حيث لا يتم دائمًا طلب "onAuthenticationError" عند إغلاق الطلب عند التدوير (b/145230042)
  • تم إصلاح مشكلة في إصدارات معينة من Android، حيث لا يتم إغلاق رسالة المطالبة عند تلقي رموز خطأ معينة (b/143683687)
  • تم تعديل قيمة NullPointerException محتملة في BiometricFragment (b/142599311).

الإصدار 1.0.0

الإصدار 1.0.0

7 تشرين الثاني (نوفمبر) 2019

تم إصدار androidx.biometric:biometric:1.0.0 بدون أي تغييرات منذ 1.0.0-rc02. يحتوي الإصدار 1.0.0 على هذه الالتزامات.

الميزات الرئيسية للإصدار 1.0.0

  • إصدار متوافق مع واجهات برمجة التطبيقات BiometricPrompt وBiometricManager، وفقًا لما تم تنفيذه في الإصدار Android 10، مع دعم كامل للميزات حتى Android 6.0 (API 23)
  • إدارة مدمجة لمراحل النشاط في BiometricPrompt داخل Fragment أو FragmentActivity
  • طريقة تعامل خاصة مع الأجهزة المعروفة بتقديم مقاييس حيوية ضعيفة بشكل غير صحيح أثناء المصادقة المستندة إلى العملات المشفّرة

الإصدار 1.0.0-rc02

23 تشرين الأول (أكتوبر) 2019

تم إطلاق "androidx.biometric:biometric:1.0.0-rc02". يحتوي الإصدار 1.0.0-rc02 على هذه الالتزامات.

إصلاح الأخطاء

  • تمت إضافة حل بديل لأجهزة معيّنة يُعرف عنها أنّها توفّر مقاييس حيوية ضعيفة بشكل غير صحيح عند استدعاء المصادقة المستندة إلى التشفير في الإصدارَين 28 و29 من واجهة برمجة التطبيقات (b/142150327).

الإصدار 1.0.0-rc01

9 تشرين الأول (أكتوبر) 2019

تم إطلاق "androidx.biometric:biometric:1.0.0-rc01". يحتوي الإصدار 1.0.0-rc01 على هذه الالتزامات.

إصلاح الأخطاء

  • تم إصلاح عطل محتمل في FingerprintDialogFragment عند إغلاقه أثناء تدوير الشاشة (b/141356362)
  • تم إصلاح المشكلة المتمثلة في تلقّي قيمة AuthenticationResult فارغة من واجهة برمجة تطبيقات إطار العمل قد يؤدي إلى حدوث عطل (b/138862251)
  • تم إصلاح الأعطال الناتجة عن إغلاق BiometricPrompt بعد onSaveInstanceState() (b/138825362، b/140447194)

الإصدار 1.0.0-beta02

18 أيلول (سبتمبر) 2019

تم إطلاق "androidx.biometric:biometric:1.0.0-beta02". يحتوي الإصدار 1.0.0-beta02 على هذه الالتزامات.

إصلاح الأخطاء

  • تم إصلاح المشاكل المتعلقة بدعم بيانات اعتماد الجهاز في الإصدار 1.0.0-beta01
  • تمت إزالة تبعيات Java 8 وتم التبديل إلى Java 7 (b/140508526)
  • يطرح FingerprintHelperFragment الآن ERROR_HW_NOT_PRESENT بشكل صحيح عند عدم اكتشاف جهاز بصمة إصبع (b/140427586)

الإصدار 1.0.0-beta01

29 آب (أغسطس) 2019

تم إطلاق "androidx.biometric:biometric:1.0.0-beta01". يحتوي الإصدار 1.0.0-beta01 على هذه الالتزامات.

الميزات الجديدة

قدمنا دالة إنشائية ثانية لـ BiometricPrompt (التوجيه الحيوي) تسمح باستضافتها في Fragment (على عكس الدالة الإنشائية الحالية، التي تتطلب FragmentActivity).

يسعدنا أيضًا إضافة الوظائف التالية من Android 10 إلى مكتبة المقاييس الحيوية في AndroidX:

  1. BiometricManager#canAuthenticate
  2. BiometricPrompt.PromptInfo#setConfirmationRequired
  3. BiometricPrompt.PromptInfo#setDeviceCredentialAllowed

في نظام التشغيل Android 10، ستستدعي المكتبة الطُرق المقابلة من واجهة برمجة التطبيقات للنظام الأساسي. أمّا مستويات واجهة برمجة التطبيقات الأقدم، فستحاكي المكتبة هذا السلوك.

تغييرات واجهة برمجة التطبيقات

  • تمت إضافة دالة إنشاء خاصة بالأجزاء لطلب المقاييس الحيوية (b/131980596).
  • راجِع قسم "الميزات الجديدة" أعلاه.

إصلاح الأخطاء

  • إضافة دعم بيانات اعتماد الجهاز BiometricPrompt إلى L+
  • تم إصلاح ميزة BiometricPrompt لاستخدام ثوابت الخطأ العامة (b/137788194)
  • إصلاح NullPointerException في BiometricPrompt.onAttach() (b/136103103)
  • تم تغيير السلوك بحيث لا يتم السماح بإلغاء تطبيق BiometricPrompt (الموجّه) من خلال حدث لمس خارج الإشعار (b/135684487).
  • تم إصلاح عطل onAUTHError عند عرض قيمة خطأ فارغة في Kotlin (b/128350861)
  • بصمة الإصبع DialogFragment قابلة للتعديل الآن (b/127878106)
  • بصمة الإصبع قابلة للتمرير الآن (b/126367887)
  • تم إصلاح الخطأ الذي يؤدي إلى ظهور علامة IllegalStateException بتدوير مربع حوار المقاييس الحيوية (b/124153656)، (b/123811924)
  • تم إصلاح السلوك غير المتسق على مستويات واجهة برمجة التطبيقات من 23 إلى 27. (b/124066957)
  • تم إصلاح المشكلة التي كانت تجعل "مربّع حوار تسجيل الدخول باستخدام بصمة الإصبع" يقرأ النص غير الصحيح باستخدام TalkBack. (b/123572331)

الإصدار 1.0.0-alpha04

3 نيسان (أبريل) 2019

تم إطلاق "androidx.biometric:biometric:1.0.0-alpha04". يمكن العثور على الالتزامات المضمّنة في هذا الإصدار هنا.

إصلاح الأخطاء

  • لا يتم تنظيف أجزاء المقاييس الحيوية الثابتة في جميع الحالات. (b/121117380)
  • لا يسمح نطاق BiometricPrompt الثابت إلا بمثيل واحد من BiometricPrompt.AuthenticationCallback (b/123857949)
  • تم إصلاح خطأ BiometricPrompt في سلوك الخطأ غير المتسق بين الإصدار المتوافق مع النظام والنسخة المتوافقة. (b/123572326)
  • تم إصلاح معاودة الاتصال بـ onAuthenticationError() مع @NotNull errString تتسبب في NullPointerException في وقت التشغيل (b/123167217)
  • تم إصلاح أعطال زر androidx.BiometricPrompt "إلغاء" (b/122054485)
  • لم يتم تغيير عنوان/وصف androidx.biometric.PromptInfo الثابت على نظام التشغيل Android P (b/122856773)

الإصدار 1.0.0-alpha03

17 كانون الأول (ديسمبر)، 2018

إصلاح الأخطاء

  • تم إصلاح المشاكل المتعلقة بالأجزاء
  • على الأجهزة التي تعمل بالإصدار O والإصدارات الأقدم، يتم عرض أخطاء التأمين على الفور حتى تتوافق مع الإصدار P والإصدارات الأحدث.