Lingara Lingara Documentatie Gidsen API Bibliotheken Apps Bouwen Insluiten Webapp
Taal: Nederlands

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

  1. De spelerkit, in je game of op je pagina, heeft een token nodig en vraagt je server erom via zijn tokenbron.
  2. Je server controleert zijn eigen sessie voor die speler en geeft met de serverkit een token voor die speler uit.
  3. Je server geeft het token terug als twee velden, het token en de vervaltijd, via je eigen sessie en nooit in een URL.
  4. 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 bouwtJe serverWaar de speler speelt
Een Bevy-gameServerkitsBevy
Een Unity-gameServerkitsUnity
Een Godot-gameServerkitsGodot
Een Unreal-gameServerkitsUnreal
Een game op de JVM of AndroidServerkitsJVM en Android
Een websiteServerkitsWebsitewidget

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.