Sammanfattning
Apputveckling för Rokid AI Glasses i företag börjar med Rokids dokumentation för Sprite Enterprise SDK och tillhörande Android-demo. Enligt företags-FAQ:n hänvisas företagsfirmware till Rokid AI Enterprise eller företagsdemon. Android Studio är kodmiljön; Glasses SDK exponerar enhetens funktioner och Phone SDK stöder den parkopplade Android-appen.
Kompatibiliteten kommer först. Dessa offentliga instruktioner gäller Rokid Glass3 Enterprise. En försäljningsbeteckning som ”Rokid Enterprise RV101” fastställer inte i sig SDK-kompatibilitet. Skaffa skriftlig bekräftelse för exakt din hårdvara, firmware, region och dina kommersiella SDK-rättigheter innan du följer integrationsstegen. Om Rokid tillhandahåller en annan företags-SDK för din enhet ska du använda det paketet och dess motsvarande exempel.
Handledningen bygger vidare på den officiella företagsdemon för att ta ett foto, visa en status och testa dikterade anteckningar. Det är en utvecklingsprototyp. För att ladda upp en affärspost och hantera en enhetsflotta krävs företagets backend och en separat bekräftad distributionsmetod för företag.
Dokumentation för Enterprise SDK: Öppna officiell källa
Varför bygga en anpassad app för Rokid AI Glasses
En anpassad app kan koppla fältinspektioner, underhåll eller lagerkontroller till den information som företaget faktiskt behöver. En kort uppmaning på displayen talar om för arbetaren vad som ska göras, en kamera dokumenterar bevis och röstinmatning kan minska behovet av att skriva vid lämpliga uppgifter.
Det användbara resultatet är en tillförlitlig affärspost med rätt tillgångs- eller arbetsorder-ID och en tydlig sparstatus. Bygg först ett minimalt arbetsflöde för bildtagning och granskning, och koppla det sedan till det operativa systemet när hårdvarans beteende och datahanteringen har testats.
Välj företagskomponenterna
Android Studio, JDK och Gradle:
- Roll: Redigera, kompilera och felsöka Android-projekt.
- Affärskrav: Använd en hanterad utvecklararbetsstation och projektets godkända verktygskedja.
Sprite Enterprise Glasses SDK:
- Roll: Kamera, tal, displayrelaterad applikationslogik och enhetstjänster.
- Affärskrav: Kräver företagshårdvara och firmware som stöds; bekräfta de kommersiella villkoren.
Sprite Enterprise Phone SDK:
- Roll: Parkoppling, meddelanden och mediautbyte med en Android-telefon.
- Affärskrav: Används när din arkitektur omfattar en företagshanterad telefon.
Rokid AI Enterprise eller företagsdemo:
- Roll: Företagsanslutning och utvecklingstestning.
- Affärskrav: Skaffa rätt version och konton via företagskanalen.
Företagets backend:
- Roll: Autentisering och lagring av affärsposter.
- Affärskrav: Använd godkända slutpunkter, åtkomstkontroller och regler för lagringstid.
Det här behöver du innan du börjar
Förbered de företagsglasögon som stöds, en Glass3-datakabel för felsökning, en Android-testtelefon, Android Studio, JDK 17, Git och SDK-demon. Git laddar ned källkod, Gradle bygger den och en APK är Androids installationsfil. Använd versionerna i den godkända demokonfigurationen. Rokids Quick Start och FAQ anger olika lägsta Android-versioner, så kontrollera kravet mot det paket du har fått i stället för att välja det lägre värdet.
Steg 1: bekräfta företagsenheten och åtkomsten
• Dokumentera målenheten. Öppna Inställningar på glasögonen och anteckna modell, systemversion och serienummer. Be Rokid bekräfta att denna version stöder Sprite Enterprise SDK samt de kamera- och taltjänster som krävs här.
• Skaffa företagspaketet. Begär Rokid AI Enterprise eller företagsdemon, motsvarande SDK-version och företagets inloggningsuppgifter från din leverantör eller Rokid-kontakt. Bekräfta rättigheterna till kommersiell utveckling och distribution; en offentlig nedladdning avgör inte ensam licensfrågan.
• Förbered anslutningen. Ladda enheterna och anslut glasögonen till arbetsstationen med datakabeln för felsökning. Följ de introduktionsinstruktioner för företag som medföljer din version för att förbereda den hanterade telefonen och glasögonen.
• Kom överens om dataflödet. Bestäm var foton och dikterade anteckningar får behandlas och lagras. Använd en testmiljö i företaget och icke-känsligt testmaterial medan du validerar demon.
Systemkrav och appkrav för företag: Öppna officiell källa
Steg 2: öppna och kör Android-demon för företag
• Ladda ned källkoden. Kör kommandot nedan i en terminal på utvecklararbetsstationen. Spara utcheckningen i teamets vanliga utvecklingsmapp och anteckna dess commit med git rev-parse HEAD.
git clone https://github.com/RokidSuuport/glass3_sdk_demo.git
• Öppna projekten. I Android Studio väljer du File > Open och markerar glass3_sdk_demo/glassdemo. Öppna glass3sdkphonedemo separat för telefonen. Vänta tills Gradle-synkroniseringen är klar och välj sedan JDK 17 under Settings > Build, Execution, Deployment > Build Tools > Gradle.
• Kontrollera beroendena. Öppna settings.gradle och app/build.gradle i varje projekt via Project-panelen. Behåll demons fungerande konfiguration. I ett separat Groovy-baserat projekt slår du ihop dessa repository- och beroendeposter med de befintliga blocken; skapa inga dubblettblock. Den publicerade Quick Start anger 2.2.0-E, men använd den version som är godkänd för din firmware.
// settings.gradle, inuti dependencyResolutionManagement {
repositories { maven { url 'https://maven.rokid.com/repository/maven-public/' }
}
}
// Glasögonapp: app/build.gradle, inuti dependencies dependencies {
implementation('com.rokid.security:glass3.open.sdk:2.2.0-E') {
exclude group: 'org.slf4j'
}
}
// Endast telefonapp: app/build.gradle, inuti dependencies dependencies {
implementation('com.rokid.security:phone.sdk:2.2.0-E') {
exclude group: 'org.slf4j'
}
}
• Konfigurera och starta. Öppna MainPhoneActivity i telefonprojektet och leta upp UserAuthInfo. Ange den AK och SK som utfärdats för företaget via godkänd lokal konfiguration, utanför versionshanteringen. Innan du kör glasögondemon öppnar du HomeActivity.initSDK() och ersätter exempelanropet setCameraLedEnable(false) med setCameraLedEnable(true). Starta om enligt vad enhetens firmware kräver. Kör telefonappen först, välj sedan glasögonenheten i Android Studio och kör glassdemo. Anslut från telefondemon och kontrollera SDK-initieringen och ett textmeddelande innan du börjar redigera.
• Anpassa uppsättningen. Repository-URL:en laddar ned exemplet, inte ett installationsprogram. De två beroendena hör till olika appar. Ändra versionerna samtidigt och först efter att ha kontrollerat Rokids kompatibilitetsvägledning; behåll demons initieringshjälpare och nödvändiga importer.
Demouppsättning och källsökvägar: Öppna officiell källa
SDK-repository och beroenden: Öppna officiell källa
Steg 3: gör den första kontrollen för bildtagning tydlig
• Hitta skärmen. Öppna app/src/main/java/com/rokid/glass/SdkMediaActivity.kt i projektet glassdemo. Layoutfilen finns i app/src/main/res/layout/activity_test_media.xml. Det här är en befintlig inbyggd Android-skärm med kamerakontroller, inte en webbsida.
• Redigera en knapp först. Leta i XML-filen upp det befintliga AppCompatButton-elementet med ID:t android:id="@+id/btPhoto480P". Behåll dess ursprungliga ID och layoutbegränsningar så att den befintliga Kotlin-vybindningen (binding.btPhoto480P) fortsätter att fungera utan brutna referenser.
• I den ursprungliga demolayouten är knappen 50dp bred och 36dp hög med en etikett på 10sp, vilket gör att den nya texten kapas. Ändra bara attributen som visas nedan och behåll resten av elementet som det är (bakgrund, textfärg, marginaler och de två raderna app: layout_constraint); utan sina begränsningar förlorar knappen sin plats 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" />
• Förklaring av etiketten.
• android:text="Capture": Anger den synliga etikett som visas direkt på skärmen.
• android:contentDescription="Capture photo": Ger en tillgänglighetsbeskrivning för skärmläsare och inspektion av UI-hierarkin. Observera att contentDescription på Rokid-enheter inte automatiskt skapar eller registrerar ett röstkommando; röststyrning kräver uttrycklig integration med tal-/offlinekommandotjänsten i Sprite Enterprise SDK.
• android:textSize="16sp": Säkerställer läsbarhet på den monokulära optiska displayen.
• Utforma arbetsskärmen. Håll gränssnittet minimalt i företagsversionen: en tydlig statusindikator, en enda primär fotoknapp och en definierad väg för att avbryta eller granska. Följ Rokids displayvägledning för företag genom att använda text med hög kontrast (till exempel läsbar grön text ovanpå verkliga miljöer) och undvik att enbart förlita dig på färg för att signalera fel eller status för bildtagning. Kontrollera alltid placering och avkortad text på glasögonens fysiska display i stället för att enbart lita på layoutförhandsvisningen i Android Studio.
Vägledning för display och layout för företag: Öppna officiell källa
Steg 4: testa talinmatning för företag
• Öppna talexemplet. Öppna app/src/main/java/com/rokid/glass/SendMessageActivity.kt i glasögonprojektet. Leta upp grenen R.id.btnOnlineAsr och funktionen speechCallback(token). ASR står för automatisk taligenkänning: den omvandlar tal till text.
• Kör en talsession. Starta en session med företagsdemons ASR-kontroll. Behåll dess sessionstoken och callback-hantering. Exemplet använder moln-ASR, som bara fungerar när telefondemon har initierat SDK:n med din AK och SK, så bekräfta tjänsterättigheter, språkstöd, nätverksåtkomst och villkor för behandling av affärsdata innan du använder arbetarnas tal.
• Håll sluttexten åtskild från kommandon. Hantera sluttexten med applikationslogik, som i exemplet nedan, inuti det befintliga leveransblocket onAsrComplete. Det här är ett tillägg i den befintliga callbacken, inte en ersättning för hela SpeechCallback-implementeringen. Koden sparar en anteckning för granskning; den utlöser inte kameran eller någon uppladdning.
// Lägg till detta fält i SendMessageActivity: private var pendingBusinessNote: String? = null
// Inuti det befintliga leveransblocket för slutresultatet: pendingBusinessNote = content?.trim()?.takeIf { it.isNotEmpty() } // Visa pendingBusinessNote i ditt granskningsgränssnitt innan du sparar.
• Lägg till kommandon med eftertanke. För handsfree-bildtagning använder du företagsexemplet för offlinekommandon eller en validerad hanterare för slutliga transkript som är kopplad till fotoskärmen. Båda måste anropa samma fotofunktion som den synliga knappen. Kontrollera språk- och fonetikkonfigurationen med den medföljande SDK:n. En dikterad anteckning är fritext och får inte behandlas som ett kommando.
• Stoppa och återhämta. Behåll exemplets stopSpeech och sessionsrensning när skärmen lämnar förgrunden. Testa tystnad, nekad mikrofonbehörighet, nätverksbortfall och upprepade sessioner. Behåll en reservlösning via hårdvaruknapp eller synlig kontroll.
ASR och exempel för offlinekommandon för företag: Öppna officiell källa
Steg 5: lägg till kamerahanteraren och återkoppling om resultatet
• Återanvänd den befintliga initieringen. Gå tillbaka till SdkMediaActivity.kt. Behåll demons SDK-uppsättning, importer och foto-callback. I initView() ersätter du bara blocket binding.btPhoto480P.setOnClickListener med anropet nedan och lägger sedan till funktionen i samma Activity-klass. Detta använder den befintliga upplösningsenumen 480P och demons delade Pictures-plats.
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" } }
• Visa lyckat resultat från callbacken. Leta upp det befintliga objektet mPhotoFileCallback. Lägg till funktionen nedan i Activity-klassen och anropa sedan showBusinessPhoto(path) från både onTakePhoto och onTakePhotoV2. Behåll getCallbackId och den befintliga callback-registreringen. I mICameraStateLister.onCameraError uppdaterar du kontrollen till ”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" } } }
• Förstå och anpassa. takePhoto begär en bildtagning; dess callback levererar filsökvägen. Captured betyder att det finns en lokal fil, inte att en affärspost har sparats. På den här utvecklingsskärmen gör du knappen bredare för statustexten. På produktionsskärmen använder du en separat statusvy. Ändra PhotoResolution endast till värden som din SDK stöder och kontrollera bildutsnitt och faktiska utdatamått.
• Hantera behörigheter och livscykel. Använd demons behörighetsflöde före bildtagning. Kamera och mikrofon kräver deklarationer i manifestet och tillämpligt godkännande vid körning. Behåll removePhotoCallback och removeMediaStateLister i Activity-klassens befintliga rensning i onDestroy. Lägg till ett skydd mot pågående bildtagning och en tidsgräns innan du kopplar in röststyrning, så att upprepade händelser inte kan ge dubbla bilder.
• Välj säker lagring. Demon använder delad lagring, vilket kan exponera testfoton för annan programvara på enheten. Validera tjänståtkomst och en lämplig lagringsdesign med Rokid innan du behandlar riktiga poster. Definiera radering efter granskning, uppladdning eller avbrott. Utgå inte från att SDK:ns separata kameratjänst kan skriva till appens privata katalog.
Mediaexempel för företag: Öppna officiell källa
Motsvarande kamerakällkod och importer: Öppna officiell källa
Körningsbehörigheter i Android: Öppna officiell källa
Steg 6: koppla prototypen till ett affärsflöde
• Definiera posten. Kom överens med affärssystemets ägare om tillgångs-ID, arbetsorder-ID, operatörsidentitet, fotoformat, anteckningsfält, slutpunkt och accepterad filstorlek. Använd ett företagshanterat testkonto. En lokal filsökväg kan inte skickas till backend som om den vore själva bilden.
• Implementera granskning före uppladdning. Skapa en granskningsskärm med det tagna fotot och den slutliga anteckningen. Lägg till kontrollerna Bekräfta och Avbryt. Endast Bekräfta ska starta uppladdningen. Avbryt ska rensa den väntande posten och tillämpa den överenskomna raderingspolicyn.
• Specificera begäran. Implementera företagets API i den telefon- eller glasögonapp som ansvarar för uppladdningen. Skicka fotots byte tillsammans med överenskomna metadata och autentisering. Använd en nätverksåtgärd i bakgrunden, ett unikt inlämnings-ID och ett begränsat antal nya försök. Förvara långlivade inloggningsuppgifter i backend; fastställ tillsammans med IT vilket autentiseringsflöde för klienten som stöds.
• Visa rätt status. Använd Ready, Capturing, Captured, Review, Uploading, Saved och Retry. Gå till Saved först efter ett lyckat serversvar med ett post-ID. Exempelkoden i den här handledningen slutar vid lokal bildtagning och insamling av anteckningar; uppladdningen kräver ditt faktiska API-kontrakt och din implementering.
Steg 7: verifiera på företagshårdvaran
• Bygg och kör. Använd kommandot nedan från katalogen glassdemo, eller Run-kontrollen i Android Studio med de glasögon som stöds valda. I Windows använder du gradlew.bat assembleDebug. Åtgärda Gradle-fel innan du testar på enheten; en vanlig Android-emulator kan inte validera Rokids enhetstjänster.
./gradlew assembleDebug
• Testa bildtagning och rensning. Välj fotokontrollen. Kontrollera resultatfilen, läsbar status, felvägen för kameran och nekad behörighet. Lämna skärmen, öppna den igen och kontrollera att callbacks tas bort och kopplas in på nytt utan dubbla resultat. Bekräfta att kameraindikatorn förblir aktiv under bildtagningen.
• Testa tal separat. Diktera en kort testanteckning, kontrollera sluttexten och avbryt. Upprepa i representativt buller från arbetsplatsen och på varje godkänt språk. Om du lägger till kommandon ska du testa orelaterat tal och upprepade yttranden mot skyddet mot dubbla bilder.
• Testa den integrerade versionen. När uppladdningen är implementerad testar du frånkopplingar, tidsgränser, återkallad åtkomst och upprepad bekräftelse. Kontrollera att en misslyckad begäran inte visar Saved och att ett nytt försök med samma inlämning inte skapar ytterligare en post.
Steg 8: paketera och distribuera via företagskanalen
• Förbered en release. Ersätt demons varumärkesprofil och ta bort orelaterade exempelfunktioner och testinloggningsuppgifter. Gå igenom villkoren för återanvändning av SDK och exempel med Rokid. Använd paketnamn, versionshantering och signeringsuppgifter som företaget kontrollerar.
• Bygg en signerad APK. Öppna Build > Generate Signed Bundle / APK i Android Studio, välj APK, välj företagets keystore och bygg release-varianten. Förvara signeringsnyckeln säkert: senare uppdateringar måste använda rätt signeringsidentitet.
• Bekräfta privat installation. Använd den väg för installation och apphantering som Rokid bekräftar för din företagsfirmware. Ta reda på vilken metod för APK-leverans, vilken kontoetablering och vilken procedur för uppdatering/återställning som stöds. Utgå inte från att allmän programvara för hantering av Android-enheter stöder denna glasögonmodell.
• Pilottesta och testa igen. Distribuera till en liten hanterad grupp, mät bildkvalitet, igenkänningsprecision och svarstid och testa sedan igen efter ändringar i SDK eller firmware. Dokumentera versionsnummer och behåll ett fungerande återställningspaket innan du utökar utrullningen.
Signering av Android-appar: Öppna officiell källa
Vanliga misstag att undvika
• Att behandla ett produktnamn som bevis på kompatibilitet. Kontrollera den faktiska företagsfirmwaren och vilken SDK-version som stöds innan du implementerar.
• Att leverera demon oförändrad. Exemplet demonstrerar funktioner. Dess delade medielagring, exempelfraser och orelaterade funktioner måste ses över före en utrullning i verksamheten.
• Att blanda ihop bildtagning med sparande. Ett lokalt foto och ett transkript är inte en sparad arbetsorder. Bekräfta posten i backend innan du visar att det lyckades.
Slutsats
En användbar affärsapp för Rokid börjar med bekräftad företagshårdvara och SDK-åtkomst, en fungerande Android-demo och ett litet arbetsflöde för bildtagning och granskning. Utvecklarna lägger sedan till tydlig återkoppling på displayen, validerad talinmatning och integration med företagets autentiserade backend. Tester på målenheten och distribution via den företagskanal som stöds förvandlar prototypen till ett verktyg som kan förbättra fältdokumentationen och minska manuell inmatning.





















