Resumo executivo
O desenvolvimento de aplicações empresariais para os Rokid AI Glasses começa com a documentação do Sprite Enterprise SDK da Rokid e a respetiva demo para Android. As FAQ empresariais remetem o firmware empresarial para o Rokid AI Enterprise ou para a demo empresarial. O Android Studio é o ambiente de programação; o Glasses SDK disponibiliza as capacidades do dispositivo e o Phone SDK suporta a aplicação Android emparelhada.
A compatibilidade vem primeiro. Estas instruções públicas destinam-se aos Rokid Glass3 Enterprise. Uma designação comercial como «Rokid Enterprise RV101» não comprova, por si só, a compatibilidade com o SDK. Obtenha confirmação por escrito relativa ao seu hardware, firmware, região e direitos comerciais sobre o SDK exatos antes de seguir os passos de integração. Se a Rokid fornecer um SDK empresarial diferente para o seu dispositivo, utilize esse pacote e os exemplos correspondentes.
O tutorial expande a demo empresarial oficial para capturar uma fotografia, mostrar um estado e testar notas ditadas. Trata-se de um protótipo de desenvolvimento. O envio de um registo empresarial e a gestão de uma frota exigem o backend da sua empresa e um método de distribuição empresarial confirmado à parte.
Documentação do Enterprise SDK: Abrir fonte oficial
Porquê criar uma aplicação personalizada para os Rokid AI Glasses
Uma aplicação personalizada pode ligar inspeções no terreno, manutenção ou verificações em armazém às informações de que a empresa realmente precisa. Uma breve indicação no ecrã diz ao trabalhador o que fazer, uma câmara capta provas e a entrada de voz pode reduzir a escrita em tarefas adequadas.
O resultado útil é um registo empresarial fiável, com o ID correto do ativo ou da ordem de trabalho e um estado de gravação claro. Crie primeiro o fluxo mínimo de captura e revisão e, depois de testar o comportamento do hardware e o tratamento dos dados, ligue-o ao sistema operacional.
Escolher os componentes empresariais
Android Studio, JDK e Gradle:
- Função: Editar, compilar e depurar projetos Android.
- Requisito empresarial: Utilize uma estação de trabalho de desenvolvimento gerida e a cadeia de ferramentas aprovada para o projeto.
Sprite Enterprise Glasses SDK:
- Função: Câmara, voz, lógica da aplicação relacionada com o ecrã e serviços do dispositivo.
- Requisito empresarial: Requer hardware e firmware empresariais suportados; confirme as condições comerciais.
Sprite Enterprise Phone SDK:
- Função: Emparelhamento, troca de mensagens e de multimédia com um telemóvel Android.
- Requisito empresarial: Utilize quando a sua arquitetura incluir um telemóvel gerido pela empresa.
Rokid AI Enterprise ou demo empresarial:
- Função: Ligação empresarial e testes de desenvolvimento.
- Requisito empresarial: Obtenha a versão e as contas adequadas através do canal empresarial.
Backend da empresa:
- Função: Autenticação e armazenamento de registos empresariais.
- Requisito empresarial: Utilize endpoints, controlos de acesso e regras de retenção aprovados.
O que precisa antes de começar
Prepare os óculos empresariais suportados, um cabo de dados e depuração Glass3, um telemóvel Android de teste, o Android Studio, o JDK 17, o Git e a demo do SDK. O Git descarrega o código-fonte; o Gradle compila-o; um APK é o ficheiro de instalação Android. Utilize as versões da configuração aprovada da demo. O Quick Start e as FAQ da Rokid divergem quanto às versões mínimas do Android, por isso confirme o requisito com base no pacote que lhe foi fornecido, em vez de escolher o valor mais baixo.
Passo 1: confirmar o dispositivo empresarial e o acesso
• Registe o alvo. Nos óculos, abra as Definições e anote o modelo, a versão do sistema e o número de série. Peça à Rokid que confirme que esta versão suporta o Sprite Enterprise SDK e os serviços de câmara e de voz aqui necessários.
• Obtenha o pacote empresarial. Solicite o Rokid AI Enterprise ou a demo empresarial, a versão correspondente do SDK e as credenciais empresariais ao seu fornecedor ou contacto na Rokid. Confirme os direitos comerciais de desenvolvimento e implementação; uma transferência pública, por si só, não resolve a questão do licenciamento.
• Prepare a ligação. Carregue os dispositivos e ligue os óculos à estação de trabalho com o cabo de dados e depuração. Siga as instruções de integração empresarial fornecidas para a sua versão para preparar o telemóvel gerido e os óculos.
• Defina o fluxo de dados. Decida onde as fotografias e as notas ditadas podem ser processadas e armazenadas. Utilize um ambiente de teste da empresa e material de teste não sensível durante a validação da demo.
Requisitos do sistema e da aplicação empresariais: Abrir fonte oficial
Passo 2: abrir e executar a demo empresarial para Android
• Descarregue o código-fonte. Num terminal da estação de trabalho de desenvolvimento, execute o comando abaixo. Guarde o checkout na pasta de desenvolvimento habitual da sua equipa e registe o respetivo commit com git rev-parse HEAD.
git clone https://github.com/RokidSuuport/glass3_sdk_demo.git
• Abra os projetos. No Android Studio, escolha File > Open e selecione glass3_sdk_demo/glassdemo. Abra o glass3sdkphonedemo separadamente para o telemóvel. Aguarde pela sincronização do Gradle e, em seguida, selecione o JDK 17 em Settings > Build, Execution, Deployment > Build Tools > Gradle.
• Verifique as dependências. No painel Project, abra settings.gradle e app/build.gradle em cada projeto. Mantenha a configuração funcional da demo. Num projeto separado baseado em Groovy, integre estas entradas de repositório e de dependências nos blocos existentes; não crie blocos duplicados. O Quick Start publicado indica a versão 2.2.0-E, mas utilize a versão aprovada para o seu firmware.
// settings.gradle, dentro de dependencyResolutionManagement {
repositories { maven { url 'https://maven.rokid.com/repository/maven-public/' }
}
}
// Aplicação dos óculos: app/build.gradle, dentro de dependencies dependencies {
implementation('com.rokid.security:glass3.open.sdk:2.2.0-E') {
exclude group: 'org.slf4j'
}
}
// Apenas aplicação do telemóvel: app/build.gradle, dentro de dependencies dependencies {
implementation('com.rokid.security:phone.sdk:2.2.0-E') {
exclude group: 'org.slf4j'
}
}
• Configure e inicie. No projeto do telemóvel, abra MainPhoneActivity e localize UserAuthInfo. Forneça a AK e a SK emitidas para a empresa através de uma configuração local aprovada, fora do controlo de versões. Antes de executar a demo dos óculos, abra HomeActivity.initSDK() e substitua a chamada de exemplo setCameraLedEnable(false) por setCameraLedEnable(true). Reinicie conforme exigido pelo firmware do dispositivo. Execute primeiro a aplicação do telemóvel e, em seguida, selecione o dispositivo dos óculos no Android Studio e execute glassdemo. Estabeleça a ligação a partir da demo do telemóvel e verifique a inicialização do SDK e uma mensagem de texto antes de fazer alterações.
• Ajuste a configuração. O URL do repositório descarrega o exemplo, não um instalador. As duas dependências pertencem a aplicações diferentes. Altere as versões em conjunto apenas depois de consultar as orientações de compatibilidade da Rokid; mantenha os auxiliares de inicialização da demo e as importações necessárias.
Configuração da demo e caminhos do código-fonte: Abrir fonte oficial
Repositório e dependências do SDK: Abrir fonte oficial
Passo 3: tornar claro o primeiro controlo de captura
• Localize o ecrã. No projeto glassdemo, abra app/src/main/java/com/rokid/glass/SdkMediaActivity.kt. O respetivo ficheiro de layout encontra-se em app/src/main/res/layout/activity_test_media.xml. Trata-se de um ecrã Android nativo existente com controlos de câmara, não de uma página web.
• Comece por editar um botão. Nesse ficheiro XML, localize o elemento AppCompatButton existente com o ID android:id="@+id/btPhoto480P". Mantenha o ID original e as restrições de layout, para que o view binding Kotlin existente (binding.btPhoto480P) continue a funcionar sem quebrar referências.
• O layout original da demo define o botão com 50dp de largura e 36dp de altura, com uma etiqueta de 10sp, o que irá truncar o novo texto. Altere apenas os atributos indicados abaixo e mantenha o resto do elemento tal como está (o fundo, a cor do texto, as margens e as duas linhas app: layout_constraint); sem as restrições, o botão perde a sua posição no 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" />
• Explicação da etiqueta.
• android:text="Capture": Define a etiqueta visível apresentada diretamente no ecrã.
• android:contentDescription="Capture photo": Fornece uma descrição de acessibilidade para leitores de ecrã e para a inspeção da hierarquia da interface. Note que definir contentDescription nos dispositivos Rokid não cria nem regista automaticamente um comando de voz; o controlo por voz exige uma integração explícita com o serviço de voz/comandos offline do Sprite Enterprise SDK.
• android:textSize="16sp": Garante a legibilidade no ecrã ótico monocular.
• Conceba o ecrã de trabalho. Na versão empresarial, mantenha a interface minimalista: um indicador de estado claro, um único botão principal de captura e um caminho definido para cancelar ou rever. Siga as orientações de ecrã empresariais da Rokid, utilizando texto de alto contraste (como texto verde legível sobreposto a cenas do mundo real), e evite depender apenas da cor para assinalar erros ou estados de captura. Verifique sempre o posicionamento e o truncamento do texto no ecrã físico dos óculos, em vez de confiar apenas na pré-visualização do layout do Android Studio.
Orientações empresariais de ecrã e layout: Abrir fonte oficial
Passo 4: testar a entrada de voz empresarial
• Abra o exemplo de voz. No projeto dos óculos, abra app/src/main/java/com/rokid/glass/SendMessageActivity.kt. Localize o ramo R.id.btnOnlineAsr e a função speechCallback(token). ASR significa reconhecimento automático de fala (automatic speech recognition): converte a fala em texto.
• Execute uma sessão de voz. Utilize o controlo de ASR da demo empresarial para iniciar uma sessão. Preserve o token de sessão e o tratamento de callbacks. O exemplo utiliza ASR na cloud, que só funciona depois de a demo do telemóvel ter inicializado o SDK com a sua AK e SK, por isso confirme o direito ao serviço, o idioma suportado, o acesso à rede e as condições de tratamento de dados empresariais antes de utilizar a voz dos trabalhadores.
• Mantenha o texto final separado dos comandos. Dentro do bloco de entrega onAsrComplete existente, trate o texto final com lógica da aplicação, como no exemplo abaixo. Trata-se de uma inserção no callback existente, não de uma substituição da implementação completa de SpeechCallback. Guarda uma nota para revisão; não aciona a câmara nem o envio.
// Adicione este campo dentro de SendMessageActivity: private var pendingBusinessNote: String? = null
// Dentro do bloco existente de entrega do resultado final: pendingBusinessNote = content?.trim()?.takeIf { it.isNotEmpty() } // Apresente pendingBusinessNote na sua interface de revisão antes de guardar.
• Adicione comandos de forma deliberada. Para captura mãos-livres, utilize o exemplo empresarial de comandos offline ou um handler validado de transcrição final ligado ao ecrã de captura. Ambos têm de chamar a mesma função de captura utilizada pelo botão visível. Verifique a configuração de idioma e fonética com o SDK fornecido. Uma nota ditada é texto livre e não deve ser tratada como um comando.
• Pare e recupere. Mantenha o stopSpeech e a limpeza de sessão do exemplo quando o ecrã deixa de estar em primeiro plano. Teste o silêncio, a recusa da permissão do microfone, a perda de rede e sessões repetidas. Mantenha uma alternativa por hardware ou por controlo visível.
Exemplo empresarial de ASR e comandos offline: Abrir fonte oficial
Passo 5: adicionar o handler da câmara e o feedback do resultado
• Reutilize a inicialização existente. Volte a SdkMediaActivity.kt. Mantenha a configuração do SDK, as importações e o callback de fotografia da demo. Em initView(), substitua apenas o bloco binding.btPhoto480P.setOnClickListener pela chamada abaixo e, em seguida, adicione a função dentro da mesma classe Activity. Esta utiliza o enum de resolução 480P existente e a localização partilhada Pictures da 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" } }
• Mostre o sucesso a partir do callback. Localize o objeto mPhotoFileCallback existente. Adicione a função abaixo dentro da Activity e, em seguida, chame showBusinessPhoto(path) a partir de onTakePhoto e de onTakePhotoV2. Mantenha getCallbackId e o registo de callback existente. Em mICameraStateLister.onCameraError, atualize o controlo para «Try again» na thread de interface.
private var capturedBusinessPhoto: String? = null
private fun showBusinessPhoto(path: String) { runOnUiThread { if (!isFinishing && !isDestroyed) { capturedBusinessPhoto = path binding.btPhoto480P.text = "Captured" } } }
• Compreenda e personalize. takePhoto solicita uma captura; o respetivo callback fornece o caminho do ficheiro. Captured significa que existe um ficheiro local, não que um registo empresarial tenha sido guardado. Neste ecrã de desenvolvimento, alargue o botão para o texto de estado. No ecrã de produção, utilize uma vista de estado separada. Altere PhotoResolution apenas para valores suportados pelo seu SDK e verifique o enquadramento e as dimensões reais do resultado.
• Trate das permissões e do ciclo de vida. Utilize o fluxo de permissões da demo antes da captura. A câmara e o microfone precisam de declarações no manifest e da aprovação em tempo de execução aplicável. Mantenha removePhotoCallback e removeMediaStateLister na limpeza onDestroy existente da Activity. Adicione uma proteção contra capturas pendentes e um tempo limite antes de ligar a voz, para que eventos repetidos não produzam capturas duplicadas.
• Escolha um armazenamento seguro. A demo utiliza armazenamento partilhado, o que pode expor as fotografias de teste a outro software do dispositivo. Valide com a Rokid o acesso ao serviço e uma conceção de armazenamento adequada antes de processar registos reais. Defina a eliminação após revisão, envio ou cancelamento. Não parta do princípio de que o serviço de câmara do SDK, que é separado, consegue escrever no diretório privado da aplicação.
Exemplo de multimédia empresarial: Abrir fonte oficial
Código-fonte da câmara e importações correspondentes: Abrir fonte oficial
Permissões em tempo de execução do Android: Abrir fonte oficial
Passo 6: ligar o protótipo a um fluxo de trabalho empresarial
• Defina o registo. Acorde com o responsável pelo sistema empresarial o ID do ativo, o ID da ordem de trabalho, a identidade do operador, o formato da fotografia, o campo de nota, o endpoint e o tamanho de ficheiro aceite. Utilize uma conta de teste gerida pela empresa. Um caminho de ficheiro local não pode ser enviado para o backend como se fosse a própria imagem.
• Implemente a revisão antes do envio. Crie um ecrã de revisão com a fotografia capturada e a nota final. Adicione os controlos Confirmar e Cancelar. Apenas Confirmar deve iniciar o envio. Cancelar deve limpar o registo pendente e aplicar a política de eliminação acordada.
• Especifique o pedido. Implemente a API da empresa na aplicação do telemóvel ou dos óculos responsável pelo envio. Envie os bytes da fotografia com os metadados e a autenticação acordados. Utilize uma operação de rede em segundo plano, um ID de submissão único e um número limitado de novas tentativas. Mantenha as credenciais de longa duração no backend; determine com a equipa de TI o fluxo de autenticação de cliente suportado.
• Mostre o estado correto. Utilize Ready, Capturing, Captured, Review, Uploading, Saved e Retry. Passe para Saved apenas após uma resposta bem-sucedida do servidor com um ID de registo. O código de exemplo deste tutorial termina na captura local e na recolha de notas; o envio requer o contrato e a implementação reais da sua API.
Passo 7: verificar no hardware empresarial
• Compile e execute. A partir do diretório glassdemo, utilize o comando abaixo ou o controlo Run do Android Studio com os óculos suportados selecionados. No Windows, utilize gradlew.bat assembleDebug. Resolva os erros do Gradle antes de testar no dispositivo; um emulador Android padrão não consegue validar os serviços do dispositivo Rokid.
./gradlew assembleDebug
• Teste a captura e a limpeza. Selecione o controlo de captura. Verifique o ficheiro resultante, a legibilidade do estado, o caminho de erro da câmara e a recusa de permissões. Saia do ecrã, volte a abri-lo e verifique se os callbacks são removidos e novamente associados sem resultados duplicados. Confirme que o indicador da câmara permanece ativo durante a captura.
• Teste a voz separadamente. Dite uma breve nota de teste, verifique o texto final e cancele. Repita com ruído representativo do local de trabalho e em cada idioma aprovado. Se adicionar comandos, teste fala não relacionada e enunciados repetidos face à proteção contra capturas duplicadas.
• Teste a versão integrada. Depois de implementar o envio, teste desconexões, tempos limite, acessos revogados e confirmações repetidas. Verifique se um pedido falhado não mostra Saved e se repetir a mesma submissão não cria outro registo.
Passo 8: empacotar e implementar através do canal empresarial
• Prepare uma versão de lançamento. Substitua a marca de demonstração e remova as funcionalidades de exemplo não relacionadas e as credenciais de teste. Reveja com a Rokid as condições de reutilização do SDK e dos exemplos. Utilize nomes de pacote, controlo de versões e credenciais de assinatura controlados pela empresa.
• Compile um APK assinado. No Android Studio, abra Build > Generate Signed Bundle / APK, escolha APK, selecione a keystore da empresa e compile a variante release. Mantenha a chave de assinatura segura: as atualizações posteriores têm de utilizar a identidade de assinatura correta.
• Confirme a instalação privada. Utilize a via de instalação e gestão de aplicações que a Rokid confirmar para o seu firmware empresarial. Obtenha o método de distribuição de APK suportado, o aprovisionamento de contas e o procedimento de atualização/reversão. Não parta do princípio de que o software genérico de gestão de dispositivos Android suporta este modelo de óculos.
• Faça um piloto e volte a testar. Implemente num pequeno grupo gerido, meça a qualidade da captura, a precisão do reconhecimento e o tempo de resposta e volte a testar após alterações ao SDK ou ao firmware. Registe as versões compiladas e mantenha um pacote de reversão funcional antes de alargar a implementação.
Assinatura de aplicações Android: Abrir fonte oficial
Erros comuns a evitar
• Tratar o nome de um produto como prova de compatibilidade. Verifique o firmware empresarial real e a versão suportada do SDK antes da implementação.
• Distribuir a demo sem alterações. O exemplo demonstra capacidades. O respetivo armazenamento multimédia partilhado, as frases de exemplo e as funcionalidades não relacionadas precisam de ser revistos antes de uma implementação empresarial.
• Confundir captura com gravação. Uma fotografia local e uma transcrição não constituem uma ordem de trabalho guardada. Confirme o registo no backend antes de mostrar sucesso.
Conclusão
Uma aplicação empresarial útil para Rokid começa com hardware empresarial e acesso ao SDK confirmados, uma demo Android funcional e um pequeno fluxo de captura e revisão. Em seguida, os programadores acrescentam feedback claro no ecrã, entrada de voz validada e a integração autenticada com o backend da empresa. Os testes no dispositivo de destino e a implementação através do canal empresarial suportado transformam o protótipo numa ferramenta que pode melhorar a documentação no terreno e reduzir a introdução manual de dados.





















