Cómo crear su primera app para las Rokid AI Glasses con cámara, voz y pantalla

Cómo crear su primera app para las Rokid AI Glasses con cámara, voz y pantalla

Resumen ejecutivo

El desarrollo de apps empresariales para las Rokid AI Glasses empieza por la documentación del Sprite Enterprise SDK de Rokid y su demo para Android. Las preguntas frecuentes para empresas remiten, en el caso del firmware empresarial, a Rokid AI Enterprise o a la demo empresarial. Android Studio es el entorno de programación; el Glasses SDK da acceso a las funciones del dispositivo y el Phone SDK da soporte a la aplicación Android emparejada.

Lo primero es la compatibilidad. Estas instrucciones públicas están pensadas para las Rokid Glass3 Enterprise. Una denominación comercial como «Rokid Enterprise RV101» no garantiza por sí sola la compatibilidad con el SDK. Obtenga confirmación por escrito para su hardware, firmware y región concretos, así como de los derechos comerciales de uso del SDK, antes de seguir los pasos de integración. Si Rokid le proporciona otro SDK empresarial para su dispositivo, utilice ese paquete y los ejemplos correspondientes.

El tutorial amplía la demo empresarial oficial para capturar una foto, mostrar un estado y probar notas dictadas. Se trata de un prototipo de desarrollo. Para subir un registro empresarial y gestionar una flota se necesitan el backend de su empresa y un método de distribución empresarial confirmado por separado.

Documentación del SDK empresarial: Abrir fuente oficial

Por qué crear una app personalizada para las Rokid AI Glasses

Una aplicación personalizada puede vincular las inspecciones de campo, el mantenimiento o las comprobaciones en almacén con la información que la empresa realmente necesita. Una breve indicación en pantalla le dice al trabajador qué hacer, la cámara recoge las evidencias y la entrada de voz puede reducir la necesidad de teclear en las tareas adecuadas.

El resultado útil es un registro empresarial fiable, con el ID correcto del activo o de la orden de trabajo y un estado de guardado claro. Cree primero el flujo de captura y revisión más sencillo posible y, después, conéctelo al sistema de operaciones una vez probados el comportamiento del hardware y el tratamiento de los datos.

Elija los componentes empresariales

Android Studio, JDK y Gradle:

  • Función: Editar, compilar y depurar proyectos Android.
  • Requisito empresarial: Utilice una estación de trabajo de desarrollo gestionada y la cadena de herramientas aprobada para el proyecto.

Sprite Enterprise Glasses SDK:

  • Función: Cámara, voz, lógica de aplicación relacionada con la pantalla y servicios del dispositivo.
  • Requisito empresarial: Requiere hardware y firmware empresariales compatibles; confirme las condiciones comerciales.

Sprite Enterprise Phone SDK:

  • Función: Emparejamiento, mensajería e intercambio de contenido multimedia con un teléfono Android.
  • Requisito empresarial: Utilícelo cuando su arquitectura incluya un teléfono gestionado por la empresa.

Rokid AI Enterprise o demo empresarial:

  • Función: Conexión empresarial y pruebas de desarrollo.
  • Requisito empresarial: Obtenga la compilación y las cuentas adecuadas a través del canal empresarial.

Backend de la empresa:

  • Función: Autenticación y almacenamiento de registros empresariales.
  • Requisito empresarial: Utilice endpoints, controles de acceso y normas de conservación aprobados.

Qué necesita antes de empezar

Prepare las gafas empresariales compatibles, un cable de depuración de datos para Glass3, un teléfono Android de pruebas, Android Studio, JDK 17, Git y la demo del SDK. Git descarga el código fuente, Gradle lo compila y un APK es el archivo de instalación de Android. Utilice las versiones de la configuración aprobada de la demo. La guía de inicio rápido (Quick Start) y las preguntas frecuentes de Rokid no coinciden en las versiones mínimas de Android, así que confirme el requisito con el paquete que le hayan proporcionado en lugar de elegir el valor más bajo.

Paso 1: confirme el dispositivo empresarial y el acceso

• Registre el dispositivo de destino. En las gafas, abra Ajustes y anote el modelo, la versión del sistema y el número de serie. Pida a Rokid que confirme que esta compilación es compatible con el Sprite Enterprise SDK y con los servicios de cámara y voz necesarios en este caso.

• Obtenga el paquete empresarial. Solicite Rokid AI Enterprise o la demo empresarial, la versión correspondiente del SDK y las credenciales empresariales a su proveedor o a su contacto en Rokid. Confirme los derechos de desarrollo y despliegue comercial; una descarga pública no resuelve por sí sola la cuestión de las licencias.

• Prepare la conexión. Cargue los dispositivos y conecte las gafas a la estación de trabajo con el cable de depuración de datos. Siga las instrucciones de incorporación empresarial proporcionadas para su compilación para preparar el teléfono gestionado y las gafas.

• Acuerde el flujo de datos. Decida dónde pueden procesarse y almacenarse las fotos y las notas dictadas. Utilice un entorno de pruebas de la empresa y material de prueba no sensible mientras valida la demo.

Requisitos del sistema y de la app empresariales: Abrir fuente oficial

Paso 2: abra y ejecute la demo empresarial para Android

• Descargue el código fuente. En un terminal de la estación de trabajo de desarrollo, ejecute el comando siguiente. Guarde la copia en la carpeta de desarrollo habitual de su equipo y anote su commit con git rev-parse HEAD.

git clone https://github.com/RokidSuuport/glass3_sdk_demo.git

• Abra los proyectos. En Android Studio, elija File > Open y seleccione glass3_sdk_demo/glassdemo. Abra glass3sdkphonedemo por separado para el teléfono. Espere a que termine la sincronización de Gradle y, a continuación, seleccione JDK 17 en Settings > Build, Execution, Deployment > Build Tools > Gradle.

• Compruebe las dependencias. En el panel Project, abra settings.gradle y app/build.gradle en cada proyecto. Mantenga la configuración funcional de la demo. Si se trata de un proyecto independiente basado en Groovy, combine estas entradas de repositorio y dependencias con los bloques existentes; no cree bloques duplicados. La Quick Start publicada indica la versión 2.2.0-E, pero utilice la versión aprobada para su firmware.

// settings.gradle, dentro de dependencyResolutionManagement {

repositories { maven { url 'https://maven.rokid.com/repository/maven-public/' }

}

}

// App de las gafas: app/build.gradle, dentro de dependencies dependencies {

implementation('com.rokid.security:glass3.open.sdk:2.2.0-E') {

exclude group: 'org.slf4j'

}

}

// Solo app del teléfono: app/build.gradle, dentro de dependencies dependencies {

implementation('com.rokid.security:phone.sdk:2.2.0-E') {

exclude group: 'org.slf4j'

}

}

• Configure e inicie. En el proyecto del teléfono, abra MainPhoneActivity y busque UserAuthInfo. Introduzca la AK y la SK emitidas para su empresa mediante una configuración local aprobada, fuera del control de versiones. Antes de ejecutar la demo de las gafas, abra HomeActivity.initSDK() y sustituya la llamada de ejemplo setCameraLedEnable(false) por setCameraLedEnable(true). Reinicie si lo exige el firmware del dispositivo. Ejecute primero la app del teléfono; después, seleccione las gafas en Android Studio y ejecute glassdemo. Conéctese desde la demo del teléfono y verifique la inicialización del SDK y el envío de un mensaje de texto antes de editar nada.

• Ajuste la configuración. La URL del repositorio descarga el ejemplo, no un instalador. Las dos dependencias pertenecen a aplicaciones distintas. Cambie las versiones a la vez y solo después de consultar las indicaciones de compatibilidad de Rokid; conserve los helpers de inicialización de la demo y las importaciones necesarias.

Configuración de la demo y rutas del código fuente: Abrir fuente oficial

Repositorio y dependencias del SDK: Abrir fuente oficial

Paso 3: haga que el primer control de captura sea claro

• Localice la pantalla. En el proyecto glassdemo, abra app/src/main/java/com/rokid/glass/SdkMediaActivity.kt. Su archivo de diseño se encuentra en app/src/main/res/layout/activity_test_media.xml. Se trata de una pantalla nativa de Android ya existente con controles de cámara, no de una página web.

• Edite primero un solo botón. En ese archivo XML, localice el elemento AppCompatButton existente con el ID android:id="@+id/btPhoto480P". Mantenga su ID original y sus restricciones de diseño para que el view binding de Kotlin existente (binding.btPhoto480P) siga funcionando sin romper referencias.

• El diseño original de la demo establece para el botón una anchura de 50dp y una altura de 36dp con una etiqueta de 10sp, lo que truncará el nuevo texto. Cambie solo los atributos que se muestran a continuación y deje el resto del elemento tal como está (el fondo, el color del texto, los márgenes y las dos líneas app: layout_constraint); sin sus restricciones, el botón pierde su posición en el ConstraintLayout:

XML

<androidx.appcompat.widget.AppCompatButton

android:id="@+id/btPhoto480P"

android:layout_width="120dp"

android:layout_height="wrap_content"

android:text="Capture"

android:contentDescription="Capture photo"

android:textSize="16sp" />

• Explicación de la etiqueta.

• android:text="Capture": Define la etiqueta visible que se muestra directamente en la pantalla.

• android:contentDescription="Capture photo": Proporciona una descripción de accesibilidad para lectores de pantalla y para la inspección de la jerarquía de la interfaz. Tenga en cuenta que definir contentDescription en los dispositivos Rokid no crea ni registra automáticamente un comando de voz; el control por voz requiere una integración explícita con el servicio de voz/comandos sin conexión del Sprite Enterprise SDK.

• android:textSize="16sp": Garantiza la legibilidad en la pantalla óptica monocular.

• Diseñe la pantalla de trabajo. Para la versión empresarial, mantenga una interfaz mínima: un indicador de estado claro, un único botón principal de captura y una vía definida para cancelar o revisar. Siga las indicaciones de Rokid sobre pantallas empresariales utilizando texto de alto contraste (como un texto verde legible superpuesto a escenas del mundo real) y no confíe únicamente en el color para señalar errores o estados de captura. Compruebe siempre la posición y el truncamiento del texto en la pantalla física de las gafas, en lugar de basarse solo en la vista previa del diseño de Android Studio.

Indicaciones de pantalla y diseño para empresas: Abrir fuente oficial

Paso 4: pruebe la entrada de voz empresarial

• Abra el ejemplo de voz. En el proyecto de las gafas, abra app/src/main/java/com/rokid/glass/SendMessageActivity.kt. Busque la rama R.id.btnOnlineAsr y la función speechCallback(token). ASR significa reconocimiento automático del habla (automatic speech recognition): convierte la voz en texto.

• Ejecute una sesión de voz. Utilice el control de ASR de la demo empresarial para iniciar una sesión. Conserve su token de sesión y la gestión de callbacks. El ejemplo utiliza ASR en la nube, que solo funciona una vez que la demo del teléfono ha inicializado el SDK con su AK y su SK, así que confirme el derecho de uso del servicio, el idioma admitido, el acceso a la red y las condiciones de tratamiento de datos empresariales antes de utilizar la voz de los trabajadores.

• Mantenga el texto final separado de los comandos. Dentro del bloque de entrega onAsrComplete existente, gestione el texto final con lógica de aplicación como la del ejemplo siguiente. Se trata de una inserción en el callback existente, no de un sustituto de la implementación completa de SpeechCallback. Guarda una nota para su revisión; no activa la cámara ni la subida.

// Añada este campo dentro de SendMessageActivity: private var pendingBusinessNote: String? = null

// Dentro del bloque existente de entrega del resultado final: pendingBusinessNote = content?.trim()?.takeIf { it.isNotEmpty() } // Muestre pendingBusinessNote en su interfaz de revisión antes de guardar.

• Añada comandos de forma deliberada. Para la captura manos libres, utilice el ejemplo empresarial de comandos sin conexión o un gestor de transcripción final validado y conectado a la pantalla de captura. Ambos deben llamar a la misma función de captura que utiliza el botón visible. Verifique la configuración de idioma y fonética con el SDK proporcionado. Una nota dictada es texto libre y no debe tratarse como un comando.

• Detenga y recupere. Conserve stopSpeech y la limpieza de la sesión del ejemplo para cuando la pantalla pase a segundo plano. Pruebe el silencio, la denegación del permiso de micrófono, la pérdida de red y las sesiones repetidas. Mantenga una alternativa mediante hardware o un control visible.

Ejemplo empresarial de ASR y comandos sin conexión: Abrir fuente oficial

Paso 5: añada el gestor de la cámara y la confirmación del resultado

• Reutilice la inicialización existente. Vuelva a SdkMediaActivity.kt. Mantenga la configuración del SDK, las importaciones y el callback de fotos de la demo. En initView(), sustituya solo el bloque binding.btPhoto480P.setOnClickListener por la llamada siguiente y, después, añada la función dentro de la misma clase Activity. Así se utilizan el enum de resolución 480P existente y la ubicación compartida Pictures de la demo.

binding.btPhoto480P.setOnClickListener { captureBusinessPhoto() }

private fun captureBusinessPhoto() { val service = GlassSdk.getGlassMediaService() if (service == null) { binding.btPhoto480P.text = "Unavailable" return } val folder = Environment.getExternalStoragePublicDirectory( Environment.DIRECTORY_PICTURES ) if (!folder.exists() && !folder.mkdirs()) { binding.btPhoto480P.text = "Storage error" return } val output = File(folder, "inspection_${System.currentTimeMillis()}.png") binding.btPhoto480P.text = "Capturing" try { service.takePhoto(PhotoResolution.RESOLUTION_480P, output.absolutePath) } catch (e: Exception) { binding.btPhoto480P.text = "Try again" } }

• Muestre el éxito desde el callback. Busque el objeto mPhotoFileCallback existente. Añada la función siguiente dentro de la Activity y, a continuación, llame a showBusinessPhoto(path) tanto desde onTakePhoto como desde onTakePhotoV2. Mantenga getCallbackId y el registro de callbacks existente. En mICameraStateLister.onCameraError, cambie el control a «Try again» en el hilo de la interfaz.

private var capturedBusinessPhoto: String? = null

private fun showBusinessPhoto(path: String) { runOnUiThread { if (!isFinishing && !isDestroyed) { capturedBusinessPhoto = path binding.btPhoto480P.text = "Captured" } } }

• Comprenda y personalice. takePhoto solicita una captura; su callback proporciona la ruta del archivo. Captured significa que existe un archivo local, no que se haya guardado un registro empresarial. En esta pantalla de desarrollo, ensanche el botón para el texto de estado. En la pantalla de producción, utilice una vista de estado independiente. Cambie PhotoResolution solo a valores compatibles con su SDK y verifique el encuadre y las dimensiones reales del resultado.

• Gestione los permisos y el ciclo de vida. Utilice el flujo de permisos de la demo antes de la captura. La cámara y el micrófono necesitan declaraciones en el manifiesto y la autorización en tiempo de ejecución que corresponda. Mantenga removePhotoCallback y removeMediaStateLister en la limpieza existente de onDestroy de la Activity. Añada una protección contra capturas pendientes y un tiempo de espera antes de conectar la voz, para que los eventos repetidos no produzcan capturas duplicadas.

• Elija un almacenamiento seguro. La demo utiliza almacenamiento compartido, lo que puede exponer las fotos de prueba a otro software del dispositivo. Valide con Rokid el acceso al servicio y un diseño de almacenamiento adecuado antes de procesar registros reales. Defina la eliminación tras la revisión, la subida o la cancelación. No dé por hecho que el servicio de cámara independiente del SDK pueda escribir en el directorio privado de la app.

Ejemplo multimedia empresarial: Abrir fuente oficial

Código fuente de cámara correspondiente e importaciones: Abrir fuente oficial

Permisos en tiempo de ejecución de Android: Abrir fuente oficial

Paso 6: conecte el prototipo a un flujo de trabajo empresarial

• Defina el registro. Acuerde con el responsable del sistema empresarial el ID del activo, el ID de la orden de trabajo, la identidad del operario, el formato de la foto, el campo de nota, el endpoint y el tamaño de archivo aceptado. Utilice una cuenta de pruebas gestionada por la empresa. Una ruta de archivo local no puede enviarse al backend como si fuera la propia imagen.

• Implemente la revisión antes de la subida. Cree una pantalla de revisión que contenga la foto capturada y la nota final. Añada los controles Confirmar y Cancelar. Solo Confirmar debe iniciar la subida. Cancelar debe borrar el registro pendiente y aplicar la política de eliminación acordada.

• Especifique la solicitud. Implemente la API de la empresa en la app del teléfono o de las gafas que se encargue de la subida. Envíe los bytes de la foto con los metadatos y la autenticación acordados. Utilice una operación de red en segundo plano, un ID de envío único y un número limitado de reintentos. Mantenga las credenciales de larga duración en el backend; determine con el departamento de TI el flujo de autenticación de cliente compatible.

• Muestre el estado correcto. Utilice los estados Ready, Capturing, Captured, Review, Uploading, Saved y Retry. Pase a Saved solo tras una respuesta correcta del servidor con un ID de registro. El código de ejemplo de este tutorial llega hasta la captura local y la recogida de notas; la subida requiere su contrato de API y su implementación reales.

Paso 7: verifique en el hardware empresarial

• Compile y ejecute. Desde el directorio glassdemo, utilice el comando siguiente o el control Run de Android Studio con las gafas compatibles seleccionadas. En Windows, utilice gradlew.bat assembleDebug. Resuelva los errores de Gradle antes de probar en el dispositivo; un emulador de Android estándar no permite validar los servicios del dispositivo Rokid.

./gradlew assembleDebug

• Pruebe la captura y la limpieza. Seleccione el control de captura. Verifique el archivo resultante, la legibilidad del estado, la ruta de error de la cámara y la denegación de permisos. Salga de la pantalla, vuelva a abrirla y compruebe que los callbacks se eliminan y se vuelven a registrar sin resultados duplicados. Confirme que el indicador de la cámara permanece activo durante la captura.

• Pruebe la voz por separado. Dicte una nota de prueba breve, compruebe el texto final y cancele. Repita la prueba con ruido representativo del lugar de trabajo y en cada idioma aprobado. Si añade comandos, pruebe frases no relacionadas y enunciados repetidos frente a la protección contra capturas duplicadas.

• Pruebe la compilación integrada. Una vez implementada la subida, pruebe desconexiones, tiempos de espera agotados, accesos revocados y confirmaciones repetidas. Compruebe que una solicitud fallida no muestra Saved y que reintentar el mismo envío no crea otro registro.

Paso 8: empaquete y despliegue a través del canal empresarial

• Prepare una versión. Sustituya la marca de la demostración y elimine las funciones de ejemplo no relacionadas y las credenciales de prueba. Revise con Rokid las condiciones de reutilización del SDK y del ejemplo. Utilice nombres de paquete, versiones y credenciales de firma controlados por la empresa.

• Genere un APK firmado. En Android Studio, abra Build > Generate Signed Bundle / APK, elija APK, seleccione el almacén de claves de la empresa y compile la variante release. Guarde la clave de firma de forma segura: las actualizaciones posteriores deberán usar la identidad de firma correcta.

• Confirme la instalación privada. Utilice la vía de instalación y gestión de aplicaciones que Rokid confirme para su firmware empresarial. Obtenga el método de distribución de APK compatible, el aprovisionamiento de cuentas y el procedimiento de actualización y reversión. No dé por hecho que el software genérico de gestión de dispositivos Android sea compatible con este modelo de gafas.

• Haga un piloto y vuelva a probar. Despliegue en un grupo gestionado reducido, mida la calidad de captura, la precisión del reconocimiento y el tiempo de respuesta, y vuelva a probar tras cualquier cambio en el SDK o el firmware. Registre las versiones de compilación y conserve un paquete de reversión funcional antes de ampliar el despliegue.

Firma de aplicaciones Android: Abrir fuente oficial

Errores comunes que conviene evitar

• Tomar el nombre de un producto como prueba de compatibilidad. Compruebe el firmware empresarial real y la versión compatible del SDK antes de la implementación.

• Distribuir la demo sin cambios. El ejemplo demuestra capacidades. Su almacenamiento multimedia compartido, sus frases de ejemplo y sus funciones no relacionadas deben revisarse antes de un despliegue empresarial.

• Confundir captura con guardado. Una foto local y una transcripción no son una orden de trabajo guardada. Confirme el registro en el backend antes de indicar que la operación se ha completado con éxito.

Conclusión

Una aplicación empresarial útil para Rokid empieza con hardware empresarial y acceso al SDK confirmados, una demo de Android que funcione y un flujo de captura y revisión reducido. A continuación, los desarrolladores añaden indicaciones claras en pantalla, una entrada de voz validada y la integración autenticada con el backend de la empresa. Las pruebas en el dispositivo de destino y el despliegue a través del canal empresarial compatible convierten el prototipo en una herramienta que puede mejorar la documentación de campo y reducir la introducción manual de datos.

João Noronha

Escrito por

João Noronha

Especialista en XR y Contenido Inmersivo en VR Expert

João Noronha es Especialista en XR y Contenido Inmersivo en VR Expert, con un gran interés por las tecnologías emergentes y sus aplicaciones en el mundo real. Se dedica a transformar los avances complejos en VR, AR, gafas de IA y tecnología inmersiva en contenido claro y práctico para empresas y profesionales que exploran el sector XR.

Preguntas frecuentes

Este artículo

Utilice la documentación del Sprite Enterprise SDK, Android Studio y la demo empresarial correspondiente después de confirmar la compatibilidad del hardware y el acceso comercial. Utilice Rokid AI Enterprise cuando lo exija el proceso de incorporación proporcionado.

No. Confirme con Rokid la correspondencia entre modelo y firmware. La documentación pública del SDK utilizada aquí menciona las Glass3 Enterprise.

Sí. El desarrollo nativo para Android requiere configurar Gradle, código en Kotlin o Java y XML u otro framework de interfaz de Android. Esta guía muestra qué partes de la demo empresarial hay que modificar.

No. Describe un control. La activación por voz requiere la integración de comandos o eventos de voz compatible con el SDK empresarial.

El comportamiento local depende de los servicios del dispositivo y de la configuración del SDK. La vía de ASR en la nube documentada requiere conectividad. Pruebe por separado cualquier configuración de comandos sin conexión; la subida a un servidor también requiere su correspondiente conexión de red.

Es una modificación específica de la demo, contrastada con el código fuente documentado, no una compilación de producción probada en hardware. Añada protecciones de captura, gestión de tiempos de espera, revisión, almacenamiento seguro e integración con el backend antes del despliegue.