ytgame
Espace de noms de premier niveau pour le SDK YouTube Playables.
Il s'agit d'une variable à portée globale dans la fenêtre actuelle. Vous NE DEVEZ PAS remplacer cette variable.
Il s'agit d'une variable à portée globale dans la fenêtre actuelle. Vous NE DEVEZ PAS remplacer cette variable.
| Espaces de noms | |
|---|---|
ads
|
Fonctions et propriétés liées aux annonces. |
engagement
|
Fonctions et propriétés liées à l'engagement des joueurs. |
game
|
Fonctions et propriétés liées aux comportements de jeu génériques. |
health
|
Fonctions et propriétés liées à l'état du jeu. |
system
|
Fonctions et propriétés liées au système YouTube. |
| Énumérations | |
|---|---|
Sdk
|
Types d'erreurs générées par le SDK Jeux intégrés YouTube. |
| Classes | |
|---|---|
Sdk
|
Objet d'erreur généré par le SDK Jeux intégrés YouTube. |
| Variables | |
|---|---|
IN_
|
Indique si le jeu s'exécute ou non dans l'environnement Jeux intégrés. |
SDK_
|
Version du SDK Jeux intégrés YouTube. |
Énumérations
Const SdkErrorType
SdkErrorType
Variables
Const IN_PLAYABLES_ENV
IN_PLAYABLES_ENV: boolean
ytgame pour vous assurer que le SDK est bien chargé.
- Exemple
-
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
- Exemple
-
// Prints the SDK version to console. Do not do this in production. console.log(ytgame.SDK_VERSION);
ytgame.SdkError
Extends
Error
Objet d'erreur généré par le SDK Jeux intégrés YouTube.
L'objet
L'objet
SdkError est un enfant de Error et contient un champ supplémentaire.
| Constructeurs | |
|---|---|
constructor
|
|
| Propriétés | |
|---|---|
error
|
Type d'erreur. |
message
|
|
name
|
|
stack
|
|
Propriétés
errorType
errorType:
SdkErrorType
ytgame.ads
Fonctions et propriétés liées aux annonces.
| Fonctions | |
|---|---|
request
|
Demande l'affichage d'une annonce interstitielle. |
request
|
Demande l'affichage d'une annonce avec récompense pour un type de récompense spécifique. |
Fonctions
requestInterstitialAd
requestInterstitialAd(): Promise<void>
Demande l'affichage d'une annonce interstitielle.
Ne garantit pas que l'annonce a été diffusée. N'utilisez pas cette API pour récompenser les joueurs qui regardent une annonce.
Ne garantit pas que l'annonce a été diffusée. N'utilisez pas cette API pour récompenser les joueurs qui regardent une annonce.
- Exemple
-
try { await ytgame.ads.requestInterstitialAd(); // Ad request successful, do something else. } catch (error) { // Handle errors, retry logic, etc. // Note that error may be undefined. }
| Renvoie | |
|---|---|
Promise<void>
|
une promesse qui se résout en cas de requête réussie ou qui est rejetée/génère une exception en cas de requête infructueuse. |
requestRewardedAd
requestRewardedAd(rewardId: string): Promise<boolean>
Demande l'affichage d'une annonce avec récompense pour un type de récompense spécifique.
Ne garantit pas que l'annonce a été diffusée.
Ne garantit pas que l'annonce a été diffusée.
- Exemple
-
try { const isRewardEarned = await ytgame.ads.requestRewardedAd("reward-123"); // Handle reward being earned or not. } catch (error) { // Handle errors, retry logic, etc. // Note that error may be undefined. }
| Paramètres | |
|---|---|
rewardId: string
|
Obligatoire. Identifiant qui identifie de manière unique le type de récompense pouvant être demandé.
Vous devez utiliser un identifiant unique pour chaque type de récompense et réutiliser le même identifiant chaque fois que ce type de récompense spécifique est proposé. Par exemple, vous pouvez rendre l'ID lisible ou utiliser un UUID. Vous pouvez l'inclure en tant qu'ID codé en dur dans le code de votre jeu pour la récompense spécifique. Les seules exigences sont que vous fournissiez un ID et qu'il ne contienne aucune donnée utilisateur. Exemple :
|
| Renvoie | |
|---|---|
Promise<boolean>
|
Promesse qui se résout en cas de requête réussie avec la valeur "true" si l'utilisateur a rempli les conditions pour recevoir une récompense, ou "false" dans le cas contraire. La promesse est rejetée/génère une exception en cas d'échec de la requête. |
ytgame.engagement
Fonctions et propriétés liées à l'engagement des joueurs.
| Énumérations | |
|---|---|
Content
|
Types de contenus possibles. |
| Interfaces | |
|---|---|
Content
|
Objet de contenu que le jeu envoie à YouTube. |
Score
|
Objet de score que le jeu envoie à YouTube. |
| Fonctions | |
|---|---|
open
|
Demande à YouTube d'ouvrir le contenu correspondant à l'ID de contenu fourni.
|
send
|
Envoie un score à YouTube. |
Énumérations
Const ContentType
Fonctions
openYTContent
openYTContent(content: Content): Promise<void>
Demande à YouTube d'ouvrir le contenu correspondant à l'ID de contenu fourni.
Généralement, le contenu s'ouvre dans un nouvel onglet sur le Web. Sur mobile, une vidéo s'ouvre dans le lecteur réduit et un élément playable remplace l'élément playable actuellement ouvert.
Généralement, le contenu s'ouvre dans un nouvel onglet sur le Web. Sur mobile, une vidéo s'ouvre dans le lecteur réduit et un élément playable remplace l'élément playable actuellement ouvert.
- Exemple
-
// Open a video. async function showVideo(videoID: string) { try { await ytgame.engagement.openYTContent({ id: videoID, contentType: ytgame.engagement.ContentType.VIDEO, }); // Request successful, content may have opened. } catch (error) { // Handle errors, retry logic, etc. // Note that error may be undefined. } } // Open a Playable. async function openDifferentPlayable(playableID: string) { try { await ytgame.engagement.openYTContent({ id: playableID, contentType: ytgame.engagement.ContentType.PLAYABLE, }); // Request successful, content may have opened. // On mobile, the new Playable will replace the current one. } catch (error) { // Handle errors, retry logic, etc. // Note that error may be undefined. } }
| Paramètres | |
|---|---|
content:
Content
|
le contenu à ouvrir sur YouTube. |
| Renvoie | |
|---|---|
Promise<void>
|
Promesse qui est résolue en cas de réussite et rejetée/générée avec un ytgame.SdkError en cas d'échec.
|
sendScore
sendScore(score: Score): Promise<void>
Envoie un score à YouTube.
Le score doit représenter une dimension de la progression dans le jeu. S'il existe plusieurs dimensions, le développeur doit en choisir une pour assurer la cohérence. Les scores seront triés et le plus élevé sera affiché dans l'interface utilisateur YouTube. Par conséquent, toute interface utilisateur de score élevé dans le jeu doit correspondre à ce qui est envoyé via cette API.
Le score doit représenter une dimension de la progression dans le jeu. S'il existe plusieurs dimensions, le développeur doit en choisir une pour assurer la cohérence. Les scores seront triés et le plus élevé sera affiché dans l'interface utilisateur YouTube. Par conséquent, toute interface utilisateur de score élevé dans le jeu doit correspondre à ce qui est envoyé via cette API.
- Exemple
-
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. } }
| Paramètres | |
|---|---|
score:
Score
|
la partition à envoyer à YouTube. |
| Renvoie | |
|---|---|
Promise<void>
|
Promesse qui est résolue en cas de réussite et rejetée/générée avec un ytgame.SdkError en cas d'échec.
|
ytgame.engagement.Content
Objet de contenu que le jeu envoie à YouTube.
| Propriétés | |
|---|---|
content
|
Type de contenu à ouvrir. |
id
|
ID du contenu que nous souhaitons ouvrir. |
Propriétés
Optional contentType
contentType?:
ContentType
VIDEO sera utilisé.
id
id: string
ytgame.engagement.Score
Objet de score que le jeu envoie à YouTube.
| Propriétés | |
|---|---|
value
|
Valeur du score exprimée sous forme d'entier. |
Propriétés
value
value: number
ytgame.game
Fonctions et propriétés liées aux comportements de jeu génériques.
| Fonctions | |
|---|---|
first
|
Avertit YouTube que le jeu a commencé à afficher des frames. |
game
|
Indique à YouTube que le jeu est prêt à être utilisé par les joueurs.
|
load
|
Charge les données de jeu depuis YouTube sous la forme d'une chaîne sérialisée. |
save
|
Enregistre les données de jeu sur YouTube sous la forme d'une chaîne sérialisée. |
Fonctions
firstFrameReady
firstFrameReady(): void
Avertit YouTube que le jeu a commencé à afficher des frames.
Le jeu DOIT appeler cette API. Dans le cas contraire, le jeu ne s'affiche pas pour les utilisateurs.
Le jeu DOIT appeler cette API. Dans le cas contraire, le jeu ne s'affiche pas pour les utilisateurs.
firstFrameReady() DOIT être appelé avant gameReady().
- Exemple
-
function onGameInitialized() { ytgame.game.firstFrameReady(); }
gameReady
gameReady(): void
Indique à YouTube que le jeu est prêt à être utilisé par les joueurs.
Le jeu DOIT appeler cette API lorsqu'il est interactif. Le jeu NE DOIT PAS appeler cette API lorsqu'un écran de chargement est toujours affiché. Sinon, le jeu échouera au processus de certification YouTube.
Le jeu DOIT appeler cette API lorsqu'il est interactif. Le jeu NE DOIT PAS appeler cette API lorsqu'un écran de chargement est toujours affiché. Sinon, le jeu échouera au processus de certification YouTube.
- Exemple
-
function onGameInteractable() { ytgame.game.gameReady(); }
loadData
loadData(): Promise<string>
Charge les données de jeu depuis YouTube sous la forme d'une chaîne sérialisée.
Le jeu doit gérer toute analyse entre la chaîne et un format interne.
Le jeu doit gérer toute analyse entre la chaîne et un format interne.
- Exemple
-
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. } }
| Renvoie | |
|---|---|
Promise<string>
|
Promesse qui se termine lorsque le chargement a réussi et qui est refusée avec un ytgame.SdkError en cas d'échec.
|
saveData
saveData(data: string): Promise<void>
Enregistre les données de jeu sur YouTube sous la forme d'une chaîne sérialisée.
La chaîne doit être une chaîne UTF-16 valide et bien formée, et ne doit pas dépasser 3 Mio. Le jeu doit gérer toute analyse entre la chaîne et un format interne. Si nécessaire, utilisez
La chaîne doit être une chaîne UTF-16 valide et bien formée, et ne doit pas dépasser 3 Mio. Le jeu doit gérer toute analyse entre la chaîne et un format interne. Si nécessaire, utilisez
String.isWellFormed() pour vérifier si la chaîne est bien formée.
- Exemple
-
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. } }
| Paramètres | |
|---|---|
data: string
|
|
| Renvoie | |
|---|---|
Promise<void>
|
Promesse qui se résout lorsque l'enregistrement a réussi et qui est rejetée avec un ytgame.SdkError en cas d'échec.
|
ytgame.health
Fonctions et propriétés liées à l'état du jeu.
| Fonctions | |
|---|---|
log
|
Consigne une erreur sur YouTube. |
log
|
Consigne un avertissement à YouTube. |
Fonctions
logError
logError(): void
Enregistre une erreur sur YouTube.
Remarque : Cette API est fournie dans la mesure du possible et son débit est limité, ce qui peut entraîner une perte de données.
Remarque : Cette API est fournie dans la mesure du possible et son débit est limité, ce qui peut entraîner une perte de données.
- Exemple
-
function onError() { ytgame.health.logError(); }
logWarning
logWarning(): void
Enregistre un avertissement sur YouTube.
Remarque : Cette API est fournie en l'état et est soumise à des limites de débit, ce qui peut entraîner une perte de données.
Remarque : Cette API est fournie en l'état et est soumise à des limites de débit, ce qui peut entraîner une perte de données.
- Exemple
-
function onWarning() { ytgame.health.logWarning(); }
ytgame.system
Fonctions et propriétés liées au système YouTube.
| Fonctions | |
|---|---|
get
|
Renvoie la langue définie dans les paramètres YouTube de l'utilisateur sous la forme d'une étiquette de langue BCP-47.
|
is
|
Indique si l'audio du jeu est activé dans les paramètres YouTube. |
on
|
Définit un rappel à déclencher lorsque l'événement de modification des paramètres audio est déclenché par YouTube.
|
on
|
Définit un rappel à déclencher lorsqu'un événement de mise en pause du jeu est déclenché depuis YouTube.
|
on
|
Définit un rappel à déclencher lorsqu'un événement de reprise de jeu est déclenché depuis YouTube.
|
Fonctions
getLanguage
getLanguage(): Promise<string>
Renvoie la langue définie dans les paramètres YouTube de l'utilisateur sous la forme d'une balise de langue BCP-47.
N'utilisez pas d'autres fonctions pour déterminer la langue ou les paramètres régionaux de l'utilisateur, ni pour stocker sa préférence linguistique dans la sauvegarde cloud. Utilisez plutôt cette fonction pour garantir une expérience utilisateur cohérente sur YouTube.
N'utilisez pas d'autres fonctions pour déterminer la langue ou les paramètres régionaux de l'utilisateur, ni pour stocker sa préférence linguistique dans la sauvegarde cloud. Utilisez plutôt cette fonction pour garantir une expérience utilisateur cohérente sur YouTube.
- Exemple
-
const localeTag = await ytgame.system.getLanguage(); // `localeTag` is now set to something like "en-US" or "es-419".
| Renvoie | |
|---|---|
Promise<string>
|
Promesse qui se termine lorsque la récupération de la langue a réussi et qui est refusée avec un ytgame.SdkError en cas d'échec.
|
isAudioEnabled
isAudioEnabled(): boolean
Renvoie une valeur indiquant si l'audio du jeu est activé dans les paramètres YouTube.
Le jeu DOIT utiliser cette valeur pour initialiser l'état de l'audio du jeu.
Le jeu DOIT utiliser cette valeur pour initialiser l'état de l'audio du jeu.
- Exemple
-
function initGameSound() { if (ytgame.system.isAudioEnabled()) { // Enable game audio. } else { // Disable game audio. } }
| Renvoie | |
|---|---|
boolean
|
Valeur booléenne indiquant si l'audio est activé. |
onAudioEnabledChange
onAudioEnabledChange(callback: ((isAudioEnabled: boolean) => void)): (() => void)
Définit un rappel à déclencher lorsque l'événement de modification des paramètres audio est déclenché par YouTube.
Le jeu DOIT utiliser cette API pour mettre à jour l'état audio du jeu.
Le jeu DOIT utiliser cette API pour mettre à jour l'état audio du jeu.
- Exemple
-
ytgame.system.onAudioEnabledChange((isAudioEnabled) => { if (isAudioEnabled) { // Enable game audio. } else { // Disable game audio. } });
| Paramètres | |
|---|---|
callback: ((isAudioEnabled: boolean) => void)
|
Fonction de rappel à déclencher. |
| Renvoie | |
|---|---|
(() => void)
|
une fonction permettant de désactiver le rappel, qui est généralement inutilisée. |
onPause
onPause(callback: (() => void)): (() => void)
Définit un rappel à déclencher lorsqu'un événement de mise en pause du jeu est déclenché depuis YouTube. Le jeu dispose d'une courte fenêtre pour enregistrer tout état avant d'être expulsé.
onPause est appelé pour tous les types de pauses, y compris lorsque l'utilisateur quitte le jeu. Nous ne pouvons pas vous garantir que la partie reprendra.
onPause est appelé pour tous les types de pauses, y compris lorsque l'utilisateur quitte le jeu. Nous ne pouvons pas vous garantir que la partie reprendra.
- Exemple
-
ytgame.system.onPause(() => { pauseGame(); }); function pauseGame() { // Logic to pause game state. }
| Paramètres | |
|---|---|
callback: (() => void)
|
Fonction de rappel à déclencher. |
| Renvoie | |
|---|---|
(() => void)
|
une fonction permettant de désactiver le rappel, qui est généralement inutilisée. |
onResume
onResume(callback: (() => void)): (() => void)
Définit un rappel à déclencher lorsqu'un événement de reprise du jeu est déclenché depuis YouTube.
Après avoir été mis en pause, la reprise du jeu n'est pas garantie.
Après avoir été mis en pause, la reprise du jeu n'est pas garantie.
- Exemple
-
ytgame.system.onResume(() => { resumeGame(); }); function resumeGame() { // Logic to resume game state. }
| Paramètres | |
|---|---|
callback: (() => void)
|
Fonction de rappel à déclencher. |
| Renvoie | |
|---|---|
(() => void)
|
une fonction permettant de désactiver le rappel, qui est généralement inutilisée. |