Из этой статьи вы узнаете, как интегрировать Oz Liveness Mobile SDK в клиентское мобильное приложение: для съемки видео с лицом и дальнейшей его проверки на сервере.
Oz Liveness Mobile SDK – это:
Готовый интерфейс для съемки видео, который легко встроить в приложение клиента.
Высокое качество видео, которое обеспечивает точность проверки Liveness.
«Под капотом» Oz SDK взаимодействует с OZ API.
Для интеграции необходимо связаться с нами для получения всех нужных ссылок и доступов:
Логин: ivan.ivanov@yourcompany.com
Пароль: …
API: https://sandbox.ohio.ozforensics.com
Web-консоль: https://sandbox.ohio.ozforensics.com
Для работы Oz Liveness Mobile SDK нужна лицензия, которая привязывается к bundle_id приложения, например com.yourcompany.yourapp. Тестовую лицензию на месяц вы можете оформить самостоятельно на нашем веб-сайте, если вам требуется лицензия на более длительный срок – свяжитесь с нами.
Мы также рекомендуем использовать наш сервис логирования – телеметрию. Записи телеметрии помогают в расследовании деталей атак. Для пользователей Oz API логирование подключается автоматически. Для локальных установок мы предоставим вам необходимые учетные данные.
OzLivenessSDK.INSTANCE.setApiConnection(
OzConnection.Companion.fromCredentials(host, username, password),
new StatusListener<String>() {
@Override
public void onStatusChanged(@Nullable String s) {}
@Override
public void onSuccess(String token) { /* token */ }
@Override
public void onError(@NonNull OzException e) { /* error */ }
}
);
На стадии продакшна рекомендуется использовать в коде не логин и пароль, а полученный с помощью метода авторизации на их основе токен доступа access_token. Передайте токен в приложение:
Готовые видео содержатся в объекте sdkMediaResult.
5. Запустите анализы
Для запуска анализов используйте код ниже. mediaList – массив объектов, полученных из sdkMediaResult или извне (если вы снимали видео без использования нашего SDK).
private void analyzeMedia(List<OzAbstractMedia> mediaList) {
new AnalysisRequest.Builder()
.addAnalysis(new Analysis(Analysis.Type.QUALITY, Analysis.Mode.SERVER_BASED, mediaList, Collections.emptyMap()))
.build()
.run(new AnalysisRequest.AnalysisListener() {
@Override public void onStatusChange(@NonNull AnalysisRequest.AnalysisStatus analysisStatus) {}
@Override
public void onSuccess(@NonNull List<OzAnalysisResult> list) {
for (OzAnalysisResult result: list) {
System.out.println(result.getResolution().name());
System.out.println(result.getFolderId());
}
}
@Override
public void onError(@NonNull OzException e) { e.printStackTrace(); }
});
}
iOS
1. Добавьте SDK в проект
Установите OZLivenessSDK через CocoaPods. Чтобы встроить SDK в проект Xcode, в Podfile добавьте:
pod 'OZLivenessSDK', :git => 'https://gitlab.com/oz-forensics/oz-liveness-ios', :tag => '<version>' // You can find the version needed in iOS changelog
2. Инициализируйте SDK
Переименуйте файл лицензии в forensics.license и поместите его в проект.
OZSDK(licenseSources: [.licenseFileName("forensics.license")]) { licenseData, error in
if let error = error {
print(error.errorDescription)
}
}
3. Подключите SDK к Oz API
Вам потребуются полученные от нас логин, пароль и адрес API-сервера.
OZSDK.setApiConnection(Connection.fromCredentials(host: “https://sandbox.ohio.ozforensics.com”, login: login, password: p)) { (token, error) in
// Your code to handle error or token
}
На стадии продакшна рекомендуется использовать в коде не логин и пароль, а полученный с помощью метода авторизации на их основе токен доступа access_token. Передайте токен в приложение:
OZSDK.setApiConnection(Connection.fromServiceToken(host: "https://api.sandbox.ozforensics.com", token: token)) { (token, error) in
}
4. Запустите съемку видео
Создайте контроллер, который будет снимать видео:
let actions: [OZVerificationMovement] = [.selfie]
let ozLivenessVC: UIViewController = OZSDK.createVerificationVCWithDelegate(delegate, actions: actions)
self.present(ozLivenessVC, animated: true)
В делегате используйте протокол OZLivenessDelegate:
let actions: [OZVerificationMovement] = [.selfie]
let ozLivenessVC: UIViewController = OZSDK.createVerificationVCWithDelegate(delegate, actions: actions)
self.present(ozLivenessVC, animated: true)
5. Запустите анализы
Для запуска анализов используйте AnalysisRequestBuilder. Метод run «под капотом» обратится к Oz API.
let analysisRequest = AnalysisRequestBuilder()
let analysis = Analysis.init(
media: mediaToAnalyze,
type: .quality,
mode: .serverBased)
analysisRequest.uploadMedia(mediaToAnalyze)
analysisRequest.addAnalysis(analysis)
analysisRequest.run(
scenarioStateHandler: { state in }, // обработчик шагов сценария
uploadProgressHandler: { (progress) in } // обработчик для загрузки файлов
) { (analysisResults : [OzAnalysisResult], error) in
// получение и обработка анализов
for result in analysisResults {
print(result.resolution)
print(result.folderID)
}
}
Шаги выше помогут вам в базовой интеграции наших мобильных SDK в ваше приложение. Чтобы получить доступ к снятым видео и результатам анализов, воспользуйтесь веб-консолью или API-запросами.
В руководстве разработчика вы также найдете инструкции по настройке внешнего вида SDK и список методов SDK как для iOS, так и для Android: