Opublikuj prostą grę HTML z aplikacji AI
Opublikuj jeden samodzielny plik HTML do 10 MiB przez upload_game: co się mieści, mini katalog, widoczność, aktualizacje i kiedy przejść na pakiet.
Prosta ścieżka publikuje jedną standardową grę HTML, taką jak zręcznościówka na canvasie albo łamigłówka w DOM, jednym wywołaniem upload_game. Nie wymaga PlayDrop SDK, folderu kompilacji ani dodatkowych plików i zwraca link, który każdy może otworzyć na telefonie lub komputerze.
Kiedy wystarczy prosta ścieżka
- Cała gra to jeden plik HTML o rozmiarze najwyżej 10 MiB (10 485 760 bajtów UTF-8), ze skryptami, stylami, obrazami i dźwiękami osadzonymi w środku.
- To zwykła gra przeglądarkowa: nie wywołuje PlayDrop SDK, więc nie ma zapisów w chmurze, rankingów, osiągnięć, udostępniania, grup, zakupów ani reklam.
- Nie potrzebuje osobnych plików: ani obrazów i filmów strony gry, ani serwera gry.
Jeśli którykolwiek z tych warunków nie jest spełniony, użyj zamiast tego pakietu. Zachowaj funkcje, o które prosił twój użytkownik; nigdy ich nie usuwaj ani nie spłaszczaj gry wieloplikowej, żeby zmieścić ją w tej ścieżce. Przesłanie odrzuca wywołania SDK, kod serwera i pola katalogu dostępne tylko w pakietach z błędem advanced_upload_required.
Wyślij grę
Wywołaj upload_game z nowym requestId, kompletnym HTML i mini katalogiem dla jednej gry:
{
"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"
}]
}
}nameto stały slug gry: 1–100 małych liter, cyfr lub myślników.tagsmuszą zawierać gatunek, taki jakgame-genre/casual; zobacz gatunki i tagi.typesdeklaruje, jak się w nią gra; gra z jednego pliku to zwykle["solo"]. Rozmiary grup i gra online wymagają pakietu.controller.supportokreśla rzeczywistą obsługę kontrolerów, łącznie zoff.authModedecyduje o logowaniu:NONElubOPTIONALpozwala grać każdemu; po pominięciu domyślnie przyjmujeREQUIRED. Dołączaj je przy każdej aktualizacji.primarySurfacewskazuje orientację, dla której zaprojektowano grę; proste przesłania są wyświetlane na komputerach oraz w orientacji poziomej i pionowej.
Pozostałe akceptowane pola to subtitle, emoji, color, license, creation, releaseNotes, inspirationPrompt, makingOf, sourceRepository, sourceLocale, offlineSupported i instant. PlayDrop sam nadaje numer wersji.
Wybierz, kto może grać
- Pomiń
visibility, aby nowa gra stosowała ustawienie konta twórcy (Publiczna, chyba że twórca wybrał opcję Niepubliczna lub Prywatna); aktualizacja zachowuje obecnych odbiorców gry. "private"zapisuje do testów wersję, którą może otworzyć tylko twórca. Opublikuj później dokładnie tę wersję przezpublish_game_version; nie przesyłaj jej ponownie."unlisted"publikuje ją dla każdego z linkiem, bez pokazywania na listach;"public"publikuje ją tak, by można ją było odkryć.
Postępuj zgodnie z prośbą użytkownika i nigdy nie udostępniaj gry szerzej, niż zamierzano. Zobacz, kto może grać.
Przeczytaj potwierdzenie przesłania
Potwierdzenie przesłania zawiera gameId, slug, version, status, visibility i url, czyli link właściciela do dokładnie tej wersji. Gry publiczne i niepubliczne dostają też shareUrl, stałą stronę gry; to ten link przekaż użytkownikowi. W przypadku wersji prywatnej przekaż url. instant i instantReason informują o kwalifikowalności do Instant.
Zaktualizuj grę
Wywołaj list_games, przekaż gameId gry i zachowaj jej name. Wyślij ponownie kompletny HTML i kompletny mini katalog: każde przesłanie to pełna migawka, a pominiętych pól nie ma w nowej wersji. Link pozostaje ten sam. Gra pierwotnie przesłana jako pakiet musi dalej korzystać ze ścieżki pakietu, aby jej pliki i funkcje nie przepadły.
Przejdź później na pakiet
Dodanie zapisów w chmurze, rankingu, grafiki strony gry lub serwera zmienia grę w pakiet. To zwykła aktualizacja tej samej gry: zachowaj name, prześlij ją przez prepare_catalogue_upload i ustaw expectedCurrentVersion na bieżącą wersję z list_games. Przeczytaj poradnik o pakowaniu.