بیومتریک

با بیومتریک یا اعتبار دستگاه احراز هویت کنید و عملیات رمزنگاری را انجام دهید.
آخرین به روز رسانی انتشار پایدار نامزد انتشار نسخه بتا انتشار آلفا
7 آگوست 2024 1.1.0 - - 1.4.0-alpha02

اعلام وابستگی ها

برای افزودن وابستگی به Biometric، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر ، مخزن Maven Google را بخوانید.

وابستگی‌های مصنوعات مورد نیاز خود را در فایل build.gradle برای برنامه یا ماژول خود اضافه کنید:

شیار

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

    // Kotlin
    implementation "androidx.biometric:biometric-ktx:1.4.0-alpha02"
}

کاتلین

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

    // Kotlin
    implementation("androidx.biometric:biometric:1.4.0-alpha02")
}

برای اطلاعات بیشتر درباره وابستگی‌ها، به افزودن وابستگی‌های ساخت مراجعه کنید.

بازخورد

بازخورد شما به بهتر شدن Jetpack کمک می کند. اگر مسائل جدیدی کشف کردید یا ایده هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد کتابخانه جدید، به مسائل موجود در این کتابخانه نگاهی بیندازید. با کلیک کردن روی دکمه ستاره می توانید رای خود را به یک موضوع موجود اضافه کنید.

یک شماره جدید ایجاد کنید

برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.

نسخه 1.4

نسخه 1.4.0-alpha02

7 آگوست 2024

androidx.biometric:biometric:1.4.0-alpha02 و androidx.biometric:biometric-ktx:1.4.0-alpha02 منتشر شدند. نسخه 1.4.0-alpha02 حاوی این تعهدات است.

ویژگی های جدید

  • PromptContentView به توسعه دهندگان اجازه می دهد تا نمای محتوای سفارشی را به عنوان یک گزینه اضافی از نمای متن توضیحات ساده نشان دهند.
  • نشان‌واره برنامه در Biometric Prompt نشان داده می‌شود - به طور خودکار با استفاده از نماد برنامه اضافه می‌شود.

تغییرات API

  • API ها را برای پشتیبانی از نمای محتوای سفارشی اضافه کنید
    • BiometricPrompt.PromptInfo.Builder#setContentView
    • BiometricPrompt.PromptInfo#getContentView
    • رابط PromptContentView
    • کلاس PromptVerticalListContentView
    • کلاس PromptContentViewWithMoreOptionsButton (فقط برای برنامه های دارای امتیاز)
  • افزودن API برای پشتیبانی از نشان‌واره (فقط برای برنامه‌های ممتاز)
    • BiometricPrompt.PromptInfo.Builder#setLogoBitmap
    • BiometricPrompt.PromptInfo.Builder#setLogoRes
    • BiometricPrompt.PromptInfo.Builder#setLogoDescription
    • BiometricPrompt.PromptInfo#getLogoBitmap
    • BiometricPrompt.PromptInfo#getLogoRes
    • BiometricPrompt.PromptInfo#getLogoDescription 58c35c6

رفع اشکال

  • compileSdk به 35 5dc41be به روز کنید

نسخه 1.4.0-alpha01

29 مه 2024

androidx.biometric:biometric:1.4.0-alpha01 و androidx.biometric:biometric-ktx:1.4.0-alpha01 منتشر شدند. این نسخه در یک شعبه داخلی توسعه یافته و اندروید 15 بتا 2 را هدف قرار داده است.

رفع اشکال

  • رابط کاربری را به‌روزرسانی کنید تا با تغییرات پلتفرم در اندروید 15 سازگار باشد

نسخه 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 حاوی این commit ها است.

تغییرات API

  • پشتیبانی 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 حاوی این commit ها است.

ویژگی های جدید

  • پشتیبانی بهبود یافته BiometricPrompt برای قطعاتی که توسط زمینه‌های غیرفعالی میزبانی می‌شوند ( I9312b )

تغییرات API

  • پشتیبانی اضافه شده برای Android 12 BiometricManager.Strings API ( I12f2d )
  • سازگاری هدف و منبع از جاوا 7 به جاوا 8 تغییر کرد ( I16129 )

رفع اشکال

  • مشکلی در API 29 که در آن برخی از دستگاه‌ها (از جمله شبیه‌سازها) هنگام بازگشت به پین/الگو/رمز عبور، خطای لغو دریافت می‌کنند، برطرف شد. توجه داشته باشید که برای برخی از دستگاه‌های موجود در API 29، این ممکن است باعث شود که کاربر قفل صفحه‌اش را درخواست کند، حتی اگر یک بیومتریک موجود و ثبت‌نام شده باشد. ( b/142740104 )
  • مشکلی در API 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 حاوی این commit ها است.

تغییرات API

  • افزودن برنامه‌های افزودنی در حالت تعلیق برای 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 حاوی این commit ها است.

تغییرات API

  • برخی از فیلدهای AuthPrompt را که قبلاً از طریق سازنده در آرگومان های متد startAuthentication(...) تنظیم شده بودند، مجدداً فاکتور کرد. ( I18896 , b/174098373 )
  • حداقل نیازهای سطح API برای انواع AuthPrompt با پشتیبانی محدود یا بدون پشتیبانی در نسخه‌های قدیمی‌تر Android اضافه شده است. ( I18896 )
  • اضافه شدن متدهای دریافت کننده برای تمام فیلدهای AuthPrompt که از طریق سازنده تنظیم می شوند. ( I18896 )
  • افزودن برنامه‌های افزودنی کوتلین معلق برای احراز هویت بیومتریک از طریق AuthPrompt API. این توابع AuthenticationResult مستقیماً در هنگام موفقیت برمی‌گردانند یا یک استثنا در مورد خطا یا شکست ایجاد می‌کنند (رد اعتبار). ( Iffc9e )

رفع اشکال

  • مشکلی را برطرف کرد که در آن BiometricManager.canAuthenticate(int) گاهی اوقات کد وضعیت اشتباه را برای دستگاه دارای حسگر اثر انگشت در Android 10 (سطح API 29) برمی‌گرداند. ( I72420 , b/176921662 )
  • مشکلی را برطرف کرد که در آن BiometricManager.canAuthenticate(int) کد وضعیت اشتباه را برای دستگاهی بدون سخت‌افزار بیومتریک و بدون پین، الگو یا رمز عبور ثبت‌شده در Android 10 (سطح API 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 حاوی این commit ها است.

ویژگی های جدید

  • ماژول androidx.biometric:biometric-ktx را معرفی کرد که APIها و برنامه های افزودنی مخصوص Kotlin را در بالای androidx.biometric:biometric اضافه می کند.

تغییرات API

  • AuthPrompt APIهای جدید برای ساختن یک BiometricPrompt و انجام احراز هویت اضافه شده است. این APIها نیازی به ساخت BiometricPrompt در یک فراخوان اولیه چرخه حیات ندارند ، مانند onCreate . ( I19022 )
  • پسوندهای Kotlin به Fragment و FragmentActivity برای AuthPrompt APIهای جدید اضافه شده است. ( Iaf98c )

نسخه 1.1.0

نسخه 1.1.0

27 ژانویه 2021

androidx.biometric:biometric:1.1.0 منتشر شد. نسخه 1.1.0 حاوی این commit ها است.

تغییرات عمده از 1.0.0

  • اضافه شدن پشتیبانی سازگار با عقب برای ویژگی های جدید احراز هویت بیومتریک و به روز رسانی های API معرفی شده در اندروید 11.
  • به طور قابل توجهی ردپای اندازه برنامه کتابخانه را کاهش داد (در برخی موارد بیش از 100 کیلوبایت).
  • منابع مختلف نشت حافظه را که قبلاً توسط کتابخانه ایجاد شده بود، حذف کرد.
  • رفع خرابی‌های تأیید کلاس که می‌تواند بر عملکرد نسخه‌های قدیمی‌تر اندروید تأثیر بگذارد.
  • بهبودهای مختلف اضافی در ثبات و رفتار کتابخانه ایجاد کرد.

نسخه 1.1.0-rc01

11 نوامبر 2020

androidx.biometric:biometric:1.1.0-rc01 منتشر شد. نسخه 1.1.0-rc01 حاوی این commit ها است.

رفع اشکال

  • مشکلی در برخی از دستگاه‌ها برطرف شد که برخی از اقدامات (احراز هویت، لغو، و غیره) گاهی اوقات باعث ایجاد 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 حاوی این تعهدات است.

ویژگی های جدید

  • با جایگزینی انیمیشن های گفتگو با دارایی های ثابت در اندروید 8.1 و نسخه های قبلی، ردپای اندازه APK کتابخانه را به میزان قابل توجهی کاهش داد (در برخی موارد بیش از 100 کیلوبایت فشرده شده است). ( I4844e )
  • اکنون وقتی احراز هویت بیومتریک قفل می شود، BiometricPrompt به طور خودکار به احراز هویت اعتبار دستگاه (در صورت مجاز بودن) در همه نسخه های Android پشتیبانی می شود. ( b/149579143 )

رفع اشکال

  • مشکلی که در آن BiometricPrompt باعث خرابی برخی از دستگاه‌های اندروید 9 بدون حسگر اثر انگشت شد، برطرف شد. ( b/151443237 )
  • یک NullPointerException بالقوه در FingerprintDialogFragment رفع شد. ( b/167951429 )
  • مشکلی که در آن از نوع اشتباه CryptoObject برای فراخوانی روش بازتابی در BiometricManager استفاده شده بود، رفع شد. ( b/165824669 )
  • مشکلی را برطرف کرد که نشان دادن دوباره BiometricPrompt بلافاصله پس از اخراج باعث شد درخواست جدید به طور خودکار در برخی از دستگاه‌های Android 10 رد شود. ( b/157783075 )
  • رفع نشت حافظه مربوط به استفاده از FingerprintManagerCompat . ( b/165840273 )
  • مشکلات مربوط به پنهان شدن یا نمایش نادرست رابط کاربری گفتگوی اثر انگشت در برخی از دستگاه‌های اندروید 9 برطرف شد. ( b/154868505 , b/148350291 )

نسخه 1.1.0-alpha02

19 آگوست 2020

androidx.biometric:biometric:1.1.0-alpha02 منتشر شد. نسخه 1.1.0-alpha02 حاوی این commit ها است.

ویژگی های جدید

  • BiometricManager#canAuthenticate() اکنون ممکن است BIOMETRIC_STATUS_UNKNOWN را برگرداند تا نشان دهد که کاربر ممکن است همچنان بتواند احراز هویت را انجام دهد، یا BIOMETRIC_ERROR_UNSUPPORTED برای نشان دادن اینکه یک ترکیب احراز هویت معین توسط دستگاه پشتیبانی نمی‌شود.
  • BiometricPrompt#authenticate() اکنون می‌تواند فقط برای احراز هویت دستگاه با یک CryptoObject مرتبط در Android 11 (سطح API 30) و بالاتر استفاده شود.

تغییرات API

رفع اشکال

  • رفع نشت حافظه که توسط LeakCanary در BiometricFragment و BiometricViewModel گزارش شده است. ( b/144919472 )
  • مطمئن شد که BiometricViewModel دیگر MutableLiveData#setValue() از یک رشته پس‌زمینه فراخوانی نخواهد کرد. ( b/159983244 )
  • مشکلی را برطرف کرد که در آن BiometricPrompt به درستی قفل موقت را در برخی از سطوح API مدیریت نمی کرد. ( 9acfce9 )
  • مشکلی را برطرف کرد که در آن BiometricPrompt کد خطای اشتباهی را برای دستگاهی که با اعتبار قفل صفحه در برخی از سطوح API ایمن نشده بود، برمی‌گرداند. ( b/148626482 )
  • مشکلی را برطرف کرد که در آن BiometricManager و BiometricPrompt کدهای خطای اشتباهی را برای دستگاهی که در برخی از سطوح API اجرا نمی‌شود، برمی‌گرداند. ( 891c6e0 )

نسخه 1.1.0-alpha01

24 ژوئن 2020

androidx.biometric:biometric:1.1.0-alpha01 منتشر شد. نسخه 1.1.0-alpha01 حاوی این commit ها است.

ویژگی های جدید

  • اجرای کتابخانه داخلی را برای رسیدگی به منابع بالقوه نشت حافظه و سایر رفتارهای ناخواسته بازسازی کرد:
    • قطعات داخلی اکنون داده ها را با استفاده از ViewModel که به چرخه حیات برنامه مشتری مرتبط است، به اشتراک گذاشته و باقی می مانند.
    • احراز هویت دستگاه قبل از Android 10 (سطح API 29) دیگر فعالیت شفافی را در برنامه مشتری شروع نمی‌کند.

رفع اشکال

  • اخطارهای منسوخ شدن مربوط به استفاده از FingerprintManagerCompat برطرف شد. ( b/142967618 )
  • نحوه فراخوانی روش‌های پلتفرم دارای دروازه SDK برای جلوگیری از مشکلات تأیید کلاس در نسخه‌های قدیمی‌تر Android تغییر کرد. ( 94beb4b )
  • وابستگی‌های Gradle که بخشی از API عمومی نیستند، دیگر توسط کتابخانه صادر نمی‌شوند. ( f289d9e )

نسخه 1.0.1

نسخه 1.0.1

18 دسامبر 2019

androidx.biometric:biometric:1.0.1 منتشر شد. نسخه 1.0.1 شامل این commit ها است .

رفع اشکال

  • راه حل بازگشتی اثر انگشت موجود برای احراز هویت مبتنی بر رمزنگاری را به فروشندگان شناخته شده آسیب دیده گسترش داد، در حالی که آن را به API 28 ( b/143361271 ) محدود کرد.
  • مشکلی در دستگاه‌های خاصی که در آن گفتگوی بیومتریک تحت پوشش سیستم نشان داده می‌شد، برطرف شد ( b/143230260 )
  • چندین مشکل با setDeviceCredentialAllowed(true) رفع شد ( b/143091227 , b/143097321 , b/143653944 )
  • مشکلی در برخی از نسخه‌های Android که در آن همیشه پس از تأیید اعتبار دستگاه توسط کاربر، onAuthenticationSuccess فراخوانی نمی‌شد ( b/145232806 ) برطرف شد.
  • رفع مشکلی در برخی از نسخه‌های اندروید که در آن هنگام رد کردن فرمان در چرخش، onAuthenticationError همیشه فراخوانی نمی‌شد ( b/145230042 )
  • رفع مشکلی در برخی از نسخه‌های اندروید که در آن هنگام دریافت کدهای خطای خاص، درخواست رد نشد ( 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

  • نسخه سازگاری API های 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 حاوی این commit ها است .

رفع اشکال

  • راه‌حلی برای دستگاه‌های خاصی اضافه شده است که مشخص است وقتی احراز هویت مبتنی بر رمزنگاری در نسخه‌های 28 و 29 API ( b/142150327 ) احراز هویت مبتنی بر رمزنگاری فراخوانی می‌شود، بیومتریک ضعیفی ارائه می‌دهند.

نسخه 1.0.0-rc01

9 اکتبر 2019

androidx.biometric:biometric:1.0.0-rc01 منتشر شد. نسخه 1.0.0-rc01 حاوی این commit ها است .

رفع اشکال

  • رفع خرابی احتمالی با FingerprintDialogFragment هنگام رد کردن آن در حالی که صفحه در حال چرخش است ( b/141356362 )
  • رفع مشکلی که در آن دریافت یک AuthenticationResult تهی از چارچوب API ممکن است باعث خرابی شود ( 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
  • وابستگی‌های جاوا 8 را حذف کرد و به جاوا 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 Biometric بیاوریم:

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

در اندروید 10، کتابخانه روش‌های مربوطه را از API پلتفرم فراخوانی می‌کند. در سطوح قدیمی‌تر API، کتابخانه رفتار را شبیه‌سازی می‌کند.

API تغییر می کند

  • سازنده قطعه خاص برای درخواست بیومتریک اضافه شد ( b/131980596 )
  • بخش «ویژگی‌های جدید» را در بالا ببینید.

رفع اشکال

  • پشتیبانی اعتبار دستگاه BiometricPrompt را برای L+ اضافه کنید
  • BiometricPrompt برای استفاده از ثابت‌های خطای عمومی ثابت شد ( b/137788194 )
  • رفع NullPointerException در BiometricPrompt.onAttach() ( b/136103103 )
  • تغییر رفتار به گونه ای که اجازه نمی دهد BiometricPrompt توسط یک رویداد لمسی خارج از فرمان لغو شود ( b/135684487 )
  • رفع خرابی AuthenticationError هنگامی که یک مقدار خطای تهی در Kotlin برگردانده می شود ( b/128350861 )
  • FingerprintDialogFragment اکنون قابل استایل است ( b/127878106 )
  • FingerprintDialog اکنون قابل پیمایش است ( b/126367887 )
  • رفع اشکال که در آن چرخش گفتگوی بیومتریک یک IllegalStateException را ایجاد می کند ( b/124153656 )، ( b/123811924 )
  • اصلاح رفتار ناسازگار در سطوح API 23 تا 27. ( b/124066957 )
  • رفع مشکل مربوط به خواندن متن نادرست با استفاده از Talkback در کادر گفتگوی ورود اثر انگشت. ( b/123572331 )

نسخه 1.0.0-alpha04

3 آوریل 2019

androidx.biometric:biometric:1.0.0-alpha04 منتشر شد. commit های موجود در این نسخه را می توانید در اینجا بیابید.

رفع اشکال

  • قطعات بیومتریک ثابت در همه موارد پاک نمی شوند. ( b/121117380 )
  • BiometricPrompt ثابت فقط یک نمونه از BiometricPrompt.AuthenticationCallback را مجاز می‌کند ( b/123857949 )
  • رفتار خطای BiometricPrompt که بین نسخه های سیستم و کامپت ناسازگار بود، رفع شد. ( b/123572326 )
  • پاسخ به تماس ثابت onAuthenticationError() با @NotNull errString باعث NullPointerException در زمان اجرا می شود ( b/123167217 )
  • رفع مشکل androidx.BiometricPrompt Cancel button ( b/122054485 )
  • عنوان/توضیحات androidx.biometric.PromptInfo در Android P ( b/122856773 ) تغییر نکرده است.

نسخه 1.0.0-alpha03

17 دسامبر 2018

رفع اشکال

  • رفع مشکلات مربوط به قطعه
  • در دستگاه‌های O و قدیمی‌تر، خطاهای قفل بلافاصله برگردانده می‌شوند تا با P و بالاتر مطابقت داشته باشند