Sammendrag
Apputvikling for Rokid AI Glasses i bedrifter starter med Rokids dokumentasjon for Sprite Enterprise SDK og tilhørende Android-demo. Bedrifts-FAQ-en henviser bedriftsfastvare til Rokid AI Enterprise eller bedriftsdemoen. Android Studio er arbeidsområdet for kodingen; Glasses SDK gir tilgang til enhetens funksjoner, og Phone SDK støtter den sammenkoblede Android-appen.
Kompatibilitet kommer først. Disse offentlige instruksjonene gjelder Rokid Glass3 Enterprise. En salgsbetegnelse som «Rokid Enterprise RV101» er ikke i seg selv bevis på SDK-kompatibilitet. Få skriftlig bekreftelse for nøyaktig din maskinvare, fastvare, region og dine kommersielle SDK-rettigheter før du følger integrasjonstrinnene. Hvis Rokid leverer en annen bedrifts-SDK for enheten din, bruker du den pakken og de tilhørende eksemplene.
Veiledningen utvider den offisielle bedriftsdemoen slik at den tar ett bilde, viser en status og tester dikterte notater. Det er en utviklingsprototype. Opplasting av en forretningspost og administrasjon av en enhetsflåte krever bedriftens egen backend og en separat bekreftet distribusjonsmetode for bedrifter.
Dokumentasjon for bedrifts-SDK: Åpne offisiell kilde
Hvorfor bygge en egen app for Rokid AI Glasses
En skreddersydd app kan koble feltinspeksjoner, vedlikehold eller lagerkontroller til informasjonen bedriften faktisk trenger. En kort melding på skjermen forteller arbeideren hva som skal gjøres, et kamera dokumenterer, og taleinndata kan redusere tasting ved egnede oppgaver.
Det nyttige resultatet er en pålitelig forretningspost med riktig utstyrs- eller arbeidsordre-ID og en tydelig lagringsstatus. Bygg først den minste mulige arbeidsflyten for registrering og gjennomgang, og koble den deretter til driftssystemet når maskinvarens oppførsel og datahåndteringen er testet.
Velg bedriftskomponentene
Android Studio, JDK og Gradle:
- Rolle: Redigere, kompilere og feilsøke Android-prosjekter.
- Forretningskrav: Bruk en administrert utviklerarbeidsstasjon og prosjektets godkjente verktøykjede.
Sprite Enterprise Glasses SDK:
- Rolle: Kamera, tale, skjermrelatert applogikk og enhetstjenester.
- Forretningskrav: Krever støttet bedriftsmaskinvare og -fastvare; bekreft de kommersielle vilkårene.
Sprite Enterprise Phone SDK:
- Rolle: Sammenkobling, meldinger og utveksling av medier med en Android-telefon.
- Forretningskrav: Brukes når arkitekturen din omfatter en bedriftsadministrert telefon.
Rokid AI Enterprise eller bedriftsdemo:
- Rolle: Bedriftstilkobling og utviklingstesting.
- Forretningskrav: Skaff riktig bygg og riktige kontoer via bedriftskanalen.
Bedriftens backend:
- Rolle: Autentisering og lagring av forretningsposter.
- Forretningskrav: Bruk godkjente endepunkter, tilgangskontroller og regler for oppbevaring.
Dette trenger du før du begynner
Gjør klar de støttede bedriftsbrillene, en Glass3-datakabel for feilsøking, en Android-testtelefon, Android Studio, JDK 17, Git og SDK-demoen. Git laster ned kildekoden, Gradle bygger den, og en APK er installasjonsfilen for Android. Bruk versjonene i den godkjente demokonfigurasjonen. Rokids Quick Start og FAQ oppgir ulike minimumsversjoner av Android, så bekreft kravet opp mot pakken du har fått, i stedet for å velge den laveste verdien.
Trinn 1: bekreft bedriftsenheten og tilgangen
• Noter målenheten. Åpne Innstillinger på brillene og noter modell, systemversjon og serienummer. Be Rokid bekrefte at dette bygget støtter Sprite Enterprise SDK og kamera- og taletjenestene som kreves her.
• Skaff bedriftspakken. Be om Rokid AI Enterprise eller bedriftsdemoen, tilhørende SDK-versjon og bedriftslegitimasjon fra leverandøren din eller kontaktpersonen din hos Rokid. Bekreft rettighetene til kommersiell utvikling og distribusjon; en offentlig nedlasting avgjør ikke i seg selv lisensieringen.
• Klargjør tilkoblingen. Lad enhetene og koble brillene til arbeidsstasjonen med datakabelen for feilsøking. Følg instruksjonene for bedriftsoppsett som følger med bygget ditt, for å klargjøre den administrerte telefonen og brillene.
• Bli enige om dataflyten. Bestem hvor bilder og dikterte notater kan behandles og lagres. Bruk et testmiljø i bedriften og ikke-sensitivt testmateriale mens du validerer demoen.
System- og appkrav for bedrifter: Åpne offisiell kilde
Trinn 2: åpne og kjør Android-demoen for bedrifter
• Last ned kildekoden. Kjør kommandoen nedenfor i en terminal på utviklerarbeidsstasjonen. Lagre den utsjekkede koden i teamets vanlige utviklingsmappe, og noter commiten med git rev-parse HEAD.
git clone https://github.com/RokidSuuport/glass3_sdk_demo.git
• Åpne prosjektene. I Android Studio velger du File > Open og deretter glass3_sdk_demo/glassdemo. Åpne glass3sdkphonedemo separat for telefonen. Vent til Gradle-synkroniseringen er ferdig, og velg deretter JDK 17 under Settings > Build, Execution, Deployment > Build Tools > Gradle.
• Kontroller avhengighetene. Åpne settings.gradle og app/build.gradle i hvert prosjekt fra Project-panelet. Behold demoens fungerende konfigurasjon. I et separat Groovy-basert prosjekt slår du sammen disse repository- og avhengighetsoppføringene med de eksisterende blokkene; ikke opprett dupliserte blokker. Den publiserte Quick Start-veiledningen oppgir 2.2.0-E, men bruk versjonen som er godkjent for fastvaren din.
// settings.gradle, inne i dependencyResolutionManagement {
repositories { maven { url 'https://maven.rokid.com/repository/maven-public/' }
}
}
// Brilleapp: app/build.gradle, inne i dependencies dependencies {
implementation('com.rokid.security:glass3.open.sdk:2.2.0-E') {
exclude group: 'org.slf4j'
}
}
// Kun telefonapp: app/build.gradle, inne i dependencies dependencies {
implementation('com.rokid.security:phone.sdk:2.2.0-E') {
exclude group: 'org.slf4j'
}
}
• Konfigurer og start. Åpne MainPhoneActivity i telefonprosjektet og finn UserAuthInfo. Oppgi AK og SK utstedt til bedriften via godkjent lokal konfigurasjon, utenfor versjonskontrollen. Før du kjører brilledemoen, åpner du HomeActivity.initSDK() og erstatter eksempelkallet setCameraLedEnable(false) med setCameraLedEnable(true). Start på nytt hvis enhetens fastvare krever det. Kjør telefonappen først, velg deretter brilleenheten i Android Studio og kjør glassdemo. Koble til fra telefondemoen og bekreft SDK-initialiseringen og en tekstmelding før du begynner å redigere.
• Tilpass oppsettet. Repository-URL-en laster ned eksempelet, ikke et installasjonsprogram. De to avhengighetene hører til ulike apper. Endre versjonene samlet, og bare etter å ha sjekket Rokids veiledning om kompatibilitet; behold demoens hjelpefunksjoner for initialisering og nødvendige importer.
Demooppsett og kildestier: Åpne offisiell kilde
SDK-repository og avhengigheter: Åpne offisiell kilde
Trinn 3: gjør den første kontrollen for bildetaking tydelig
• Finn skjermbildet. Åpne app/src/main/java/com/rokid/glass/SdkMediaActivity.kt i glassdemo-prosjektet. Layoutfilen ligger i app/src/main/res/layout/activity_test_media.xml. Dette er et eksisterende, native Android-skjermbilde med kamerakontroller, ikke en nettside.
• Rediger én knapp først. Finn det eksisterende AppCompatButton-elementet med ID-en android:id="@+id/btPhoto480P" i XML-filen. Behold den opprinnelige ID-en og layoutbegrensningene, slik at den eksisterende Kotlin-visningsbindingen (binding.btPhoto480P) fortsetter å fungere uten at referanser brytes.
• Den opprinnelige demolayouten setter knappen til 50dp bred og 36dp høy med en etikett på 10sp, noe som vil kutte av den nye teksten. Endre bare attributtene som vises nedenfor, og behold resten av elementet som det er (bakgrunnen, tekstfargen, margene og de to app: layout_constraint-linjene); uten begrensningene mister knappen plasseringen sin i 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" />
• Forklar etiketten.
• android:text="Capture": Angir den synlige etiketten som vises direkte på skjermen.
• android:contentDescription="Capture photo": Gir en tilgjengelighetsbeskrivelse for skjermlesere og inspeksjon av UI-hierarkiet. Merk at det å angi contentDescription på Rokid-enheter ikke automatisk oppretter eller registrerer en talekommando; talestyring krever eksplisitt integrasjon med tjenesten for tale/frakoblede kommandoer i Sprite Enterprise SDK.
• android:textSize="16sp": Sikrer lesbarhet på den monokulære optiske skjermen.
• Utform arbeidsskjermbildet. I bedriftsversjonen bør grensesnittet være minimalt: en tydelig statusindikator, én primær knapp for bildetaking og en definert vei for å avbryte eller gå gjennom. Følg Rokids skjermveiledning for bedrifter ved å bruke tekst med høy kontrast (for eksempel lesbar grønn tekst over virkelige omgivelser), og unngå å bruke farge alene til å signalisere feil eller status for bildetaking. Kontroller alltid plassering og avkutting av tekst på den fysiske brilleskjermen i stedet for å stole kun på layoutforhåndsvisningen i Android Studio.
Veiledning om skjerm og layout for bedrifter: Åpne offisiell kilde
Trinn 4: test taleinndata for bedrifter
• Åpne taleeksempelet. Åpne app/src/main/java/com/rokid/glass/SendMessageActivity.kt i brilleprosjektet. Finn grenen R.id.btnOnlineAsr og funksjonen speechCallback(token). ASR står for automatisk talegjenkjenning (automatic speech recognition): den gjør tale om til tekst.
• Kjør én taleøkt. Bruk ASR-kontrollen i bedriftsdemoen til å starte en økt. Behold håndteringen av økttoken og callback. Eksempelet bruker sky-ASR, som bare fungerer når telefondemoen har initialisert SDK-et med AK og SK, så bekreft tjenesteberettigelse, støttede språk, nettverkstilgang og vilkår for behandling av forretningsdata før du bruker arbeidernes tale.
• Hold ferdig tekst atskilt fra kommandoer. Inne i den eksisterende leveringsblokken onAsrComplete håndterer du den endelige teksten med applogikk, som i eksempelet nedenfor. Dette er et tillegg i den eksisterende callbacken, ikke en erstatning for hele SpeechCallback-implementasjonen. Koden lagrer et notat for gjennomgang; den utløser verken kameraet eller noen opplasting.
// Legg til dette feltet i SendMessageActivity: private var pendingBusinessNote: String? = null
// Inne i den eksisterende leveringsblokken for sluttresultatet: pendingBusinessNote = content?.trim()?.takeIf { it.isNotEmpty() } // Vis pendingBusinessNote i gjennomgangsgrensesnittet før lagring.
• Legg til kommandoer med omhu. For håndfri bildetaking bruker du eksempelet for frakoblede kommandoer for bedrifter eller en validert håndterer for endelig transkripsjon koblet til skjermbildet for bildetaking. Begge må kalle den samme funksjonen for bildetaking som den synlige knappen bruker. Kontroller språk- og fonetikkonfigurasjonen med SDK-et du har fått. Et diktert notat er fritekst og skal ikke behandles som en kommando.
• Stopp og gjenopprett. Behold eksempelets stopSpeech og opprydding av økten når skjermbildet forlater forgrunnen. Test stillhet, avslått mikrofontillatelse, tap av nettverk og gjentatte økter. Ha en reserveløsning med maskinvareknapp eller synlig kontroll.
ASR og eksempel på frakoblede kommandoer for bedrifter: Åpne offisiell kilde
Trinn 5: legg til kamerahåndtereren og tilbakemelding om resultatet
• Gjenbruk den eksisterende initialiseringen. Gå tilbake til SdkMediaActivity.kt. Behold demoens SDK-oppsett, importer og bilde-callback. I initView() erstatter du bare blokken binding.btPhoto480P.setOnClickListener med kallet nedenfor, og legger deretter til funksjonen i samme Activity-klasse. Dette bruker den eksisterende enum-verdien for 480P-oppløsning og demoens delte Pictures-plassering.
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" } }
• Vis vellykket resultat fra callbacken. Finn det eksisterende objektet mPhotoFileCallback. Legg til funksjonen nedenfor i Activity-klassen, og kall deretter showBusinessPhoto(path) fra både onTakePhoto og onTakePhotoV2. Behold getCallbackId og den eksisterende callback-registreringen. I mICameraStateLister.onCameraError oppdaterer du kontrollen til «Try again» på UI-tråden.
private var capturedBusinessPhoto: String? = null
private fun showBusinessPhoto(path: String) { runOnUiThread { if (!isFinishing && !isDestroyed) { capturedBusinessPhoto = path binding.btPhoto480P.text = "Captured" } } }
• Forstå og tilpass. takePhoto ber om å ta et bilde; callbacken leverer filbanen. Captured betyr at det finnes en lokal fil, ikke at en forretningspost er lagret. I dette utviklingsskjermbildet gjør du knappen bredere for statusteksten. I produksjonsskjermbildet bruker du en egen statusvisning. Endre PhotoResolution bare til verdier som SDK-et ditt støtter, og kontroller utsnitt og de faktiske dimensjonene på resultatet.
• Håndter tillatelser og livssyklus. Bruk demoens tillatelsesflyt før bildetaking. Kamera og mikrofon krever deklarasjoner i manifestet og eventuell godkjenning under kjøring. Behold removePhotoCallback og removeMediaStateLister i Activity-klassens eksisterende opprydding i onDestroy. Legg til en sperre for ventende bildetaking og et tidsavbrudd før du kobler til tale, slik at gjentatte hendelser ikke kan gi dupliserte bilder.
• Velg sikker lagring. Demoen bruker delt lagring, som kan eksponere testbilder for annen programvare på enheten. Valider tjenestetilgang og en egnet lagringsløsning med Rokid før du behandler ekte poster. Definer sletting etter gjennomgang, opplasting eller avbrudd. Ikke anta at SDK-ets separate kameratjeneste kan skrive til appens private katalog.
Medieeksempel for bedrifter: Åpne offisiell kilde
Tilhørende kamerakildekode og importer: Åpne offisiell kilde
Kjøretidstillatelser i Android: Åpne offisiell kilde
Trinn 6: koble prototypen til en forretningsarbeidsflyt
• Definer posten. Avtal utstyrs-ID, arbeidsordre-ID, operatøridentitet, bildeformat, notatfelt, endepunkt og akseptert filstørrelse med eieren av forretningssystemet. Bruk en testkonto som administreres av bedriften. En lokal filbane kan ikke sendes til backend som om den var selve bildet.
• Implementer gjennomgang før opplasting. Lag et gjennomgangsskjermbilde som viser det tatte bildet og det endelige notatet. Legg til kontrollene Bekreft og Avbryt. Bare Bekreft skal starte opplastingen. Avbryt skal tømme den ventende posten og bruke den avtalte slettepolicyen.
• Spesifiser forespørselen. Implementer bedriftens API i telefon- eller brilleappen som står for opplastingen. Send bildebytene med avtalte metadata og autentisering. Bruk en nettverksoperasjon i bakgrunnen, en unik innsendings-ID og et begrenset antall nye forsøk. Hold langvarig legitimasjon på backend; avklar den støttede autentiseringsflyten for klienten med IT.
• Vis riktig status. Bruk Ready, Capturing, Captured, Review, Uploading, Saved og Retry. Gå over til Saved først etter et vellykket svar fra serveren med en post-ID. Eksempelkoden i denne veiledningen stopper ved lokal bildetaking og innsamling av notater; opplastingen krever deres faktiske API-kontrakt og implementering.
Trinn 7: kontroller på bedriftsmaskinvaren
• Bygg og kjør. Bruk kommandoen nedenfor fra glassdemo-katalogen, eller Run-kontrollen i Android Studio med de støttede brillene valgt. På Windows bruker du gradlew.bat assembleDebug. Løs Gradle-feil før testing på enheten; en vanlig Android-emulator kan ikke validere Rokids enhetstjenester.
./gradlew assembleDebug
• Test bildetaking og opprydding. Velg kontrollen for bildetaking. Kontroller resultatfilen, at statusen er lesbar, feilbanen for kameraet og avslått tillatelse. Gå ut av skjermbildet og åpne det igjen, og sjekk at callbacks fjernes og kobles til på nytt uten dupliserte resultater. Bekreft at kameraindikatoren forblir aktiv under bildetakingen.
• Test tale separat. Dikter et kort testnotat, kontroller den endelige teksten og avbryt. Gjenta med representativ støy fra arbeidsplassen og på hvert godkjente språk. Hvis du legger til kommandoer, test urelatert tale og gjentatte ytringer mot sperren mot dupliserte bilder.
• Test det integrerte bygget. Når opplastingen er implementert, tester du frakoblinger, tidsavbrudd, tilbakekalt tilgang og gjentatt bekreftelse. Kontroller at en mislykket forespørsel ikke viser Saved, og at et nytt forsøk med samme innsending ikke oppretter en ny post.
Trinn 8: pakk og distribuer via bedriftskanalen
• Forbered en utgivelse. Erstatt demoprofileringen og fjern urelaterte eksempelfunksjoner og testlegitimasjon. Gå gjennom vilkårene for gjenbruk av SDK og eksempler med Rokid. Bruk pakkenavn, versjonering og signeringsnøkler som bedriften kontrollerer.
• Bygg en signert APK. I Android Studio åpner du Build > Generate Signed Bundle / APK, velger APK, velger bedriftens keystore og bygger release-varianten. Oppbevar signeringsnøkkelen sikkert: senere oppdateringer må bruke riktig signeringsidentitet.
• Bekreft privat installasjon. Bruk den metoden for installasjon og appadministrasjon som Rokid bekrefter for bedriftsfastvaren din. Skaff den støttede leveringsmetoden for APK, kontoklargjøring og prosedyren for oppdatering/tilbakerulling. Ikke anta at generell programvare for administrasjon av Android-enheter støtter denne brillemodellen.
• Pilotér og test på nytt. Distribuer til en liten administrert gruppe, mål bildekvalitet, gjenkjenningsnøyaktighet og responstid, og test på nytt etter endringer i SDK eller fastvare. Noter byggversjoner og ha en fungerende tilbakerullingspakke klar før du utvider utrullingen.
Signering av Android-apper: Åpne offisiell kilde
Vanlige feil du bør unngå
• Å behandle et produktnavn som bevis på kompatibilitet. Kontroller den faktiske bedriftsfastvaren og den støttede SDK-versjonen før implementering.
• Å levere demoen uendret. Eksempelet demonstrerer funksjoner. Den delte medielagringen, eksempelfrasene og de urelaterte funksjonene må gjennomgås før en utrulling i bedriften.
• Å forveksle bildetaking med lagring. Et lokalt bilde og en transkripsjon er ikke en lagret arbeidsordre. Bekreft posten i backend før du viser at operasjonen var vellykket.
Konklusjon
En nyttig Rokid-app for bedrifter starter med bekreftet bedriftsmaskinvare og SDK-tilgang, en fungerende Android-demo og en liten arbeidsflyt for registrering og gjennomgang. Deretter legger utviklerne til tydelig tilbakemelding på skjermen, validert taleinndata og autentisert integrasjon med bedriftens backend. Testing på målenheten og distribusjon via den støttede bedriftskanalen gjør prototypen til et verktøy som kan forbedre feltdokumentasjonen og redusere manuell registrering.




















