> For the complete documentation index, see [llms.txt](https://docs.facephi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.facephi.com/docs.facephi-en/sdks/sdk-mobile/framework-plugins/react-native/componentes/phingers.md).

# Fingerprint Capture - Phingers

Its main features are as follows:

* Two operating modes: extraction of the four fingers of the hand (except the thumb), or extraction of only the thumb.
* Internal camera management.
* Permission management.
* Built-in liveness detection.
* Assistant in the fingerprint capture processes.
* Generation of templates with fingerprint features, images, and scores.

## Dependencies <a href="#id-2-dependencia" id="id-2-dependencia"></a>

### React Native:

```swift
npm install @facephi/sdk-phingers-react-native@<Version>
```

### Android - Gradle:

```kotlin
implementation "com.facephi.androidsdk:phingers_tf_component:$version"
```

### iOS - CocoaPods:

```swift
s.dependency 'FPHISDKPhingersTFComponent', '~> $version'
```

## phingers method <a href="#id-4-lanzamiento-simplificado" id="id-4-lanzamiento-simplificado"></a>

Once the SDK has been initialized and a new operation has been created, the component can be launched. Any of its controllers can be used to execute its functionality.

Fingerprint reader launch:

```dart
export function phingers(config: PhingersConfiguration): Promise<PhingersResult> {
  return SdkPhingers.phingers(config);
}
```

## Basic configuration <a href="#id-5-configuracion-basica" id="id-5-configuracion-basica"></a>

To launch the current component, an object must be created ***PhingersConfiguration*** which will be the configuration of the component controller.

The basic configuration required for it is as follows:

```typescript
 export interface PhingersConfiguration 
 {
  fingersFilter?: FingersFilter;
  reticleOrientation: ReticleOrientation;
  fingerSelectorHandOrientation?: PhingerSelectorHandOrientation;
  fingerSelectorOptions?: string[];
  showEllipses?: boolean;
  useLiveness?: boolean;
  showTutorial?: boolean;
  extractionTimeout?: number;
  vibration?: boolean;
  showDiagnostic?: boolean;
  threshold?: number;
  showPreviousTip?: boolean;
  showPreviousFingerSelector?: boolean;
}
```

{% content-ref url="/pages/2051261c1066d5415a2d683389692096913b6ef1" %}
[Phingers Configuration](/docs.facephi-en/sdks/sdk-mobile/framework-plugins/extras/phingers/phingers-configuracion.md)
{% endcontent-ref %}

### Advanced component configuration

Below are all the fields that are part of this class.

## Receiving the result <a href="#id-6-recepcion-del-resultado" id="id-6-recepcion-del-resultado"></a>

The launch will return the information in ***PhingersResult***. Being able to distinguish between a successful and an unsuccessful launch:

```typescript
export interface PhingersResult 
{
  finishStatus: number;
  finishStatusDescription?: string;
  errorType: string;
  errorMessage?: string;
  fingers?: any;
  slapImages?: any;
}
```

Below are all the fields that are part of this class.

{% content-ref url="/pages/51a03f45cc58b9f386b33d31ac2cbe04db1bb118" %}
[Phingers Result](/docs.facephi-en/sdks/sdk-mobile/framework-plugins/extras/phingers/phingers-resultado.md)
{% endcontent-ref %}
