BlinkID / blinkid-android

Everything you need to add AI-driven ID scanning into your native Android app.
https://microblink.com/identity/identity-document-scanning/
438 stars 153 forks source link

Expose `com.microblink.view.recognition.DetectionStatus` #270

Closed Sevastyan closed 2 years ago

Sevastyan commented 2 years ago

Description

I am using a direct API for recognition and want to get callbacks with com.microblink.view.recognition.DetectionStatus. This is not possible at the moment.

Please, expose it.

anjapenic commented 2 years ago

Hi @Sevastyan,

The DetetectionStatus is used with live camera scanning and can't be used when sending pictures to DirectAPI. Could you share with us what exactly would you like to detect so we could check if there's another solution we could suggest?

Best regards, Anja

Sevastyan commented 2 years ago

@anjapenic Thank you for a prompt response. I aim to develop a typical universal document scanner (using combined BlinkIdCombinedRecognizer, expected documents will be passports, ID cards, drivers licenses and visas) and want to have a bit more live feedback for the user. You already expose onGlare callback, so why there is no callback for DetectionStatus, which seems to be from the same category of a live feedback (CAMERA_AT_ANGLE, CAMERA_TOO_NEAR, etc.)?

anjapenic commented 2 years ago

Hi @Sevastyan,

You can check RecognitionSuccessType and ProcessingStatus if that works for you. As stated above, DetectionStatus is used when SDK is detecting documents during live scanning and can't be used when processing static images via DirectAPI.

Best regards, Anja

Sevastyan commented 2 years ago

@anjapenic I don't think you understand my question. Why there is onGlare callback and no callback for "camera too near" situation? Semantically, these two are of the same category and I think MetadataCallbacks should contain the same information as DetectionStatus provides. Otherwise, you are forcing developers to use your solution with your own camera imagery management, undermining your own "Direct API" in terms of features. If there is a concrete technical reason that makes reporting DetectionStatus via MetadataCallbacks impossible, I'd like to hear it. But I doubt there is one, hence my inquiry.

All in all, it seems to me, that API is a bit random and needs consolation across "Direct API" and out-of-the-box solution with Android Activities and Fragments.