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

المصادقة باستخدام المقاييس الحيوية أو بيانات اعتماد الجهاز، وتنفيذ عمليات التشفير.
آخر تعديل الإصدار المستقر إصدار مرشح الإصدار التجريبي الإصدار الأولي
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 على هذه الالتزامات.

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

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

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

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

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

  • تم حل مشكلة واجهة برمجة التطبيقات 29 التي كانت تتلقى فيها بعض الأجهزة (بما في ذلك أدوات المحاكاة) خطأ الإلغاء عند الرجوع إلى استخدام رقم التعريف الشخصي/النمط/كلمة المرور. يُرجى العلم أنّه في بعض الأجهزة التي تستخدم API 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 على هذه الالتزامات.

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

  • تم توسيع نطاق الحل البديل الحالي لبصمة الإصبع للمصادقة المستندة إلى التشفير ليشمل المورّدين المعنيين معروفين، مع حصره أيضًا بواجهة برمجة التطبيقات 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 (واجهة برمجة التطبيقات 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 والإصدارات الأحدث.