# 2. SDK Integration

**Init record SDK**

| Param     | Type   | Description    |
| --------- | ------ | -------------- |
| appId     | String | Application id |
| secretKey | String | IOE secret key |

* After successful initial, the SDK returns a status resulting in the `onSuccess()` callback. Handling of successful initial here.
* When initial fails, it will be processed at callback `onFail()`.

```kotlin
FTechIOEManager.initRecord(appId, secretKey, new IFTechIOECallback<Boolean>() {
            @Override
            public void onSuccess(Boolean info) {
                
            }

            @Override
            public void onFail(APIException error) {
                
            }

            @Override
            public void onCancel() {
                
            }
        });
```

**Register recording callback**

After registration, the SDK will return the corresponding status in the callback

<table><thead><tr><th width="249">Status</th><th>Description</th></tr></thead><tbody><tr><td>onStart</td><td>Called at start record</td></tr><tr><td>onRecording</td><td>Called while in process recording</td></tr><tr><td>onFail</td><td>Called when an error occurs in process recording</td></tr><tr><td>onComplete</td><td>Called when completed record process and return evaluate result</td></tr></tbody></table>

```kotlin
FTechIOEManager.registerRecordingListener(new IFTechRecordingCallback() {
            @Override
            public void onStart() {

            }

            @Override
            public void onRecording() {

            }

            @Override
            public void onFail(@NonNull APIException error) {

            }

            @Override
            public void onComplete(@NonNull StopRecordIOEResponse result) {

            }
        });
```
