Kiadások és OTA
Az export egy fájl, amit commitol. A kiadás egy pillanatkép, amit az alkalmazása letölt. A kiadásokkal úgy módosíthat egy fordítást, hogy nem ad ki új buildet.
Kiadás létrehozása
Szekció neve “Kiadás létrehozása”A projekt Kiadások lapjáról, vagy a GraphQL createRelease mutációval. A kiadás a projekt jóváhagyott fordításait az adott pillanatban érvényes állapotukban fagyasztja be.
| Mező | Jelentés |
|---|---|
version | Automatikusan kap értéket, projektenként növekszik |
name, description | Az Öné, hogy elmondja, mi változott |
splitByFiles | Fájlonként csoportosított-e a csomag — lásd lent |
languages | Mely nyelvek kerültek a csomagba |
segmentCount | Hány kulcsot hordoz a legteljesebb nyelv |
Csak approved állapotú fordítások kerülnek bele. Az a nyelv, amelyet senki sem fejezett be, a kész kulcsokkal jelenik meg és semmi mással, így egy befejezetlen nyelv nem akadályozza a kiadást — de érdemes megnézni a haladást, mielőtt kiadja.
A csomag alakja
Szekció neve “A csomag alakja”Alapból a csomag kulcs–érték lapos térkép, nyelvenként egy, ahol a forrásnyelv a forrásszövegeket hordozza:
{ "en": { "home.title": "Hello" }, "hu": { "home.title": "Szia" }}splitByFiles esetén a kulcsok aszerint csoportosulnak, melyik fájlból származnak:
{ "en": { "5f1c…": { "home.title": "Hello" } }, "hu": { "5f1c…": { "home.title": "Szia" } }}A lapos alakot akkor használja, ha az alkalmazás nyelvenként egy szótárat tölt be, a felosztottat akkor, ha egyszerre egy névteret.
A többes számú alakokat hordozó szegmens a teljes alaktérképét adja értékként, így a többes szám érintetlenül éli túl a kiadást.
Duplikált kulcsok
Szekció neve “Duplikált kulcsok”A kulcs a saját fájlján belül egyedi, nem a projekten belül, így két fájlban is lehet title. Lapos csomagban az ilyen kulcs csak egyszer jelenhet meg, ezért abból a fájlból kerül be, amely útvonal és név szerinti sorrendben az utolsó, és minden nyelv ugyanabból a fájlból jön: ha abban a fájlban nincs jóváhagyott fordítás egy nyelvre, a kulcs abból a nyelvből hiányzik, akkor is, ha egy másik fájlban van ilyen fordítás. A kiadás ezt a duplicateKeys listában rögzíti: a kulcsot, a fájlokat, amelyekben szerepel, és a usedFrom mezőt, vagyis az utolsó fájlt, amelyből az érték származik. A lista a kiadással együtt tér vissza, és a felületen is látszik.
Ezt a jelentést érdemes elolvasni, amikor először ad ki egy sok fájlra bontott projektet. Vagy nevezze át az ütköző kulcsokat, vagy váltson a kiadásnál splitByFiles módra: a fájlonként felosztott csomagban minden fájl megtartja a saját értékét, és a duplicateKeys üres.
OTA-terjesztés
Szekció neve “OTA-terjesztés”Minden projektnek egy terjesztése van: egy állandó hozzáférési kulcs, amely a kiadásait HTTP-n, hitelesítés nélkül szolgálja ki.
A Kiadások → Terjesztés alatt találja, vagy a GraphQL releaseDistribution lekérdezéssel. Ha a kulcs kiszivárog, generálja újra — a régi azonnal megszűnik működni, és minden kliensnek az újra lesz szüksége.
A végpontok
Szekció neve “A végpontok”GET https://api.ownlate.com/public/v1/ota/{accessKey}/manifestGET https://api.ownlate.com/public/v1/ota/{accessKey}/bundlesGET https://api.ownlate.com/public/v1/ota/{accessKey}/bundles/{language}A manifest kicsi, olcsó lekérdezni:
{ "version": 7, "languages": ["en", "hu", "de"], "publishedAt": "2026-08-20T09:31:00Z" }A csomagvégpontok a fordításokat adják vissza, minden nyelvre vagy egyre:
{ "version": 7, "language": "hu", "splitByFiles": false, "publishedAt": "2026-08-20T09:31:00Z", "translations": { "home.title": "Szia" }}Mindhárom alapból a legutóbbi kiadást szolgálja ki. Adja hozzá a ?version=5 paramétert, ha egy régebbihez akar rögzülni — hasznos, ha egy régi alkalmazásbuild olyan kulcsokat vár, amelyek a mostani kiadásban már nincsenek.
Gyorsítótárazás
Szekció neve “Gyorsítótárazás”A válaszok ETag fejlécet hordoznak, amely a verzióból és a közzététel idejéből származik. Küldjön If-None-Match fejlécet, és a változatlan csomag 304 Not Modified választ ad törzs nélkül. A csomagokat tömörítjük, ha a kliens jelzi, hogy elfogadja, és a tömörített alak is a gyorsítótárba kerül.
Egy értelmes kliens indításkor lekéri a manifestet, összeveti a verziót a tárolttal, és csak eltérés esetén tölti le a csomagot.