Dokumentacja
Zestaw klyo dla gry HTML5
Jeden plik dołączony do gry i twoja gra umie rozmawiać ze stroną, na której stoi: wysyła wynik na tablicę, zapisuje postęp gracza na serwerze, prosi o przerwę reklamową i pozwala nagrać klip. Gra nie dostaje dostępu ani do strony, ani do reklam, ani do serwera — prosi, a strona decyduje.
Jak dołączyć zestaw do gry
Jedna linia w pliku index.html, przed twoim skryptem. Zestaw działa też wtedy, gdy ktoś otworzy grę poza katalogiem — wywołania nie wywalają się, tylko odpowiadają natychmiast.
<script src="https://games.klyo.pl/sdk/klyo-gry-sdk.js"></script>
Jak zgłosić, że gra jest gotowa do grania
Wywołaj to, gdy gra się wczytała i da się w nią grać. Strona chowa wtedy zasłonę ładowania i przestaje pokazywać kręcące się kółko.
klyo.gotowa();
Jak wysłać wynik gracza na tablicę
Po każdej skończonej partii. Wynik trafia na tablicę na serwerze i do rekordów gracza — także wtedy, gdy zagra na drugim urządzeniu, jeśli ma konto.
klyo.wynik(1200, (o) => {
// o.rekord, o.rekord_dzis, o.pozycja_dzis
});
Jak pokazać dwadzieścia najlepszych wyników
Trzy okresy: dzien, tydzien, zawsze. Odpowiedź zawiera podpisy graczy — te same, które widać w społeczności.
klyo.tablica.pobierz("dzien", (t) => {
pokazTablice(t.wpisy);
});
Jak zapisać postęp gracza między urządzeniami
Do 64 KB na gracza i grę, po stronie serwera. Wczytaj na starcie, zapisuj po ważnych zmianach — nie po każdej klatce.
klyo.zapis.zapisz({ poziom: 4, zloto: 120 });
klyo.zapis.wczytaj((z) => {
if (z.ok && z.dane) wczytajStan(z.dane);
});
Jak wstawić przerwę reklamową w dobrym miejscu
Ty wybierasz moment, nie my. Dobre miejsca to koniec poziomu i ekran po przegranej; złe to środek walki. Gra czeka na wywołanie zwrotne, zanim ruszy dalej.
klyo.przerwa("miedzy-poziomami", () => {
wznowGre();
});
Jak dać reklamę za nagrodę
Gracz sam ją włącza przyciskiem — „obejrzyj i zgarnij bonus”. Nagrodę dajesz WYŁĄCZNIE wtedy, gdy odpowiedź ma ok równe prawda; fałsz znaczy, że reklamy nie było, nie dobiegła końca albo gracz ją zamknął.
przyciskBonus.onclick = () => {
klyo.nagroda((o) => {
if (o.ok) dajBonus(500);
else powiedz("Bonus następnym razem.");
});
};
Jak poprosić o pełny ekran
Przeglądarki wpuszczają na pełny ekran tylko w odpowiedzi na kliknięcie gracza, więc wywołaj to z obsługi kliknięcia, a nie po wczytaniu gry.
klyo.pelnyEkran();
Jak pozwolić graczowi nagrać klip z twojej gry
Jedna linia i gracz ma na stronie działający przycisk nagrywania. Klatki nie przechodzą przez granicę okien — gra koduje je u siebie i oddaje gotowe bajty, dlatego działa to także na telefonie, gdzie nagrywania ekranu w przeglądarce nie ma.
klyo.obraz(mojePlotno);
Czego zestaw nie robi i czego nie wolno wgrać
Gra nie może zawierać własnych reklam. Żadnej obcej sieci: AdMob, AdSense, Unity Ads, AppLovin, ironSource, Poki, CrazyGames ani podobnych. Sito przy wgrywaniu odrzuca taką paczkę i podaje nazwę znalezionej sieci.
Dlaczego tak. Reklamy odtwarza nasza strona wokół ramki z grą. Dzięki temu jest jedno konto wydawcy, jedno rozliczenie i sprawdzalny udział twórcy. Dwóch wydawców na jednej odsłonie to dla Google nieprawidłowość karana wyłączeniem konta — naszego i pośrednio twojego.
Gra nie sięga do strony ani do serwera. Nie ma dostępu do ciasteczek, do konta gracza ani do danych innych gier: stoi na własnym adresie i rozmawia ze stroną wyłącznie tymi wywołaniami. Dlatego możemy przyjmować cudze gry, nie czytając ich kodu linia po linii.
Reklamy jeszcze nie chodzą. Portal czeka na zatwierdzenie przez Google AdSense. Przerwa i nagroda działają już teraz na zaślepce, więc całą mechanikę bonusu zbudujesz i przetestujesz przed pierwszą złotówką.
Co się dzieje, gdy ktoś otworzy grę poza klyo
Nic się nie psuje. Przerwa wraca natychmiast, wynik i zapis zostają w pamięci przeglądarki, a klip po prostu nie ma gdzie się zapisać. Możesz więc trzymać jedną wersję gry na wszystko — nie potrzebujesz osobnej paczki dla nas.
Czego wymagamy od paczki
- Plik index.html w katalogu głównym paczki ZIP — od niego zaczyna się gra.
- Gra ma działać bez instalacji i bez konta, w przeglądarce, także na telefonie.
- Do 100 MB. Sito sprawdza rozmiar, brakujące pliki, obce sieci reklamowe i ślady złośliwego kodu — w kilkanaście sekund.
- Ankieta wieku wypełniana przy wgrywaniu daje etykietę, która decyduje o widoczności i o wejściu do aplikacji sklepowych.