Додајте аутентификацију отиска прста својој апликацији, користећи БиометрицПромпт

Аутор: Lewis Jackson
Датум Стварања: 13 Може 2021
Ажурирати Датум: 1 Јули 2024
Anonim
Додајте аутентификацију отиска прста својој апликацији, користећи БиометрицПромпт - Апликације
Додајте аутентификацију отиска прста својој апликацији, користећи БиометрицПромпт - Апликације

Садржај


Користимо АПИ БиометрицПромпт да направимо апликацију која ће омогућити кориснику да потврди свој идентитет отиском прста.

Отворите Андроид Студио и креирајте нови пројекат, користећи предложак „Празно активност“. Када се то од вас затражи, поставите минимални СДК вашег пројекта на 28 или виши, јер ћете на тај начин спречити да се ваша апликација инсталира на било шта раније од Андроид Пие.

Ако желите да апликацију учините доступном широком спектру Андроид уређаја, требало би да проверите на којој је верзији Андроид тренутно инсталирана апликација, а затим другачије да управљате биометријском аутентификацијом, у зависности од нивоа АПИ-ја уређаја.

Додајте Биометријску библиотеку

За почетак отворите датотеку буилд.градле на нивоу модула и додајте најновију верзију Биометријске библиотеке као зависност пројекта:

зависности {имплементација андроидк.биометриц: биометриц: 1.0.0-алпха03

Додајте УСЕ_БИОМЕТРИЦ дозволу

БиометрицПромпт АПИ омогућава вам да употребите све различите методе биометричке аутентификације које уређај подржава, путем једне дозволе.


Отворите свој манифест пројекта и додајте дозволу „УСЕ_БИОМЕТРИЦ“:

Направите изглед апликације

Затим направимо изглед наше апликације. Додаћу једно дугме које ће, када се додирне, покренути дијалог за потврду отиска прста:

Отворите датотеку стрингс.кмл вашег пројекта и додајте извор „аутх“ стринга:

БиометрицПромптСампле Аутентификује се отиском прста

Провера идентитета корисника

А сад, погледајмо како ћете потврдити идентитет корисника користећи БиометрицПромпт.


Креирајте биометријску брзину

Класа БиометрицПромпт укључује класу пропратног Буилдер-а (), коју можете користити да креирате инстанцу БиометрицПромпт и покренете аутентификацију:

финал БиометрицПромпт.ПромптИнфо промптИнфо = нови БиометрицПромпт.ПромптИнфо.Буилдер ()

Када правите инстанцу БиометрицПромпт, мораћете да дефинишете текст који би се требао појавити у дијалогу за аутентификацију и прилагодити „негативно дугме“, што је дугме које кориснику омогућава да откаже аутентификацију.

Да бисте конфигурисали дијалог за потврду идентитета, мораћете да наведете следеће:

  • сетТитле. Назив одзивача за потврду отиска прста. (Потребан)
  • сетСубтитле. Поднаслов упита за потврду аутентичности отиска прста. (Опционо)
  • сетДесцриптион. Додатни опис који ће бити приказан у дијалогу за аутентификацију. (Опционо)
  • сетНегативеБуттон (текст, извршилац, слушалац). Ово је ознака негативног дугмета, на пример „Откажи“ или „Излаз“. Када конфигуришете негативно дугме, такође ћете морати да обезбедите инстанцу Извршитеља и ОнЦлицкЛистенер како би корисник могао да одбаци дијалог за проверу идентитета.

У време писања текста није било могуће прилагодити икону или грешку која се користи у дијалогу за потврду идентитета.

На крају, мораћете да позовете буилд (). То нам даје следеће:

финал БиометрицПромпт.ПромптИнфо промптИнфо = нови БиометрицПромпт.ПромптИнфо.Буилдер () .сетТитле ("Текст наслова иде овде") .сетСубтитле ("Поднаслов иде овде") .сетДесцриптион ("Ово је опис") .сетНегативеБуттонТект ("Откажи") .буилд ();

Бавите се повратним позивима за аутентификацију

Примјеру БиометрицПромпт додијељен је скуп метода повратног позива за провјеру аутентичности које ће обавијестити вашу апликацију о резултатима поступка провјере аутентичности.

Морате да спајате све ове повратне позиве у инстанцу класе БиометрицПромпт.АутхентицатионЦаллбацк:

финал БиометрицПромпт миБиометрицПромпт = нови БиометрицПромпт (активност, невЕкецутор, нови БиометрицПромпт.АутхентицатионЦаллбацк () {

Следећи корак је примена неких или свих следећих метода повратног позива:

1. онАутхентицатионСуццеедед ()

Ова метода се назива када се отисак прста успешно упореди са једним од отисака прстију регистрованих на уређају. У овом сценарију објект АутхентицатионРесулт се прослеђује повратном позиву онАутхентицатионСуццедед и ваша апликација ће тада извршити задатак као одговор на ову успешну аутентификацију.

Да бисмо вам олакшали ствари, наша апликација ће одговорити штампањем Логцат-а за Андроид Студио:

@Оверриде публиц воид онАутхентицатионСуццеедед (резултат @НонНулл БиометрицПромпт.АутхентицатионРесулт) {супер.онАутхентицатионСуццеедед (резултат); Лог.д (ТАГ, "Отисак прста успјешно препознат"); }

2. онАутхентицатионФаилед ()

Ова метода се покреће када се скенирање успешно заврши, али отисак прста не одговара ниједном отиску регистрованом на уређају. Опет, наша апликација ће одговорити на овај догађај аутентификације, штампањем а на Логцат:

@Оверриде публиц воид онАутхентицатионФаилед () {супер.онАутхентицатионФаилед (); Лог.д (ТАГ, "Отисак прста није препознат"); }

3. онАутхентицатионЕррор

Овај повратни позив покреће се кад год се догоди ненадокнадљива грешка и не може се успешно окончати аутентификација. На пример, можда је сензор осетљив на додир уређаја прекривен прљавштином или масноћом, корисник није регистровао отиске прстију на овом уређају или нема довољно меморије да би се извршила комплетна биометријска претрага.

Ево кода који ћу користити у својој апликацији:

@Оверриде јавно неважеће онАутхентицатионЕррор (инт еррорЦоде, @НонНулл ЦхарСекуенце еррСтринг) {супер.онАутхентицатионЕррор (еррорЦоде, еррСтринг); иф (еррорЦоде == БиометрицПромпт.ЕРРОР_НЕГАТИВЕ_БУТТОН) {} елсе {Лог.д (ТАГ, "Дошло је до неповратне грешке"); }}

4. онАутхентицатионХелп

Метода онАутхентицатионХелп позива се када год се догоди нефатална грешка и укључује код помоћи и а који пружају додатне информације о грешци.

Да бих код био једноставан, нећу користити онАутхентицатионХелп у нашој апликацији, али имплементација би изгледала овако:

@Оверриде публиц воид онАутхентицатионХелп (инт хелпЦоде, ЦхарСекуенце хелпСтринг) {супер.онАутхентицатионХелп (хелпЦоде, хелпСтринг); биометрицЦаллбацк.онАутхентицатионХелп (хелпЦоде, хелпСтринг); }

Коначно, морамо позвати методу аутентификација () за инстанцу БиометрицПромпт:

миБиометрицПромпт.аутхентицате (промптИнфо);

Примена Андроид Пие биометријске аутентификације

Након што завршите све горе наведене кораке, ваша МаинАцтивити треба изгледати овако:

импорт андроидк.аппцомпат.апп.АппЦомпатАцтивити; импорт андроидк.биометриц.БиометрицПромпт; импорт андроид.ос.Бундле; импорт јава.утил.цонцуррент.Екецутор; импорт јава.утил.цонцуррент.Екецуторс; импорт андроидк.фрагмент.апп.ФрагментАцтивити; импорт андроид.утил.Лог; импорт андроид.виев.Виев; импорт андроидк.аннотатион.НонНулл; МаинАцтивити јавне класе проширује АппЦомпатАцтивити {приватни статички коначни Стринг ТАГ = МаинАцтивити.цласс.гетНаме (); @Оверриде заштићен воид онЦреате (Бундле савеИнстанцеСтате) {супер.онЦреате (савеИнстанцеСтате); сетЦонтентВиев (Р.лаиоут.ацтивити_маин); // Створите низ нити са једним навојем // Екецутор невЕкецутор = Екецуторс.невСинглеТхреадЕкецутор (); Активност ФрагментАцтивити = ово; // Почните слушати догађаје провјере аутентичности // финални БиометрицПромпт миБиометрицПромпт = нови БиометрицПромпт (активност, невЕкецутор, нови БиометрицПромпт.АутхентицатионЦаллбацк () {@Оверриде // онАутхентицатионЕррор се позива када се догоди кобна грешка // јавна воид онАутхентицатионЕрлл (инАнтхентицатионЕрлл (ининттНервицеЦррор) ЦхарСекуенце еррСтринг) {супер.онАутхентицатионЕррор (еррорЦоде, еррСтринг); иф (еррорЦоде == БиометрицПромпт.ЕРРОР_НЕГАТИВЕ_БУТТОН) {} елсе {// Испиши у Логцат // Лог.д (ТАГ, "Дошло је до неповратне грешке")}}} // онАутхентицатионСуццеедед се зове када се отисак прста успјешно подеси // @Оверриде јавна воид онАутхентицатионСуццеедед (резултат @НонНулл БиометрицПромпт.АутхентицатионРесулт) {супер.онАутхентицатионСуццеедед (резултат); // Испис а на Логцат // Лог.д (ТАГ, "Фингерпринт препознато успешно ");} // онАутхентицатионФаилед се позива када се отисак прста не подудара // @Оверриде јавна неважећа онАутхентицатионФаилед () {супер.онАутхентицатионФаилед (); // Испис у дневник мачка // Лог.д (ТАГ, "Отисак прста није препознат"); }}); // Креирајте инстанцу БиометрицПромпт // финалну БиометрицПромпт.ПромптИнфо промптИнфо = нови БиометрицПромпт.ПромптИнфо.Буилдер () // Додајте неки текст у дијалог // .сетТитле ("Текст наслова иде овде") .сетСубтитле ("Поднаслов иде овде" ) .сетДесцриптион ("Ово је опис") .сетНегативеБуттонТект ("Откажи") // Састави дијалог // .буилд (); // Доделите онЦлицкЛистенер тастеру „Аутентификација“ // финдВиевБиИд (Р.ид.лаунцхАутхентицатион) .сетОнЦлицкЛистенер (нови Виев.ОнЦлицкЛистенер () {@Оверриде публиц воид онЦлицк (Прикажи в) {миБиометрицПромпт.аутхентицате} (промптИнфофоот; }); }}

Тестирање вашег пројекта

Сада сте направили свој пројекат, време је да га ставите на тест и видите да ли он заиста додаје аутентификацију отиска прста вашој апликацији!

Да бисте покренули овај пројекат, требаће вам физички паметни телефон или таблет са Андроид Пие рачунаром или Андроид виртуелни уређај (АВД) који користи прегледник Андроид П или новији.

На уређају ћете такође морати да региструјете бар један отисак прста. Ако користите физички Андроид уређај, онда:

  • Осигурајте свој закључани екран ПИН-ом, лозинком или обрасцем, ако га већ нисте (тако што ћете прећи на „Подешавања> Закључани екран и безбедност> Врста закључавања екрана> Узорак / Пин / Лозинка“, а затим следите упутства на екрану).
  • Покрените апликацију „Подешавања“ свог уређаја.
  • Изаберите „Закључани екран и сигурност“.
  • Изаберите „Скенер отиска прста“.
  • Следите упутства за регистрацију једног или више отисака прстију.

Андроид виртуелни уређаји немају физички сензор осетљивог на додир, па ћете морати да симулирате додирни догађај:

  • Покрените свој АВД, ако већ нисте.
  • Поред АВД-а видећете траку дугмади. Пронађите трочлано дугме „Више“ (где је курсор постављен на следећем снимку екрана) и кликните на њега. Ово отвара прозор „Проширене контроле“.
  • У прозору Ектендед Цонтролс изаберите „Фингерпринт.“ Отвара се скуп контрола на којима можете опонашати разне додирне догађаје.
  • Отворите падајући мени и изаберите отисак прста који желите да региструјете на овом уређају; Користим „Прст 1.“
  • А сад, преусмеримо пажњу на емулирани уређај. Покрените АВД-ову апликацију „Подешавања“ и изаберите „Сигурност и локација“.
  • Ако већ нисте поставили ПИН, лозинку или образац, одаберите „Блокада екрана“ и следите упутства на екрану да бисте осигурали свој брачни екран, а затим се вратите на главни екран „Подешавања> Безбедност и локација“.
  • Изаберите „Отисак прста“, а затим „Додавање отиска прста“.
  • Сада ћете бити упитани да прстом притиснете сензор додира. Уместо тога, наставите да кликнете „Додирните сензор“ док не видите „отисак прста“.

  • Кликните на „Готово“.
  • Ако желите да региструјете додатне отиске прстију, исперите и поновите горе наведене кораке.

Једном када региструјете најмање један отисак прста, спремни сте да апликацију поставите на тест. Тестирам како наша апликација обрађује три различита сценарија:

  • Корисник покушава да потврди идентитет регистрованим отиском прста.
  • Корисник покушава да потврди идентитет помоћу отиска прста који није регистрован на овом уређају.
  • Корисник покушава да потврди идентитет нерегистрованим отисцима прстију, више пута и брзо.

Покушајмо да потврдимо идентитет помоћу отиска прста који смо управо регистровали на нашем уређају:

  • Обавезно гледајте Логцат Монитор Андроид Студио-а, јер ће се овде појавити различити прикази апликације.

  • Инсталирајте апликацију на тест уређај.
  • Додирните дугме „Аутентификација са отиском прста“ ваше апликације. Појавиће се дијалог за потврду отиска прста.
  • Ако користите физички уређај, притисните и држите прст за додирни сензор уређаја. Ако користите АВД, користите тастер „Додирните сензор“ да бисте симулирали догађај додира.
  • Проверите Логцат Монитор. Ако је аутентификација успела, требало би да видите следеће: „Отисак прста успешно је препознат“

Затим погледајмо шта се дешава ако покушамо да потврдимо идентитет помоћу отиска прста који није регистрован на овом уређају:

  • Поново додирните дугме „Аутентификација са отиском прста“ апликације.
  • Ако користите АВД, а затим помоћу прозора "Ектендед Цонтролс" одаберите тај отисак прста није регистровани на овом уређају; Користим „Прст 2.“ Кликните на дугме „Додирните сензор“.
  • Ако користите физички Андроид паметни телефон или таблет, притисните и држите прст за додирни сензор уређаја - проверите да ли користите прст који није регистрован на овом уређају!
  • Проверите Логцат Андроид Студио, да би сада требало да приказује "отисак прста није препознат".

Као што је већ споменуто, АПИ БиометрицПромпт аутоматски рукује прекомерним неуспјелим покушајима аутентификације. Да бисте тестирали ову функционалност:

  • Додирните дугме „Аутентификација са отиском прста“ ваше апликације.
  • Покушајте да се потврди више пута у наглом приступу, користећи нерегистровани отисак прста.
  • Након неколико покушаја, дијалошки оквир би се аутоматски затворио. Проверите Логцат Андроид Студио и требало би да видите следеће: „Дошло је до ненадокнадиве грешке“.

Комплетну апликацију можете преузети са ГитХуб-а.

Окончање

У овом смо чланку истражили нови БиометрицПромпт АПИ за Андроид Пие, који вам омогућава да лако додате провјеру аутентичности отиска прста својој апликацији. Мислите ли да је БиометрицПромпт побољшање у претходним Андроидовим методама провјере аутентичности отиска прста? Јавите нам у коментарима испод!

Гоогле је недавно на блогу Андроид програмера објавио свој најновији редизајн Гоогле Плаи продавнице. Ово визуелно освежавање одликује се сјајнијим дизајном и ажурираним изгледом, побољшавајући целоку...

Упркос томе што су приходи од мобилних апликација већи него икад, нико не може оспорити да је искуство у трговини потрошачким апликацијама прилично страшно. У Апплеовој Апп Сторе ствари су нешто боље ...

Популарне Објаве