# Start

The general idea behide BiometridFull is implement Biometrid with UI. \
After initialize the SDK, is possible use the method below to start the UI screens to implement the app id used during initialization. \
If needed pass **mainViewController** to properly exit SDK **(recommended)**.

```swift
BiometridFull.getInstance().start(mainViewController: UIViewController?, callback: BiometridFullCallback)
```

Also it's possible to start with an open process id. Just use **withProcess** property.

```swift
BiometridFull.getInstance().start(withProcess: String?, mainViewController: UIViewController?, callback: BiometridFullCallback)
```

## Implementation example

```swift
import UIKit
import full_sdk_ios_wv
import BiometridStandardSDK

class ViewController: UIViewController, BiometridFullCallback {

    let BIOMETRIDFULL_API_URL = "https://biometrid.com/"     
    let BIOMETRIDFULL_APP = "b9901"
    let BIOMETRIDFULL_CREDENTIAL = "01"
    let BIOMETRIDFULL_APP_URL = "https://app.biometrid.com/"

    override func viewDidLoad() {
        super.viewDidLoad()
        BiometridFull.getInstance().initialize(apiUrl: BIOMETRIDFULL_API_URL, app: BIOMETRIDFULL_APP, 
            credential: BIOMETRIDFULL_CREDENTIAL, appUrl: BIOMETRIDFULL_APP_URL, customHeaders: nil, callback: self)
    }
    
    @IBAction func startBtn(_ sender: Any) {
        BiometridFull.getInstance().start(mainViewController: self, callback: self)
    }
    
    func initializeCallback(status: Bool, error: Errors?) {
        print("status init", status)
        if error != nil {
            print(error)
            return
        }
    }
    
    func processCreatedCallback(processId: String?) {
        print(processId)
    }
    
    func processFinishedCallback() {
        print("processFinishedCallback")
    }
    
    func interfaceStartedCallback() {
        print("interfaceStartedCallback")
    }
    
    func interfaceClosedCallback() {
        print("interfaceClosedCallback")
    }
}
```
