Lingara insluiten
Deze pagina is vertaald uit het Engels. Als de twee verschillen, is de Engelse pagina juist. Lees de Engelse pagina
Lingara kan in je game of op je website wonen. Een personage in je wereld kan een gesprek voeren op het niveau van de speler, en oefeningen die je speler afrondt, tellen als Lingara-oefening. De insluiting heeft twee helften, en het eerste wat je moet vaststellen, is welke helft waar draait.
Wie wat bewaart
Je server bewaart het secret van je OAuth-client en je secret voor het ondertekenen van webhooks. Geen van beide verlaat hem ooit.
Het apparaat van de speler bewaart één ding: een embed-token, dat begint met lgr_et_. Alles wat je in een gamebinary of op een webpagina meelevert, is openbaar, dus het apparaat bewaart nooit een client secret, een webhook-secret of een access token van je eigen client. Een embed-token handelt voor slechts één speler, blijft minuten geldig in plaats van uren, en bevat alleen de scopes die je server het heeft gegeven.
Een speler heeft geen Lingara-account nodig. Het eerste token dat je server voor een speler uitgeeft, maakt een gastleerling voor die speler aan, en elk later token bereikt dezelfde leerling. Een speler die al een Lingara-account heeft, kan dat meenemen: de pagina Serverkits beschrijft hoe je server de twee koppelt.
Hoe een token de speler bereikt
- De spelerkit, in je game of op je pagina, heeft een token nodig en vraagt je server erom via zijn tokenbron.
- Je server controleert zijn eigen sessie voor die speler en geeft met de serverkit een token voor die speler uit.
- Je server geeft het token terug als twee velden, het token en de vervaltijd, via je eigen sessie en nooit in een URL.
- De spelerkit gebruikt het token tot het bijna verloopt en vraagt je server dan opnieuw. Lingara vernieuwt nooit een token.
player's device your server Lingara
─────────────── ─────────── ───────
player kit ── needs a token ──▶ your token route
server kit ── mint ─────────▶ token for one player
player kit ◀── token, expiry ── your token route ◀──────────
player kit ── API calls with the token ─────────────────────▶
Een token voor een website is gebonden aan één origin: het eigen schema, de host en de poort van de pagina. Registreer elke origin waarop je widget draait voordat je er een token voor uitgeeft, zoals de pagina Serverkits beschrijft. Een token voor een game heeft geen origin.
Wat een token mag
Je server kiest de scopes van elk token bij het uitgeven, uit deze vijf: events:read, events:write, lesson_plans:read, lesson_plans:write en embed:play. Een token kan alleen scopes bevatten die je eigen client al heeft. embed:play laat de speler gesprekken voeren met je personages en de oefeningen melden die hij afrondt.
Wie betaalt
Alleen een client met betalen per gebruik mag tokens uitgeven. Alles wat een speler met een token doet, telt als gebruik van je client en wordt aan jou gefactureerd, niet aan de speler.
Een speler verwijderen
Wanneer een speler zijn account in je game verwijdert, verwijdert je server hem ook bij Lingara. Dat verwijdert zijn leerling en alles wat Lingara voor hem bewaart, en trekt elk token in dat hij heeft.
Welke kit je nodig hebt
Elke integratie gebruikt twee kits: een serverkit op je server en een spelerkit waar de speler speelt.
| Je bouwt | Je server | Waar de speler speelt |
|---|---|---|
| Een Bevy-game | Serverkits | Bevy |
| Een Unity-game | Serverkits | Unity |
| Een Godot-game | Serverkits | Godot |
| Een Unreal-game | Serverkits | Unreal |
| Een game op de JVM of Android | Serverkits | JVM en Android |
| Een website | Serverkits | Websitewidget |
Lees daarna NPC-dialoog en oefenresultaten, die in elke kit hetzelfde werken.
Aan de slag
- Serverkits
Geef tokens uit voor je spelers, routeer hun events en verwijder ze, vanaf je eigen server.
Waar het draait
- Bevy
Voeg de Lingara-plugin toe aan een Bevy-game, beantwoord de tokenverzoeken ervan en lees de events ervan als Messages.
- Unity
Installeer Lingara.Embed via NuGetForUnity, haal tokens op bij je server en haal events leeg in Update.
- Godot
Lingara in een Godot 4-game, vanuit GDScript of vanuit C#, met tokens van je eigen server.
- Unreal
De Lingara-plugin voor Unreal Engine 5, bovenop de C-interface van de spelerkern.
- JVM en Android
De Kotlin-spelerkit en de Java-facade ervan, op de desktop en op Android, met libGDX als uitgewerkt voorbeeld.
- Websitewidget
Plaats het element lingara-embed op je pagina en geef het tokens van je eigen server.
Leren in je eigen wereld
- NPC-dialoog
Een personage in je wereld dat de doeltaal van de speler op diens niveau spreekt, beurt voor beurt gestreamd.
- Oefenresultaten
Oefen een lesplan in je game, meld hoe het ging, en hoor ervan op je server.