ytgame
Przestrzeń nazw najwyższego poziomu w przypadku pakietu SDK Pokoju gier na YouTube.
Jest to zmienna o zasięgu globalnym w bieżącym oknie. Nie wolno zastępować tej zmiennej.
Jest to zmienna o zasięgu globalnym w bieżącym oknie. Nie wolno zastępować tej zmiennej.
| Przestrzenie nazw | |
|---|---|
ads
|
Funkcje i właściwości związane z reklamami. |
engagement
|
Funkcje i właściwości związane z zaangażowaniem graczy. |
game
|
Funkcje i właściwości związane z ogólnymi zachowaniami w grze. |
health
|
Funkcje i właściwości związane ze stanem gry. |
system
|
Funkcje i właściwości związane z systemem YouTube. |
| Wyliczenia | |
|---|---|
Sdk
|
Rodzaje błędów, które zgłasza pakiet SDK Pokoju gier na YouTube. |
| Zajęcia | |
|---|---|
Sdk
|
Obiekt błędu zgłaszany przez pakiet SDK Pokoju gier na YouTube. |
| Zmienne | |
|---|---|
IN_
|
Informacja o tym, czy gra jest uruchomiona w środowisku Pokoju gier. |
SDK_
|
Wersja pakietu SDK Pokoju gier na YouTube. |
Wyliczenia
Const SdkErrorType
SdkErrorType
Zmienne
Const IN_PLAYABLES_ENV
IN_PLAYABLES_ENV: boolean
ytgame, aby mieć pewność, że pakiet SDK został wczytany.
- Przykład
-
const inPlayablesEnv = typeof ytgame !== "undefined" && ytgame.IN_PLAYABLES_ENV;
// An example of where you may want to fork behavior for saving data. if (ytgame?.IN_PLAYABLES_ENV) { ytgame.game.saveData(dataStr); } else { window.localStorage.setItem("SAVE_DATA", dataStr); }
Const SDK_VERSION
SDK_VERSION: string
- Przykład
-
// Prints the SDK version to console. Do not do this in production. console.log(ytgame.SDK_VERSION);
ytgame.SdkError
Przedłuża
Error
Obiekt błędu zgłaszany przez pakiet SDK Pokoju gier na YouTube.
Obiekt
Obiekt
SdkError jest elementem podrzędnym obiektu Error i zawiera dodatkowe pole.
| Zespoły | |
|---|---|
constructor
|
|
| Właściwości | |
|---|---|
error
|
Typ błędu. |
message
|
|
name
|
|
stack
|
|
Właściwości
errorType
errorType:
SdkErrorType
ytgame.ads
Funkcje i właściwości związane z reklamami.
| Funkcje | |
|---|---|
request
|
Żąda wyświetlenia reklamy pełnoekranowej. |
request
|
Wysyła prośbę o wyświetlenie reklamy z nagrodą w przypadku określonego typu nagrody. |
Funkcje
requestInterstitialAd
requestInterstitialAd(): Promise<void>
Wysyła żądanie wyświetlenia reklamy pełnoekranowej.
Nie gwarantuje, że reklama zostanie wyświetlona. Nie używaj tego interfejsu API do nagradzania graczy za oglądanie reklam.
Nie gwarantuje, że reklama zostanie wyświetlona. Nie używaj tego interfejsu API do nagradzania graczy za oglądanie reklam.
- Przykład
-
try { await ytgame.ads.requestInterstitialAd(); // Ad request successful, do something else. } catch (error) { // Handle errors, retry logic, etc. // Note that error may be undefined. }
| Zwroty | |
|---|---|
Promise<void>
|
obietnica, która jest spełniana w przypadku udanego żądania lub odrzucana/zgłaszana w przypadku nieudanego żądania. |
requestRewardedAd
requestRewardedAd(rewardId: string): Promise<boolean>
Wysyła żądanie wyświetlenia reklamy z nagrodą w przypadku określonego typu nagrody.
Nie gwarantuje, że reklama została wyświetlona.
Nie gwarantuje, że reklama została wyświetlona.
- Przykład
-
try { const isRewardEarned = await ytgame.ads.requestRewardedAd("21403813-2e22-4316-a8b2-7d4f52a6f6fb"); // Handle reward being earned or not. } catch (error) { // Handle errors, retry logic, etc. // Note that error may be undefined. }
| Parametry | |
|---|---|
rewardId: string
|
Wymagane. Identyfikator, który w niepowtarzalny sposób określa typ nagrody, którą można odebrać.
Musisz użyć unikalnego identyfikatora dla każdego typu nagrody i ponownie wykorzystywać ten sam identyfikator przy każdym oferowaniu tego konkretnego typu nagrody. Możesz na przykład ustawić identyfikator w formacie czytelnym lub UUID. Możesz umieścić ten identyfikator w kodzie gry jako identyfikator zakodowany na stałe dla konkretnej nagrody. Wymagamy tylko podania identyfikatora, który nie może zawierać danych użytkownika. Przykład:
|
| Zwroty | |
|---|---|
Promise<boolean>
|
Obietnica, która jest spełniana w przypadku udanej prośby z wartością „prawda”, jeśli użytkownik spełnił warunki otrzymania nagrody, lub „fałsz”, jeśli ich nie spełnił. Obietnica odrzuca lub zgłasza błąd w przypadku nieudanego żądania. |
ytgame.engagement
Funkcje i właściwości związane z zaangażowaniem graczy.
| Interfejsy | |
|---|---|
Score
|
Obiekt wyniku, który gra wysyła do YouTube. |
| Funkcje | |
|---|---|
send
|
Wysyła wynik do YouTube. |
Funkcje
sendScore
sendScore(score: Score): Promise<void>
Wysyła wynik do YouTube.
Wynik powinien odzwierciedlać jeden z wymiarów postępu w grze. Jeśli jest kilka wymiarów, deweloper musi wybrać jeden z nich, aby zachować spójność. Wyniki będą sortowane, a najwyższy rekord będzie wyświetlany w interfejsie YouTube. Interfejs rekordów w grze powinien być zgodny z danymi przesyłanymi przez ten interfejs API.
Wynik powinien odzwierciedlać jeden z wymiarów postępu w grze. Jeśli jest kilka wymiarów, deweloper musi wybrać jeden z nich, aby zachować spójność. Wyniki będą sortowane, a najwyższy rekord będzie wyświetlany w interfejsie YouTube. Interfejs rekordów w grze powinien być zgodny z danymi przesyłanymi przez ten interfejs API.
- Przykład
-
async function onScoreAwarded(score: number) { try { await ytgame.engagement.sendScore({ value: score }); // Score sent successfully, do something else. } catch (error) { // Handle errors, retry logic, etc. // Note that error may be undefined. } }
| Parametry | |
|---|---|
score:
Score
|
wynik do wysłania do YouTube. |
| Zwroty | |
|---|---|
Promise<void>
|
Obietnica, która jest spełniana w przypadku powodzenia i odrzucana lub zgłasza błąd ytgame.SdkError w przypadku niepowodzenia.
|
ytgame.engagement.Score
Obiekt wyniku, który gra wysyła do YouTube.
| Właściwości | |
|---|---|
value
|
Wartość wyniku wyrażona jako liczba całkowita. |
Właściwości
value
value: number
ytgame.game
Funkcje i właściwości związane z ogólnymi zachowaniami w grze.
| Funkcje | |
|---|---|
first
|
Informuje YouTube, że gra zaczęła wyświetlać klatki. |
game
|
Powiadamia YouTube, że gra jest gotowa do interakcji z graczami.
|
load
|
Wczytuje dane z gry z YouTube w postaci zserializowanego ciągu znaków. |
save
|
Zapisuje dane z gry w YouTube w postaci serializowanego ciągu tekstowego. |
Funkcje
firstFrameReady
firstFrameReady(): void
Informuje YouTube, że gra zaczęła wyświetlać klatki.
Gra MUSI wywołać ten interfejs API. W przeciwnym razie gra nie będzie wyświetlana użytkownikom. Metodę
Gra MUSI wywołać ten interfejs API. W przeciwnym razie gra nie będzie wyświetlana użytkownikom. Metodę
firstFrameReady() MUSI wywołać przed metodą gameReady().
- Przykład
-
function onGameInitialized() { ytgame.game.firstFrameReady(); }
gameReady
gameReady(): void
Powiadamia YouTube, że gra jest gotowa do interakcji z graczami.
Gra MUSI wywołać ten interfejs API, gdy będzie można z niej korzystać. Gra NIE MOŻE wywoływać tego interfejsu API, gdy nadal wyświetla się ekran wczytywania. W przeciwnym razie gra nie przejdzie procesu certyfikacji YouTube.
Gra MUSI wywołać ten interfejs API, gdy będzie można z niej korzystać. Gra NIE MOŻE wywoływać tego interfejsu API, gdy nadal wyświetla się ekran wczytywania. W przeciwnym razie gra nie przejdzie procesu certyfikacji YouTube.
- Przykład
-
function onGameInteractable() { ytgame.game.gameReady(); }
loadData
loadData(): Promise<string>
Wczytuje dane z gry z YouTube w postaci serializowanego ciągu znaków.
Gra musi obsługiwać analizowanie ciągu znaków i przekształcanie go do formatu wewnętrznego.
Gra musi obsługiwać analizowanie ciągu znaków i przekształcanie go do formatu wewnętrznego.
- Przykład
-
async function gameSetup() { try { const data = await ytgame.game.loadData(); // Load succeeded, do something with data. } catch (error) { // Handle errors, retry logic, etc. // Note that error may be undefined. } }
| Zwroty | |
|---|---|
Promise<string>
|
Obietnica, która jest spełniana, gdy wczytywanie się powiedzie, i odrzucana z obiektem ytgame.SdkError, gdy się nie powiedzie.
|
saveData
saveData(data: string): Promise<void>
Zapisuje dane z gry w YouTube w postaci serializowanego ciągu znaków.
Ciąg znaków musi być prawidłowym, dobrze sformatowanym ciągiem znaków UTF-16 o maksymalnym rozmiarze 3 MiB. Gra musi obsługiwać wszelkie analizowanie ciągu znaków i przekształcanie go w format wewnętrzny. W razie potrzeby użyj
Ciąg znaków musi być prawidłowym, dobrze sformatowanym ciągiem znaków UTF-16 o maksymalnym rozmiarze 3 MiB. Gra musi obsługiwać wszelkie analizowanie ciągu znaków i przekształcanie go w format wewnętrzny. W razie potrzeby użyj
String.isWellFormed(), aby sprawdzić, czy ciąg jest prawidłowo sformatowany.
- Przykład
-
async function saveGame() { try { ytgame.game.saveData(JSON.stringify(gameSave)); // Save succeeded. } catch (error) { // Handle errors, retry logic, etc. // Note that error may be undefined. } }
| Parametry | |
|---|---|
data: string
|
|
| Zwroty | |
|---|---|
Promise<void>
|
Obietnica, która jest spełniana, gdy zapisywanie się powiodło, i odrzucana z błędem ytgame.SdkError, gdy się nie powiodło.
|
ytgame.health
Funkcje i właściwości związane ze stanem gry.
| Funkcje | |
|---|---|
log
|
Rejestruje błąd w YouTube. |
log
|
Rejestruje ostrzeżenie w YouTube. |
Funkcje
logError
logError(): void
Rejestruje błąd w YouTube.
Uwaga: ten interfejs API działa w trybie najlepszej jakości i ma ograniczone limity, co może powodować utratę danych.
Uwaga: ten interfejs API działa w trybie najlepszej jakości i ma ograniczone limity, co może powodować utratę danych.
- Przykład
-
function onError() { ytgame.health.logError(); }
logWarning
logWarning(): void
Rejestruje ostrzeżenie w YouTube.
Uwaga: ten interfejs API działa na zasadzie „najlepszych starań” i ma ograniczone limity, co może powodować utratę danych.
Uwaga: ten interfejs API działa na zasadzie „najlepszych starań” i ma ograniczone limity, co może powodować utratę danych.
- Przykład
-
function onWarning() { ytgame.health.logWarning(); }
ytgame.system
Funkcje i właściwości związane z systemem YouTube.
| Funkcje | |
|---|---|
get
|
Zwraca język ustawiony w ustawieniach YouTube użytkownika w postaci tagu języka zgodnego ze standardem BCP-47.
|
is
|
Informuje, czy dźwięk z gry jest włączony w ustawieniach YouTube. |
on
|
Ustawia wywołanie zwrotne, które ma być uruchamiane, gdy z YouTube zostanie wysłane zdarzenie zmiany ustawień dźwięku.
|
on
|
Ustawia wywołanie zwrotne, które ma być wywoływane, gdy z YouTube zostanie wyemitowane zdarzenie wstrzymania gry.
|
on
|
Ustawia wywołanie zwrotne, które ma być uruchamiane, gdy z YouTube zostanie wywołane zdarzenie wznowienia gry.
|
Funkcje
getLanguage
getLanguage(): Promise<string>
Zwraca język ustawiony w ustawieniach YouTube użytkownika w postaci tagu języka BCP-47.
Nie używaj innych funkcji do określania języka lub ustawień regionalnych użytkownika ani nie przechowuj jego preferencji językowych w zapisie w chmurze. Zamiast tego używaj tej funkcji, aby zapewnić spójność wrażeń użytkowników w YouTube.
Nie używaj innych funkcji do określania języka lub ustawień regionalnych użytkownika ani nie przechowuj jego preferencji językowych w zapisie w chmurze. Zamiast tego używaj tej funkcji, aby zapewnić spójność wrażeń użytkowników w YouTube.
- Przykład
-
const localeTag = await ytgame.system.getLanguage(); // `localeTag` is now set to something like "en-US" or "es-419".
| Zwroty | |
|---|---|
Promise<string>
|
Obietnica, która jest spełniana, gdy pobieranie języka się powiedzie, a odrzucana z wartością ytgame.SdkError, gdy się nie powiedzie.
|
isAudioEnabled
isAudioEnabled(): boolean
Zwraca informację, czy dźwięk z gry jest włączony w ustawieniach YouTube.
Gra POWINNA używać tej funkcji do inicjowania stanu dźwięku z gry.
Gra POWINNA używać tej funkcji do inicjowania stanu dźwięku z gry.
- Przykład
-
function initGameSound() { if (ytgame.system.isAudioEnabled()) { // Enable game audio. } else { // Disable game audio. } }
| Zwroty | |
|---|---|
boolean
|
wartość logiczna wskazująca, czy dźwięk jest włączony. |
onAudioEnabledChange
onAudioEnabledChange(callback: ((isAudioEnabled: boolean) => void)): (() => void)
Ustawia wywołanie zwrotne, które ma być aktywowane, gdy z YouTube zostanie wyemitowane zdarzenie zmiany ustawień dźwięku.
Gra MUSI używać tego interfejsu API do aktualizowania stanu dźwięku w grze.
Gra MUSI używać tego interfejsu API do aktualizowania stanu dźwięku w grze.
- Przykład
-
ytgame.system.onAudioEnabledChange((isAudioEnabled) => { if (isAudioEnabled) { // Enable game audio. } else { // Disable game audio. } });
| Parametry | |
|---|---|
callback: ((isAudioEnabled: boolean) => void)
|
funkcja wywołania zwrotnego, która ma zostać wywołana. |
| Zwroty | |
|---|---|
(() => void)
|
funkcja usuwania wywołania zwrotnego, która jest zwykle nieużywana. |
onPause
onPause(callback: (() => void)): (() => void)
Ustawia wywołanie zwrotne, które ma być wywoływane, gdy z YouTube zostanie wyemitowane zdarzenie wstrzymania gry. Gra ma krótki czas na zapisanie stanu przed usunięciem.
onPause jest wywoływana w przypadku wszystkich typów wstrzymania, w tym gdy użytkownik opuści grę. Nie ma gwarancji, że gra zostanie wznowiona.
onPause jest wywoływana w przypadku wszystkich typów wstrzymania, w tym gdy użytkownik opuści grę. Nie ma gwarancji, że gra zostanie wznowiona.
- Przykład
-
ytgame.system.onPause(() => { pauseGame(); }); function pauseGame() { // Logic to pause game state. }
| Parametry | |
|---|---|
callback: (() => void)
|
funkcja wywołania zwrotnego, która ma zostać wywołana. |
| Zwroty | |
|---|---|
(() => void)
|
funkcja usuwania wywołania zwrotnego, która jest zwykle nieużywana. |
onResume
onResume(callback: (() => void)): (() => void)
Ustawia wywołanie zwrotne, które ma zostać wywołane, gdy z YouTube zostanie wyemitowane zdarzenie wznowienia gry.
Po wstrzymaniu gry nie ma gwarancji, że zostanie ona wznowiona.
Po wstrzymaniu gry nie ma gwarancji, że zostanie ona wznowiona.
- Przykład
-
ytgame.system.onResume(() => { resumeGame(); }); function resumeGame() { // Logic to resume game state. }
| Parametry | |
|---|---|
callback: (() => void)
|
funkcja wywołania zwrotnego, która ma zostać wywołana. |
| Zwroty | |
|---|---|
(() => void)
|
funkcja usuwania wywołania zwrotnego, która jest zwykle nieużywana. |