Aitor Sánchez - Blog - Nov. 1, 2023, 10:23 a.m.
¿Pensando en incluir un sistema de dictado en tu aplicación? O, quizás ya sabes cómo utilizar el componente Speech Recognition Ionic en tu app, pero te falta algún detalle para hacerlo funcionar cómo tú quieres ¿verdad?
Mi nombre es Aitor Sánchez, soy desarrollador de apps desde 2014, y en este artículo vas a aprender a implementar un sistema de dictado con el componente Speech Recognition Ionic en tu aplicación.
Pero antes de continuar, esta es la Flutter Mafia. Es mi newsletter donde tu vas a aprender a hacer apps y a ganar dinero con ellas junto con otros genietes que ya están dentro. Y si te suscribes te regalo mi ebook "Duplica los ingreso de tus apps en 5 minutos" No es broma, quizás te interese.
Y ahora si, comenzamos. Let´s go!
Cómo cualquier componente desacoplado del core del sistema, necesita una instalación. Para ello vamos a usar las dos siguientes líneas de consola:
$ ionic cordova plugin add cordova-plugin-speechrecognition
$ npm install @awesome-cordova-plugins/speech-recognition
La primera línea de código instalará el plugin que permitirá la comunicación con la parte nativa del sistema. Y la segunda, permitirá la comunicación entre nuestro código y el plugin.
SI estás en una versión de Ionic 4 o superior, y estás usando el módulo NGX, no es necesario que realices esta parte. De lo contrario necesitamos incluir este servicio en los providers de nuestro módulo. Lo podemos hacer así:
...
import { SpeechRecognition } from "@awesome-cordova-plugins/speech-recognition/ngx"
...
providers: [
...,
SpeechRecognition,
...
]
...
En este caso me pasa lo mismo que en el de Text To Speech. Y es, que me parece rarísimo que no haya soporte para plataforma PC. Pero bueno, estas son las disponibles:
Bueno, llegados a este punto siempre me gusta incluir un ejemplo antes para que así nos sea más didáctico el aprendizaje. Vamos a ello…
import { SpeechRecognition } from '@awesome-cordova-plugins/speech-recognition/ngx';
constructor(private speechRecognition: SpeechRecognition) { }
...
// Check feature available
this.speechRecognition.isRecognitionAvailable()
.then((available: boolean) => console.log(available))
// Start the recognition process
this.speechRecognition.startListening(options)
.subscribe(
(matches: Array<string>) => console.log(matches),
(onerror) => console.log('error:', onerror))
// Stop the recognition process (iOS only)
this.speechRecognition.stopListening()
// Get the list of supported languages
this.speechRecognition.getSupportedLanguages()
.then(
(languages: Array<string>) => console.log(languages),
(error) => console.log(error))
// Check permission
this.speechRecognition.hasPermission()
.then((hasPermission: boolean) => console.log(hasPermission))
// Request permissions
this.speechRecognition.requestPermission()
.then(
() => console.log('Granted'),
() => console.log('Denied'))
Y una vez visto el ejemplo, ya estamos en disposición de explicar el resto. Aunque también te digo, que ya hemos visto casi toda la clase :)
Ahora les toca el turno a las funciones. La verdad que nos son muchas así que no me extenderé mucho.
Mira, en el momento que tu mejoras el logo de una app que tengas publicada en Google Play, las descargas y los ingresos que esta aplicación genera aumentan. Esto es así. Mejor logo es igual a más dinero.
Basándonos en esto, hemos creado esta herramienta que te permite evaluar, optimizar y mejorar los logos de tus apps para que reciban más descargas. No te quiero espoilear, dentro hay un video explicativo. Entra en el enlace.