Referenz zum YouTube Playables SDK


ytgame

Der Top-Level-Namespace für das YouTube Playables SDK.

Dies ist eine global gültige Variable im aktuellen Fenster. Diese Variable DARF NICHT überschrieben werden.
Namespaces
ads
🧪 ÖFFENTLICHE VORSCHAU-API: ÄNDERUNGEN VORBEHALTEN.
engagement
Die Funktionen und Properties, die sich auf das Engagement der Spieler beziehen.
game
Die Funktionen und Properties, die sich auf allgemeine Spielfunktionen beziehen.
health
Die Funktionen und Properties, die sich auf die Gesundheit des Spiels beziehen.
system
Funktionen und Properties, die sich auf das YouTube-System beziehen.
Aufzählungen
SdkErrorType
Die Arten von Fehlern, die vom YouTube Playables SDK geworfen werden.
Klassen
SdkError
Das Fehlerobjekt, das vom YouTube Playables SDK geworfen wird.
Variablen
IN_PLAYABLES_ENV
Gibt an, ob das Spiel in der Playables-Umgebung ausgeführt wird.
SDK_VERSION
Die YouTube Playables SDK-Version.
Weitere Informationen

Aufzählungen


Const SdkErrorType

SdkErrorType
Die Arten von Fehlern, die vom YouTube Playables SDK geworfen werden.
Elemente einer Aufzählung
API_UNAVAILABLE
Die API war vorübergehend nicht verfügbar.

Bitte Spieler, es später noch einmal zu versuchen, wenn sie sich in einem kritischen Ablauf befinden.
INVALID_PARAMS
Die API wurde mit ungültigen Parametern aufgerufen.
SIZE_LIMIT_EXCEEDED
Die API wurde mit Parametern aufgerufen, die das Größenlimit überschreiten.
UNKNOWN
Der Fehlertyp ist unbekannt.

Variablen


Const IN_PLAYABLES_ENV

IN_PLAYABLES_ENV: boolean
Gibt an, ob das Spiel in der Playables-Umgebung ausgeführt wird. So kannst du festlegen, ob Funktionen aktiviert oder deaktiviert werden sollen, die nur in Playables verfügbar sind. Kombiniere diese Prüfung mit der Prüfung auf ytgame, um sicherzustellen, dass das SDK tatsächlich geladen wird.
Beispiel
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
Die YouTube Playables SDK-Version.
Beispiel
// Prints the SDK version to console. Do not do this in production.
console.log(ytgame.SDK_VERSION);

ytgame.SdkError

Erweitert Error
Das Fehlerobjekt, das vom YouTube Playables SDK ausgegeben wird.

Das SdkError-Objekt ist ein untergeordnetes Element von Error und enthält ein zusätzliches Feld.
Konstruktoren
constructor
Attribute
errorType
Die Art des Fehlers.
message
name
stack?

Attribute


errorType

errorType: SdkErrorType
Die Art des Fehlers.

ytgame.ads

🧪 ÖFFENTLICHE VORSCHAU-API: ÄNDERUNGEN VORBEHALTEN.

Die Funktionen und Properties, die sich auf Anzeigen beziehen.
Funktionen
requestInterstitialAd
Erfordert die Auslieferung einer Interstitial-Anzeige.

Funktionen


requestInterstitialAd

requestInterstitialAd(): Promise<void>
Experimental Erfordert die Auslieferung einer Interstitial-Anzeige.

🧪 ÖFFENTLICHE API-VORABVERSION: OHNE ANGABE VON GÜLTIGKEITSDATEN.

Es wird keine Garantie dafür übernommen, ob die Anzeige ausgeliefert wurde.
Beispiel
try {
  await ytgame.ads.requestInterstitialAd();
  // Ad request successful, do something else.
} catch (error) {
  // Handle errors, retry logic, etc.
  // Note that error may be undefined.
}
Ausgabe
Promise<void> ein Versprechen, das bei einer erfolgreichen Anfrage erfüllt oder bei einer fehlgeschlagenen Anfrage abgelehnt oder geworfen wird.

ytgame.engagement

Die Funktionen und Properties, die sich auf das Engagement der Spieler beziehen.
Schnittstellen
Content
Das Inhaltsobjekt, das vom Spiel an YouTube gesendet wird.
Score
Das Punkteobjekt, das das Spiel an YouTube sendet.
Funktionen
openYTContent
Er bittet YouTube, Inhalte zu öffnen, die der angegebenen Video-ID entsprechen.
sendScore
Es wird eine Bewertung an YouTube gesendet.

Funktionen


openYTContent

openYTContent(content: Content): Promise<void>
YouTube wird aufgefordert, Inhalte zu öffnen, die der angegebenen Video-ID entsprechen.

In der Regel wird das Video im Web in einem neuen Tab und auf Mobilgeräten im Miniplayer geöffnet.
Beispiel
async function showVideo(videoID: string) {
  try {
    await ytgame.engagement.openYTContent({ id: videoID });
    // Request successful, do something else.
  } catch (error) {
    // Handle errors, retry logic, etc.
    // Note that error may be undefined.
  }
}
Parameter
content: Content Inhalte, die auf YouTube geöffnet werden sollen.
Ausgabe
Promise<void> Ein Versprechen, das bei Erfolg erfüllt und bei Fehler abgelehnt oder mit einer ytgame.SdkError-Ausnahme ausgelöst wird.

sendScore

sendScore(score: Score): Promise<void>
Es wird ein Wert an YouTube gesendet.

Der Wert sollte eine Dimension des Fortschritts im Spiel darstellen. Wenn mehrere Dimensionen vorhanden sind, muss der Entwickler eine Dimension auswählen, um für Einheitlichkeit zu sorgen. Die Punktzahlen werden sortiert und die höchste Punktzahl wird in der YouTube-Benutzeroberfläche angezeigt. Die In-Game-Bestenlisten sollten also mit den Daten übereinstimmen, die über diese API gesendet werden.
Beispiel
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.
  }
}
Parameter
score: Score die an YouTube gesendet werden soll.
Ausgabe
Promise<void> Ein Versprechen, das bei Erfolg erfüllt und bei Fehler abgelehnt oder mit einer ytgame.SdkError-Ausnahme ausgelöst wird.

ytgame.engagement.Content

Das Inhaltsobjekt, das vom Spiel an YouTube gesendet wird.
Attribute
id
Die ID des Videos, das wir öffnen möchten.

Attribute


id

id: string
Die ID des Videos, das wir öffnen möchten.

ytgame.engagement.Score

Das Punkteobjekt, das das Spiel an YouTube sendet.
Attribute
value
Der Bewertungswert als Ganzzahl.

Attribute


Wert

value: number
Der Bewertungswert als Ganzzahl. Der Wert muss kleiner oder gleich der maximalen sicheren Ganzzahl sein. Andernfalls wird die Bewertung abgelehnt.

ytgame.game

Die Funktionen und Properties, die sich auf allgemeine Spielfunktionen beziehen.
Funktionen
firstFrameReady
Benachrichtigt YouTube, dass das Spiel Frames anzeigt.
gameReady
Benachrichtigt YouTube, dass das Spiel für Interaktionen von Nutzern bereit ist.
loadData
Lädt Spieldaten von YouTube in Form eines serialisierten Strings.
saveData
Speichert Spieldaten in Form eines serialisierten Strings auf YouTube.

Funktionen


firstFrameReady

firstFrameReady(): void
Benachrichtigt YouTube darüber, dass das Spiel Frames anzeigt.

Das Spiel MUST diese API aufrufen. Andernfalls wird das Spiel Nutzern nicht angezeigt. firstFrameReady() MUST vor gameReady() aufgerufen werden.
Beispiel
function onGameInitialized() {
  ytgame.game.firstFrameReady();
}

gameReady

gameReady(): void
Benachrichtigt YouTube darüber, dass das Spiel für Spieler bereit ist.

Das Spiel MUST diese API aufrufen, wenn es interaktiv ist. Das Spiel DARF DIES NICHT tun, solange ein Ladebildschirm angezeigt wird. Andernfalls besteht das Spiel die YouTube-Zertifizierung nicht.
Beispiel
function onGameInteractable() {
  ytgame.game.gameReady();
}

loadData

loadData(): Promise<string>
Lädt Spieldaten von YouTube in Form eines serialisierten Strings.

Das Spiel muss das Parsen zwischen dem String und einem internen Format verarbeiten.
Beispiel
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.
  }
}
Ausgabe
Promise<string> Ein Versprechen, das abgeschlossen wird, wenn das Laden erfolgreich war, und bei einem Fehler mit einer ytgame.SdkError abgelehnt wird.

saveData

saveData(data: string): Promise<void>
Speichert Spieldaten in YouTube in Form eines serialisierten Strings.

Der String muss ein gültiger, korrekt formatierter UTF-16-String mit einer maximalen Größe von 3 MiB sein. Das Spiel muss das Parsen zwischen dem String und einem internen Format verarbeiten. Verwenden Sie bei Bedarf String.isWellFormed(), um zu prüfen, ob der String korrekt formatiert ist.
Beispiel
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.
  }
}
Parameter
data: string
Ausgabe
Promise<void> Ein Versprechen, das bei erfolgreichem Speichern erfüllt und bei Fehlern mit ytgame.SdkError abgelehnt wird.

ytgame.health

Die Funktionen und Properties, die sich auf die Gesundheit des Spiels beziehen.
Funktionen
logError
Er protokolliert einen Fehler in YouTube.
logWarning
Es wird eine Warnung in YouTube protokolliert.

Funktionen


logError

logError(): void
Es wird ein Fehler bei YouTube protokolliert.

Hinweis:Diese API ist ein Best-Effort-Dienst und hat eine Ratenbegrenzung. Das kann zu Datenverlusten führen.
Beispiel
function onError() {
  ytgame.health.logError();
}

logWarning

logWarning(): void
Es wird eine Warnung bei YouTube protokolliert.

Hinweis:Diese API ist ein Best-Effort-Dienst und hat eine Ratenbegrenzung. Das kann zu Datenverlusten führen.
Beispiel
function onWarning() {
  ytgame.health.logWarning();
}

ytgame.system

Funktionen und Properties, die sich auf das YouTube-System beziehen.
Funktionen
getLanguage
Gibt die Sprache zurück, die in den YouTube-Einstellungen des Nutzers festgelegt ist, in Form eines BCP-47-Sprachtags.
isAudioEnabled
Gibt zurück, ob der Spielaudiotrack in den YouTube-Einstellungen aktiviert ist.
onAudioEnabledChange
Hiermit wird ein Callback festgelegt, der ausgelöst wird, wenn das Ereignis „Änderung der Audioeinstellungen“ von YouTube ausgelöst wird.
onPause
Hiermit wird ein Callback festgelegt, der ausgelöst wird, wenn ein Ereignis vom Typ „Spiel pausieren“ von YouTube gesendet wird.
onResume
Hiermit wird ein Rückruf ausgelöst, wenn ein Ereignis vom Typ „Spiel fortsetzen“ von YouTube gesendet wird.

Funktionen


getLanguage

getLanguage(): Promise<string>
Gibt die Sprache zurück, die in den YouTube-Einstellungen des Nutzers festgelegt ist, in Form eines BCP-47-Sprachtags.

Verwende keine anderen Funktionen, um die Sprache oder das Gebietsschema des Nutzers zu ermitteln oder seine Spracheinstellungen in der Cloud zu speichern. Verwende stattdessen diese Funktion, um für eine einheitliche Nutzererfahrung auf YouTube zu sorgen.
Beispiel
const localeTag = await ytgame.system.getLanguage();
// `localeTag` is now set to something like "en-US" or "es-419".
Ausgabe
Promise<string> Ein Versprechen, das abgeschlossen wird, wenn die Sprache erfolgreich abgerufen wurde, und bei einem Fehler mit ytgame.SdkError abgelehnt wird.

isAudioEnabled

isAudioEnabled(): boolean
Gibt an, ob die Audiowiedergabe des Spiels in den YouTube-Einstellungen aktiviert ist.

Das Spiel SOLLTE dies verwenden, um den Audiostatus des Spiels zu initialisieren.
Beispiel
function initGameSound() {
  if (ytgame.system.isAudioEnabled()) {
    // Enable game audio.
  } else {
    // Disable game audio.
  }
}
Ausgabe
boolean Ein boolescher Wert, der angibt, ob der Ton aktiviert ist.

onAudioEnabledChange

onAudioEnabledChange(callback: ((isAudioEnabled: boolean) => void)): (() => void)
Hiermit wird ein Callback festgelegt, der ausgelöst wird, wenn das Ereignis „Audioeinstellungen ändern“ von YouTube ausgelöst wird.

Das Spiel MUST diese API verwenden, um den Audiostatus des Spiels zu aktualisieren.
Beispiel
ytgame.system.onAudioEnabledChange((isAudioEnabled) => {
  if (isAudioEnabled) {
    // Enable game audio.
  } else {
    // Disable game audio.
  }
});
Parameter
callback: ((isAudioEnabled: boolean) => void) die auszulösende Callback-Funktion.
Ausgabe
(() => void) eine Funktion zum Zurücksetzen des Callbacks, die normalerweise nicht verwendet wird.

onPause

onPause(callback: (() => void)): (() => void)
Hiermit wird ein Callback festgelegt, der ausgelöst wird, wenn ein Ereignis vom Typ „Spiel pausieren“ von YouTube gesendet wird. Das Spiel hat nur einen kurzen Zeitraum, um den Status zu speichern, bevor er gelöscht wird.

onPause wird bei allen Arten von Pausen aufgerufen, auch wenn der Nutzer das Spiel beendet. Es gibt jedoch keine Garantie dafür, dass das Spiel fortgesetzt wird.
Beispiel
ytgame.system.onPause(() => {
  pauseGame();
});

function pauseGame() {
  // Logic to pause game state.
}
Parameter
callback: (() => void) die auszulösende Callback-Funktion.
Ausgabe
(() => void) eine Funktion zum Zurücksetzen des Callbacks, die normalerweise nicht verwendet wird.

onResume

onResume(callback: (() => void)): (() => void)
Hiermit wird ein Rückruf ausgelöst, wenn von YouTube ein Ereignis vom Typ „Spiel fortsetzen“ gesendet wird.

Es kann nicht garantiert werden, dass das Spiel nach dem Pausieren fortgesetzt wird.
Beispiel
ytgame.system.onResume(() => {
  resumeGame();
});

function resumeGame() {
  // Logic to resume game state.
}
Parameter
callback: (() => void) die auszulösende Callback-Funktion.
Ausgabe
(() => void) eine Funktion zum Zurücksetzen des Callbacks, die normalerweise nicht verwendet wird.