BarcodeScanner

Estoy construyendo una app con ionic 6, capacitor 5 y angular 15 para leer códigos qr, veo que en la documentación de ionic para la versión 6 no hay un plugin para utilizar el barcodeScanner que es esta en versiones anteriores, he buscado plugins y librerías realizadas por la comunidad pero ninguna me sirve, alguno en la comunidad sabrá que librería o plugin me pueda servir para ello, o definitivamente tendré que cambiar las versiones del proyecto ?

deberías usar un traductor. ampliará su búsqueda de ayuda.

You’ve tried Capacitor ML Kit Barcode Scanning Plugin - Capawesome? That seems to be the go to plugin. QR Codes are supported.

As a side note, it is probably a good idea to use Ionic v7 (though unrelated to this) :smile:

2 Likes

Muchas gracias @twestrick, me has salvado la APP

1 Like

@twestrick y comunidad buenos días
el día de ayer terminé mi app, y quedó corriendo correctamente, hoy me entero que no permite scanear y miro el error y me sale lo siguiente

The Google Barcode Scanner Module is not available. You must install it first.

yo instalé y probé todo antes de crear un APK, sabes porque puede suceder esto. te comparto el código que cree para ello. por si me puede dar una orientada con el tema

método

async scan(){
try {
const { barcodes } = await BarcodeScanner.scan();
if (barcodes.length > 0) {
this.NumFac = barcodes[0].rawValue.substring(8, 16);
this.barcodes.push(…barcodes);
}
}
catch (error){
this.authService.presentToast(‘Error al escanear:’);
console.log(‘error al abrir scanner’, error);
}
}

y las líneas agregadas en el manifest

y la etiqueta meta dentro de la seccion de aplicattion

como dice la documenión

pero hoy me encuentro que ya no funciona, sabe alguno el porque

See Capacitor ML Kit Barcode Scanning Plugin - Capawesome.

isGoogleBarcodeScannerModuleAvailable()

isGoogleBarcodeScannerModuleAvailable() => Promise<IsGoogleBarcodeScannerModuleAvailableResult>

Check if the Google Barcode Scanner module is available.

If the Google Barcode Scanner module is not available, you can install it by using installGoogleBarcodeScannerModule().

Only available on Android.

Yes, I saw that function
but it only serves to send a message whether it is available or not, and I do that from the error capture.
What I notice is a dependency of the plugin on whether it is available on Google and thus things would depend exclusively on it to work

Anyway, you are very kind for answering my question, very grateful.

Did you see this section?

Yes sr, you are absolutely right, although in my situation it was not the case, it turns out that the plugin does not work for Android versions 11 or lower, I am going to search the repository to see which version is compatible for these versions.
Thank you again very much for the help provided. greetings !

Hello AuxSistemasLitoral, I’m asking you, I’m developing an app and they will surely use it with versions of Android 11 or lower (I’m testing on Android 9 and I can’t get it to work). I see you encountered the same situation, how did you solve it?

I have the same setup as you and used @awesome-cordova-plugins/barcode-scanner
it works as a charm

Hello twestrick, do you know if it works on Android versions 9?

No idea. I haven’t used the plugin myself. minSdkVersion is set to 22 (source) which is Android 5. That’s all I can say.

1 Like

Do you use capacitor and cordova in the same project?

No, @awesome-cordova-plugins are same as old cordova plugins but are normal npm packages which work with ionic capacitor projects

Hola @javierparrait yo descargué android studio y luego los sdk para la versión 9 con la api 28 que la api para esa versión y con ellos pude construir mi app para versiones 9 y con ese mismo he probado para versiones 13, la verdad no sé si me corra en android 11

1 Like

hola @octasolutions yo aún estoy peleando con eso, mi lector me funciona pero solo me lee qr que contiene un string debo de leer qr cuyo contenido es un JSON y no he encontrado la forma. Si sabes como hacerlo te lo agradecería mucho

Whats an example of JSON you want to encode in the barcode?

ejemplo, mi qr contiene algo como lo siguiente
NumFac: LV43338
FecFac: 2024-04-16
HorFac: 08:43:48-05:00
NitFac: 800047489
DocAdq: 890900608
ValFac: 338016.00
ValIva: 16900.80
ValOtroIm: 211584.00
ValTolFac: 566500.80
CUFE: 7950ccd0f2edb8ea650dcd84a21a5d5b90aa7584b8f800ac3a5c69c3cb4d8335f46c8f820ef60d7b1a6a34e3ecbda82e

y no lo lee, pero si yo leo un qr que contenga un link, por ejemplo

google.com ese valor si lo toma