Samenvatting
Zakelijke app-ontwikkeling voor de Rokid AI Glasses begint bij de documentatie van Rokids Sprite Enterprise SDK en de bijbehorende Android-demo. De enterprise-FAQ verwijst gebruikers van enterprise-firmware naar Rokid AI Enterprise of de enterprise-demo. In Android Studio schrijft u de code. De Glasses SDK ontsluit de functies van het apparaat en de Phone SDK ondersteunt de gekoppelde Android-app.
Compatibiliteit komt eerst. Deze openbare instructies zijn bedoeld voor de Rokid Glass3 Enterprise. Een verkoopnaam als ‘Rokid Enterprise RV101’ is op zichzelf geen bewijs van SDK-compatibiliteit. Vraag schriftelijke bevestiging voor uw exacte hardware, firmware, regio en commerciële SDK-rechten voordat u de integratiestappen volgt. Levert Rokid een andere enterprise-SDK voor uw apparaat, gebruik dan dat pakket en de bijbehorende voorbeelden.
Deze tutorial breidt de officiële enterprise-demo uit, zodat u één foto kunt maken, een status kunt tonen en gedicteerde notities kunt testen. Het gaat om een ontwikkelprototype. Voor het uploaden van een zakelijk record en het beheren van een vloot hebt u de backend van uw organisatie nodig, plus een apart bevestigde distributiemethode voor zakelijk gebruik.
Documentatie enterprise-SDK: Officiële bron openen
Waarom een eigen app bouwen voor de Rokid AI Glasses
Met een eigen app koppelt u veldinspecties, onderhoud of magazijncontroles aan de informatie die een bedrijf werkelijk nodig heeft. Een korte melding op het display vertelt de medewerker wat hij moet doen, de camera legt bewijs vast en spraakinvoer kan bij geschikte taken typewerk beperken.
Het nuttige resultaat is een betrouwbaar zakelijk record, met het juiste asset- of werkorder-ID en een duidelijke status dat het is opgeslagen. Bouw eerst het kleinst mogelijke werkproces voor vastleggen en controleren. Koppel dat pas aan het operationele systeem nadat het gedrag van de hardware en de gegevensverwerking zijn getest.
Kies de enterprise-componenten
Android Studio, JDK en Gradle:
- Rol: Android-projecten bewerken, compileren en debuggen.
- Zakelijke vereiste: Gebruik een beheerd ontwikkelwerkstation en de goedgekeurde toolchain van het project.
Sprite Enterprise Glasses SDK:
- Rol: Camera, spraak, applicatielogica rond het display en apparaatdiensten.
- Zakelijke vereiste: Vereist ondersteunde enterprise-hardware en -firmware; bevestig de commerciële voorwaarden.
Sprite Enterprise Phone SDK:
- Rol: Koppeling, berichtenverkeer en uitwisseling van media met een Android-telefoon.
- Zakelijke vereiste: Gebruik deze als uw architectuur een door het bedrijf beheerde telefoon bevat.
Rokid AI Enterprise of enterprise-demo:
- Rol: Enterprise-verbinding en testen tijdens de ontwikkeling.
- Zakelijke vereiste: Verkrijg de juiste build en accounts via het enterprise-kanaal.
Bedrijfsbackend:
- Rol: Authenticatie en opslag van zakelijke records.
- Zakelijke vereiste: Gebruik goedgekeurde endpoints, toegangscontroles en bewaarregels.
Wat u nodig hebt voordat u begint
Zorg voor de ondersteunde enterprise-bril, een Glass3-datadebugkabel, een Android-testtelefoon, Android Studio, JDK 17, Git en de SDK-demo. Git downloadt broncode, Gradle bouwt die en een APK is het installatiebestand voor Android. Gebruik de versies uit de goedgekeurde democonfiguratie. De Quick Start en de FAQ van Rokid noemen verschillende minimale Android-versies. Controleer de vereiste daarom aan de hand van het pakket dat u hebt ontvangen, in plaats van de laagste waarde te kiezen.
Stap 1: bevestig het enterprise-apparaat en de toegang
• Leg het doelapparaat vast. Open op de bril Instellingen en noteer het model, de systeemversie en het serienummer. Vraag Rokid te bevestigen dat deze build de Sprite Enterprise SDK ondersteunt, evenals de camera- en spraakdiensten die hier nodig zijn.
• Vraag het enterprise-pakket aan. Vraag Rokid AI Enterprise of de enterprise-demo, de bijbehorende SDK-release en zakelijke inloggegevens aan bij uw leverancier of contactpersoon bij Rokid. Laat de rechten voor commerciële ontwikkeling en uitrol bevestigen; een openbare download alleen regelt de licentie niet.
• Bereid de verbinding voor. Laad de apparaten op en sluit de bril met de datadebugkabel aan op het werkstation. Volg de enterprise-onboardinginstructies voor uw build om de beheerde telefoon en bril voor te bereiden.
• Spreek de gegevensstroom af. Bepaal waar foto's en gedicteerde notities verwerkt en opgeslagen mogen worden. Gebruik een testomgeving van het bedrijf en niet-gevoelig testmateriaal zolang u de demo valideert.
Systeem- en app-vereisten voor enterprise: Officiële bron openen
Stap 2: open en start de Android-demo voor enterprise
• Download de broncode. Voer in een terminal op het ontwikkelwerkstation de onderstaande opdracht uit. Sla de checkout op in de gebruikelijke ontwikkelmap van uw team en noteer de commit met git rev-parse HEAD.
git clone https://github.com/RokidSuuport/glass3_sdk_demo.git
• Open de projecten. Kies in Android Studio File > Open en selecteer glass3_sdk_demo/glassdemo. Open glass3sdkphonedemo apart voor de telefoon. Wacht tot de Gradle-synchronisatie klaar is en selecteer daarna JDK 17 onder Settings > Build, Execution, Deployment > Build Tools > Gradle.
• Controleer de dependencies. Open in het Project-paneel settings.gradle en app/build.gradle in elk project. Behoud de werkende configuratie van de demo. Werkt u in een apart Groovy-project, voeg deze repository- en dependency-regels dan samen met de bestaande blokken; maak geen dubbele blokken aan. De gepubliceerde Quick Start noemt 2.2.0-E, maar gebruik de versie die voor uw firmware is goedgekeurd.
// settings.gradle, binnen dependencyResolutionManagement {
repositories { maven { url 'https://maven.rokid.com/repository/maven-public/' }
}
}
// Bril-app: app/build.gradle, binnen dependencies dependencies {
implementation('com.rokid.security:glass3.open.sdk:2.2.0-E') {
exclude group: 'org.slf4j'
}
}
// Alleen telefoon-app: app/build.gradle, binnen dependencies dependencies {
implementation('com.rokid.security:phone.sdk:2.2.0-E') {
exclude group: 'org.slf4j'
}
}
• Configureer en start. Open in het telefoonproject MainPhoneActivity en zoek UserAuthInfo. Geef de zakelijk uitgegeven AK en SK op via een goedgekeurde lokale configuratie, buiten versiebeheer. Open voordat u de brildemo start HomeActivity.initSDK() en vervang de voorbeeldaanroep setCameraLedEnable(false) door setCameraLedEnable(true). Herstart het apparaat als de firmware dat vereist. Start eerst de telefoon-app, selecteer daarna de bril als apparaat in Android Studio en start glassdemo. Maak verbinding vanuit de telefoondemo en controleer de SDK-initialisatie en een tekstbericht voordat u iets aanpast.
• Pas de set-up aan. De repository-URL downloadt het voorbeeld, geen installatieprogramma. De twee dependencies horen bij verschillende applicaties. Wijzig versies alleen samen, en pas nadat u de compatibiliteitsrichtlijnen van Rokid hebt gecontroleerd. Behoud de initialisatiehelpers en vereiste imports van de demo.
Demo-installatie en bronpaden: Officiële bron openen
SDK-repository en dependencies: Officiële bron openen
Stap 3: maak de eerste opnameknop duidelijk
• Zoek het scherm. Open in het project glassdemo het bestand app/src/main/java/com/rokid/glass/SdkMediaActivity.kt. Het bijbehorende layoutbestand staat in app/src/main/res/layout/activity_test_media.xml. Dit is een bestaand native Android-scherm met camerabediening, geen webpagina.
• Pas eerst één knop aan. Zoek in dat XML-bestand het bestaande AppCompatButton-element met de ID android:id="@+id/btPhoto480P". Behoud de oorspronkelijke ID en de layout-constraints, zodat de bestaande Kotlin-view binding (binding.btPhoto480P) blijft werken en er geen verwijzingen breken.
• De oorspronkelijke demolayout maakt de knop 50dp breed en 36dp hoog met een label van 10sp, waardoor de nieuwe tekst wordt afgekapt. Wijzig alleen de attributen hieronder en laat de rest van het element ongemoeid (de achtergrond, tekstkleur, marges en de twee app: layout_constraint-regels). Zonder constraints verliest de knop zijn plek in de 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" />
• Uitleg bij het label.
• android:text="Capture": Stelt het zichtbare label in dat direct op het scherm wordt getoond.
• android:contentDescription="Capture photo": Geeft een toegankelijkheidsbeschrijving voor schermlezers en voor inspectie van de UI-hiërarchie. Let op: contentDescription instellen op Rokid-apparaten maakt niet automatisch een spraakopdracht aan en registreert die ook niet. Spraakbediening vereist een expliciete integratie met de spraak- en offline-opdrachtdienst van de Sprite Enterprise SDK.
• android:textSize="16sp": Zorgt voor leesbaarheid op het monoculaire optische display.
• Ontwerp het werkscherm. Houd de interface voor de zakelijke versie minimaal: een duidelijke statusindicator, één primaire opnameknop en een vaste route om te annuleren of te controleren. Volg de displayrichtlijnen van Rokid voor enterprise en gebruik tekst met hoog contrast (zoals goed leesbare groene tekst over de echte omgeving). Vertrouw niet alleen op kleur om fouten of opnamestatussen aan te geven. Controleer positionering en afgekapte tekst altijd op het fysieke display van de bril, niet alleen in de layoutvoorbeeldweergave van Android Studio.
Display- en layoutrichtlijnen voor enterprise: Officiële bron openen
Stap 4: test spraakinvoer voor enterprise
• Open het spraakvoorbeeld. Open in het brilproject app/src/main/java/com/rokid/glass/SendMessageActivity.kt. Zoek de branch R.id.btnOnlineAsr en de functie speechCallback(token). ASR staat voor automatische spraakherkenning: het zet spraak om in tekst.
• Voer één spraaksessie uit. Start een sessie met de ASR-knop van de enterprise-demo. Behoud de afhandeling van het sessietoken en de callback. Het voorbeeld gebruikt cloud-ASR, en die werkt pas nadat de telefoondemo de SDK met uw AK en SK heeft geïnitialiseerd. Controleer daarom uw recht op de dienst, de ondersteunde taal, de netwerktoegang en de voorwaarden voor zakelijke gegevensverwerking voordat u spraak van medewerkers gebruikt.
• Houd de eindtekst gescheiden van opdrachten. Verwerk de eindtekst binnen het bestaande onAsrComplete-afleverblok met applicatielogica zoals in het voorbeeld hieronder. Dit is een toevoeging aan de bestaande callback, geen vervanging van de volledige SpeechCallback-implementatie. De code slaat een notitie op ter controle; de camera of upload wordt er niet door gestart.
// Voeg dit veld toe binnen SendMessageActivity: private var pendingBusinessNote: String? = null
// Binnen het bestaande blok voor het eindresultaat: pendingBusinessNote = content?.trim()?.takeIf { it.isNotEmpty() } // Toon pendingBusinessNote in uw controle-UI voordat u opslaat.
• Voeg opdrachten bewust toe. Gebruik voor handsfree opnemen het enterprise-voorbeeld voor offline opdrachten of een gevalideerde handler voor het definitieve transcript die aan het opnamescherm is gekoppeld. Beide moeten dezelfde opnamefunctie aanroepen als de zichtbare knop. Controleer de taal- en fonetische configuratie met de geleverde SDK. Een gedicteerde notitie is vrije tekst en mag niet als opdracht worden behandeld.
• Stop en herstel. Behoud stopSpeech en het opruimen van de sessie uit het voorbeeld wanneer het scherm naar de achtergrond gaat. Test stilte, geweigerde microfoontoestemming, wegvallend netwerk en herhaalde sessies. Houd een terugvaloptie via een hardwareknop of zichtbare bediening.
Enterprise-voorbeeld voor ASR en offline opdrachten: Officiële bron openen
Stap 5: voeg de camerahandler en terugkoppeling van het resultaat toe
• Hergebruik de bestaande initialisatie. Ga terug naar SdkMediaActivity.kt. Behoud de SDK-set-up, imports en foto-callback van de demo. Vervang in initView() alleen het blok binding.btPhoto480P.setOnClickListener door de aanroep hieronder en voeg de functie toe binnen dezelfde Activity-klasse. Hiermee gebruikt u de bestaande enum voor 480P-resolutie en de gedeelde Pictures-locatie van de 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" } }
• Toon succes vanuit de callback. Zoek het bestaande object mPhotoFileCallback. Voeg de functie hieronder toe binnen de Activity en roep showBusinessPhoto(path) aan vanuit zowel onTakePhoto als onTakePhotoV2. Behoud getCallbackId en de bestaande registratie van de callback. Zet in mICameraStateLister.onCameraError de knop via de UI-thread op “Try again”.
private var capturedBusinessPhoto: String? = null
private fun showBusinessPhoto(path: String) { runOnUiThread { if (!isFinishing && !isDestroyed) { capturedBusinessPhoto = path binding.btPhoto480P.text = "Captured" } } }
• Begrijpen en aanpassen. takePhoto vraagt een opname aan; de callback levert het bestandspad. Captured betekent dat er een lokaal bestand bestaat, niet dat er een zakelijk record is opgeslagen. Maak de knop op dit ontwikkelscherm breder voor de statustekst. Gebruik in het productiescherm een aparte statusweergave. Wijzig PhotoResolution alleen naar waarden die uw SDK ondersteunt en controleer de beeldkadering en de werkelijke afmetingen van de uitvoer.
• Regel machtigingen en levenscyclus. Gebruik vóór de opname de machtigingsflow van de demo. Camera en microfoon vereisen declaraties in het manifest en, waar van toepassing, toestemming tijdens runtime. Laat removePhotoCallback en removeMediaStateLister in de bestaande onDestroy-opruiming van de Activity staan. Voeg een beveiliging tegen lopende opnames en een time-out toe voordat u spraak koppelt, zodat herhaalde events geen dubbele opnames opleveren.
• Kies veilige opslag. De demo gebruikt gedeelde opslag, waardoor testfoto's zichtbaar kunnen worden voor andere software op het apparaat. Valideer met Rokid de toegang tot de dienst en een geschikt opslagontwerp voordat u echte records verwerkt. Leg vast wanneer bestanden worden verwijderd na controle, upload of annulering. Ga er niet van uit dat de aparte cameradienst van de SDK naar de privémap van de app kan schrijven.
Enterprise-mediavoorbeeld: Officiële bron openen
Bijbehorende camerabroncode en imports: Officiële bron openen
Android-runtimemachtigingen: Officiële bron openen
Stap 6: koppel het prototype aan een zakelijk werkproces
• Definieer het record. Spreek met de eigenaar van het bedrijfssysteem het asset-ID, het werkorder-ID, de identiteit van de medewerker, het fotoformaat, het notitieveld, het endpoint en de toegestane bestandsgrootte af. Gebruik een door het bedrijf beheerd testaccount. Een lokaal bestandspad kunt u niet naar de backend sturen alsof het de afbeelding zelf is.
• Bouw een controlestap in vóór de upload. Maak een controlescherm met de gemaakte foto en de definitieve notitie. Voeg de knoppen Confirm en Cancel toe. Alleen Confirm mag de upload starten. Cancel moet het openstaande record wissen en het afgesproken verwijderbeleid toepassen.
• Specificeer het verzoek. Implementeer de API van het bedrijf in de telefoon- of bril-app die de upload verzorgt. Verstuur de fotobytes met de afgesproken metadata en authenticatie. Gebruik een netwerkbewerking op de achtergrond, een uniek inzendings-ID en een begrensd aantal nieuwe pogingen. Bewaar langlevende inloggegevens op de backend en bepaal samen met IT welke authenticatieflow voor de client wordt ondersteund.
• Toon de juiste status. Gebruik Ready, Capturing, Captured, Review, Uploading, Saved en Retry. Ga pas naar Saved na een geslaagd serverantwoord met een record-ID. De voorbeeldcode in deze tutorial stopt bij lokale opname en het verzamelen van notities. Voor de upload zijn uw eigen API-contract en implementatie nodig.
Stap 7: controleer op de enterprise-hardware
• Bouw en start. Gebruik vanuit de map glassdemo de opdracht hieronder, of de Run-knop van Android Studio met de ondersteunde bril geselecteerd. Gebruik onder Windows gradlew.bat assembleDebug. Los Gradle-fouten op voordat u op het apparaat test; een standaard Android-emulator kan de apparaatdiensten van Rokid niet valideren.
./gradlew assembleDebug
• Test opname en opruimen. Selecteer de opnameknop. Controleer het resultaatbestand, de leesbaarheid van de status, de afhandeling van camerafouten en geweigerde machtigingen. Verlaat het scherm, open het opnieuw en controleer of callbacks worden verwijderd en opnieuw gekoppeld zonder dubbele resultaten. Controleer of de camera-indicator tijdens de opname actief blijft.
• Test spraak apart. Dicteer een korte testnotitie, controleer de eindtekst en annuleer. Herhaal dit bij representatief omgevingsgeluid op de werkplek en in elke goedgekeurde taal. Voegt u opdrachten toe, test dan ongerelateerde spraak en herhaalde uitingen tegen de beveiliging tegen dubbele opnames.
• Test de geïntegreerde build. Test zodra de upload is geïmplementeerd verbroken verbindingen, time-outs, ingetrokken toegang en herhaalde bevestiging. Controleer of een mislukt verzoek geen Saved toont en of een nieuwe poging met dezelfde inzending geen extra record aanmaakt.
Stap 8: verpakken en uitrollen via het zakelijke kanaal
• Bereid een release voor. Vervang de demobranding en verwijder niet-relevante voorbeeldfuncties en testinloggegevens. Neem de gebruiksvoorwaarden voor de SDK en het voorbeeld door met Rokid. Gebruik pakketnamen, versienummering en ondertekeningsgegevens die door het bedrijf worden beheerd.
• Bouw een ondertekende APK. Open in Android Studio Build > Generate Signed Bundle / APK, kies APK, selecteer de keystore van het bedrijf en bouw de release-variant. Bewaar de ondertekeningssleutel veilig: latere updates moeten de juiste ondertekeningsidentiteit gebruiken.
• Bevestig de private installatie. Gebruik de route voor installatie en applicatiebeheer die Rokid voor uw enterprise-firmware bevestigt. Vraag de ondersteunde methode voor APK-levering, accountprovisioning en de procedure voor updates en rollbacks op. Ga er niet van uit dat algemene software voor Android-apparaatbeheer dit brilmodel ondersteunt.
• Pilot en hertest. Rol uit naar een kleine beheerde groep en meet opnamekwaliteit, herkenningsnauwkeurigheid en responstijd. Test opnieuw na wijzigingen in de SDK of firmware. Noteer buildversies en houd een werkend rollbackpakket achter de hand voordat u de uitrol uitbreidt.
Ondertekening van Android-apps: Officiële bron openen
Veelgemaakte fouten
• Een productnaam als bewijs van compatibiliteit zien. Controleer vóór de implementatie de werkelijke enterprise-firmware en de ondersteunde SDK-release.
• De demo ongewijzigd uitleveren. Het voorbeeld demonstreert mogelijkheden. De gedeelde mediaopslag, voorbeeldzinnen en niet-relevante functies moeten worden beoordeeld voordat u zakelijk uitrolt.
• Opnemen verwarren met opslaan. Een lokale foto en een transcript zijn nog geen opgeslagen werkorder. Bevestig het backendrecord voordat u succes meldt.
Conclusie
Een bruikbare zakelijke app voor Rokid begint met bevestigde enterprise-hardware en SDK-toegang, een werkende Android-demo en een klein werkproces voor vastleggen en controleren. Daarna voegen ontwikkelaars duidelijke feedback op het display toe, gevalideerde spraakinvoer en de geauthenticeerde backendintegratie van het bedrijf. Door te testen op het doelapparaat en uit te rollen via het ondersteunde zakelijke kanaal wordt het prototype een tool die de documentatie in het veld kan verbeteren en handmatige invoer kan verminderen.





















