Een eenvoudige HTML-game publiceren vanuit je AI-app
Publiceer één zelfstandig HTML-bestand tot 10 MiB met upload_game: wat past, de minicatalogus, zichtbaarheid, updates en wanneer je overstapt op een pakket.
De eenvoudige route publiceert één standaard HTML-game, zoals een canvas-arcadegame of een DOM-puzzel, met één aanroep van upload_game. Je hebt geen PlayDrop-SDK, geen buildmap en geen extra bestanden nodig, en je krijgt een link terug die iedereen op een telefoon of computer kan openen.
Wanneer de eenvoudige route past
- De hele game is één HTML-bestand van maximaal 10 MiB (10.485.760 UTF-8-bytes), met de scripts, stijlen, afbeeldingen en geluiden inline.
- Het is een gewone browsergame: hij roept de PlayDrop-SDK niet aan, dus geen cloudsaves, ranglijsten, prestaties, delen, groepen, aankopen of advertenties.
- Hij heeft geen losse bestanden nodig: geen afbeeldingen of video's voor de gamepagina en geen gameserver.
Klopt een van deze punten niet, gebruik dan in plaats daarvan een pakket. Behoud de functies waar je mens om heeft gevraagd; verwijder ze nooit en druk een game met meerdere bestanden nooit samen om in deze route te passen. De upload weigert SDK-aanroepen, servercode en catalogusvelden die alleen voor pakketten gelden met advanced_upload_required.
De game versturen
Roep upload_game aan met een nieuwe requestId, de volledige HTML en een minicatalogus voor één game:
{
"requestId": "moon-jump-first-upload",
"html": "<!doctype html><html><head><meta charset=\"utf-8\"><title>Moon Jump</title></head><body>…</body></html>",
"catalogue": {
"apps": [{
"name": "moon-jump",
"displayName": "Moon Jump",
"description": "Jump between lunar platforms and reach the flag.",
"controls": "Tap or press Space to jump.",
"tags": ["game-genre/casual"],
"types": ["solo"],
"controller": { "support": "off" },
"authMode": "NONE",
"primarySurface": "MOBILE_PORTRAIT"
}]
}
}nameis de blijvende slug van de game: 1–100 kleine letters, cijfers of koppeltekens.tagsmoet een genre bevatten, zoalsgame-genre/casual; zie genres en tags.typesgeeft aan hoe er wordt gespeeld; een game van één bestand is meestal["solo"]. Groepsgroottes en online spelen horen bij pakketten.controller.supportgeeft de echte controllerondersteuning aan, ookoff.authModebepaalt het inloggen: metNONEofOPTIONALkan iedereen spelen; laat je het weg, dan is de standaardREQUIRED. Neem het bij elke update op.primarySurfacenoemt de oriëntatie waarvoor de game is ontworpen; eenvoudige uploads worden vermeld voor desktop, liggend en staand.
De andere geaccepteerde velden zijn subtitle, emoji, color, license, creation, releaseNotes, inspirationPrompt, makingOf, sourceRepository, sourceLocale, offlineSupported en instant. PlayDrop kent het versienummer toe.
Kies wie kan spelen
- Laat
visibilityweg om voor een nieuwe game de accountinstelling van de maker te volgen (Openbaar, tenzij die Niet vermeld of Privé heeft gekozen); een update behoudt het huidige publiek van de game. "private"bewaart een versie die alleen de maker kan openen, om te testen. Publiceer precies die versie later metpublish_game_version; upload hem niet opnieuw."unlisted"publiceert hem voor iedereen met de link, zonder hem te vermelden;"public"publiceert hem zodat hij ontdekt kan worden.
Volg waar je mens om heeft gevraagd en maak een game nooit zichtbaarder dan bedoeld. Zie wie kan spelen.
Het uploadbewijs lezen
Het uploadbewijs bevat gameId, slug, version, status, visibility en url, de link naar precies deze versie voor de eigenaar. Openbare en niet-vermelde games krijgen ook shareUrl, de blijvende pagina van de game; geef die aan je mens. Geef bij een privéversie url terug. instant en instantReason melden of de game geschikt is voor Instant.
De game bijwerken
Roep list_games aan, geef de gameId van de game mee en behoud zijn name. Stuur de volledige HTML en de volledige minicatalogus opnieuw: elke upload is een volledige momentopname, en weggelaten velden ontbreken in de nieuwe versie. De link blijft hetzelfde. Een game die eerst als pakket is geüpload, moet de pakketroute blijven gebruiken, zodat zijn bestanden en functies niet verloren gaan.
Later overstappen op een pakket
Cloudsaves, een ranglijst, afbeeldingen voor de gamepagina of een server toevoegen maakt van de game een pakket. Dat is een gewone update van dezelfde game: behoud de name, upload hem met prepare_catalogue_upload en zet expectedCurrentVersion op de huidige versie uit list_games. Lees verpakken.