Справочник по SDK YouTube Playables


ytgame

Пространство имен верхнего уровня для SDK YouTube Playables.

Это переменная глобального масштаба в текущем окне. Вы НЕ ДОЛЖНЫ переопределять эту переменную.
Пространства имен
ads
🧪 API для публичного просмотра: может быть изменен без предварительного уведомления.
engagement
Функции и свойства, связанные с вовлечением игроков.
game
Функции и свойства, связанные с типичным игровым поведением.
health
Функции и свойства, связанные со здоровьем игры.
system
Функции и свойства системы YouTube.
Перечисления
Sdk Error Type
Типы ошибок, которые выдает SDK YouTube Playables.
Классы
Sdk Error
Объект ошибки, который генерирует SDK YouTube Playables.
Переменные
IN_ PLAYABLES_ ENV
Запускается ли игра в среде Playables.
SDK_ VERSION
The YouTube Playables SDK version.
См. также

Перечисления


Const SdkErrorType

SdkErrorType
Типы ошибок, которые выдает SDK YouTube Playables.
Enumeration Members
API_ UNAVAILABLE
The API was temporarily unavailable.

Если игрок находится в критической ситуации, попросите его повторить попытку позже.
INVALID_ PARAMS
The API was called with invalid parameters.
SIZE_ LIMIT_ EXCEEDED
Вызов API был произведен с параметрами, превышающими лимит размера.
UNKNOWN
The error type is unknown.

Переменные


Const IN_PLAYABLES_ENV

IN_PLAYABLES_ENV : boolean
Проверяет, запущена ли игра в среде Playables. Это позволяет определить, следует ли включать или отключать функции, доступные только в среде Playables. Сочетайте эту проверку с проверкой наличия ytgame , чтобы убедиться, что SDK действительно загружен.
Пример
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
Версия SDK YouTube Playables.
Пример
// Prints the SDK version to console. Do not do this in production.
console.log(ytgame.SDK_VERSION);

ytgame.SdkError

Extends Error
Объект ошибки, который генерирует SDK YouTube Playables.

Объект SdkError является дочерним элементом Error и содержит дополнительное поле.
Строители
constructor
Характеристики
error Type
Тип ошибки.
message
name
stack ?

Характеристики


errorType

errorType : SdkErrorType
Тип ошибки.

ytgame.ads

🧪 API для публичного просмотра: может быть изменен без предварительного уведомления.

The functions and properties related to ads.
Функции
request Interstitial Ad
Запрашивает показ промежуточной рекламы.
request Rewarded Ad
Запрашивает показ рекламы с вознаграждением для определенного типа вознаграждения.

Функции


requestInterstitialAd

requestInterstitialAd ( ) : Promise < void >
Experimental запрос на показ промежуточной рекламы.

🧪 API для публичного просмотра: может быть изменен без предварительного уведомления.

Этот API не гарантирует показ рекламы. Не используйте его для вознаграждения игроков за просмотр рекламы.
Пример
try {
  await ytgame.ads.requestInterstitialAd();
  // Ad request successful, do something else.
} catch (error) {
  // Handle errors, retry logic, etc.
  // Note that error may be undefined.
}
Возвраты
Promise < void > Обещание, которое выполняется при успешном запросе или отклоняется/выбрасывает исключение при неудачном запросе.

requestRewardedAd

requestRewardedAd ( rewardId : string ) : Promise < boolean >
Experimental запрос: показ рекламы с вознаграждением для определенного типа вознаграждения.

🧪 API для публичного просмотра: может быть изменен без предварительного уведомления.

Гарантий относительно показа рекламы не предоставляется.
Пример
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.
}
Параметры
rewardId : string Обязательно. Идентификатор, однозначно определяющий тип вознаграждения, которое можно получить. Для каждого типа вознаграждения необходимо использовать уникальный идентификатор и повторно использовать этот же идентификатор каждый раз, когда предлагается конкретный тип вознаграждения. Например:
  • 21403813-2e22-4316-a8b2-7d4f52a6f6fb - "100 монет"
  • 7defcfa2-4312-4893-a13a-a84e0c47a4df - "3 жизни"
  • 121b001a-0c25-4289-88f6-58e3620d938f - "Пропустить уровень"
Возвраты
Promise < boolean > Промис, который разрешается при успешном запросе, принимая значение true, если пользователь выполнил условия для получения вознаграждения, или false, если нет. Промис отклоняется/выбрасывает исключение при неудачном запросе.

ytgame.engagement

Функции и свойства, связанные с вовлечением игроков.
Интерфейсы
Score
The score object the game sends to YouTube.
Функции
send Score
Sends a score to YouTube.

Функции


sendScore

sendScore ( score : Score ) : Promise < void >
Отправляет результат на YouTube.

Счёт должен отражать один из аспектов прогресса в игре. Если аспектов несколько, разработчик должен выбрать один для обеспечения согласованности. Счёт будет отсортирован, и наивысший результат будет отображаться в пользовательском интерфейсе YouTube, поэтому любой внутриигровой интерфейс рекордов должен соответствовать данным, передаваемым через этот API.
Пример
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.
  }
}
Параметры
score : Score the score to send to YouTube.
Возвраты
Promise < void > Promise, который разрешается при успешном выполнении и отклоняется/выбрасывает исключение ytgame.SdkError при неудачном выполнении.

ytgame.engagement.Score

Объект счёта, который игра отправляет на YouTube.
Характеристики
value
Значение оценки, выраженное целым числом.

Характеристики


ценить

value : number
Значение оценки, выраженное целым числом. Оценка должна быть меньше или равна максимально допустимому целому числу . В противном случае оценка будет отклонена.

ytgame.game

Функции и свойства, связанные с типичным игровым поведением.
Функции
first Frame Ready
Уведомляет YouTube о том, что в игре начали отображаться кадры.
game Ready
Уведомляет YouTube о том, что игра готова к взаимодействию с игроками.
load Data
Загружает игровые данные с YouTube в виде сериализованной строки.
save Data
Сохраняет игровые данные на YouTube в виде сериализованной строки.

Функции


firstFrameReady

firstFrameReady ( ) : void
Уведомляет YouTube о том, что в игре начали отображаться кадры.

Игра ОБЯЗАТЕЛЬНО должна вызывать этот API. В противном случае игра не будет показана пользователям. firstFrameReady() ДОЛЖНА быть вызвана перед gameReady() .
Пример
function onGameInitialized() {
  ytgame.game.firstFrameReady();
}

готовый к игре

gameReady ( ) : void
Уведомляет YouTube о том, что игра готова к взаимодействию с игроками.

Игра ОБЯЗАТЕЛЬНО должна вызывать этот API, когда с ней можно взаимодействовать. Игра НЕ ДОЛЖНА вызывать этот API, когда еще отображается экран загрузки. В противном случае игра не пройдет процесс сертификации YouTube.
Пример
function onGameInteractable() {
  ytgame.game.gameReady();
}

загрузка данных

loadData ( ) : Promise < string >
Загружает игровые данные с YouTube в виде сериализованной строки.

Игра должна обрабатывать любые преобразования строки во внутренний формат.
Пример
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.
  }
}
Возвраты
Promise < string > Promise, который завершается при успешной загрузке и отклоняется с ошибкой ytgame.SdkError при неудачной загрузке.

сохранитьДанные

saveData ( data : string ) : Promise < void >
Сохраняет игровые данные на YouTube в виде сериализованной строки.

Строка должна быть допустимой, корректно сформированной строкой UTF-16 и иметь максимальный размер 3 МиБ. Игра должна обрабатывать любые преобразования между строкой и внутренним форматом. При необходимости используйте String.isWellFormed() для проверки корректности строки.
Пример
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.
  }
}
Параметры
data : string
Возвраты
Promise < void > Promise, который разрешается при успешном сохранении и отклоняется с ошибкой ytgame.SdkError при неудачном сохранении.

ytgame.health

Функции и свойства, связанные со здоровьем игры.
Функции
log Error
В YouTube зафиксирована ошибка.
log Warning
В YouTube отправлено предупреждение.

Функции


logError

logError ( ) : void
В YouTube зафиксирована ошибка.

Примечание: Данный API работает по принципу "максимальные усилия" и имеет ограничения по количеству запросов, что может привести к потере данных.
Пример
function onError() {
  ytgame.health.logError();
}

logWarning

logWarning ( ) : void
В YouTube отправлено предупреждение.

Примечание: Данный API работает по принципу "максимальные усилия" и имеет ограничения по количеству запросов, что может привести к потере данных.
Пример
function onWarning() {
  ytgame.health.logWarning();
}

ytgame.system

Функции и свойства системы YouTube.
Функции
get Language
Возвращает язык, установленный в настройках YouTube пользователя, в виде языкового тега BCP-47 .
is Audio Enabled
Возвращает значение, указывающее, включен ли звук игры в настройках YouTube.
on Audio Enabled Change
Устанавливает функцию обратного вызова, которая будет запускаться при срабатывании события изменения настроек звука на YouTube.
on Pause
Устанавливает функцию обратного вызова, которая будет запускаться при срабатывании события паузы игры на YouTube.
on Resume
Устанавливает функцию обратного вызова, которая будет запускаться при срабатывании события возобновления игры на YouTube.

Функции


getLanguage

getLanguage ( ) : Promise < string >
Возвращает язык, установленный в настройках YouTube пользователя, в виде языкового тега BCP-47 .

Не используйте другие функции для определения языка или региональных настроек пользователя, а также не сохраняйте его языковые предпочтения в облаке. Вместо этого используйте эту функцию, чтобы обеспечить единообразие пользовательского опыта на YouTube.
Пример
const localeTag = await ytgame.system.getLanguage();
// `localeTag` is now set to something like "en-US" or "es-419".
Возвраты
Promise < string > Promise, который завершается при успешном получении языка и отклоняется с ошибкой ytgame.SdkError при неудаче.

isAudioEnabled

isAudioEnabled ( ) : boolean
Возвращает значение, указывающее, включен ли звук игры в настройках YouTube.

Игра ДОЛЖНА использовать это для инициализации состояния игрового звука.
Пример
function initGameSound() {
  if (ytgame.system.isAudioEnabled()) {
    // Enable game audio.
  } else {
    // Disable game audio.
  }
}
Возвраты
boolean Логическое значение, указывающее, включен ли звук.

onAudioEnabledChange

onAudioEnabledChange ( callback : ( ( isAudioEnabled : boolean ) => void ) ) : ( ( ) => void )
Устанавливает функцию обратного вызова, которая будет запускаться при срабатывании события изменения настроек звука на YouTube.

Игра ОБЯЗАТЕЛЬНО должна использовать этот API для обновления состояния звука в игре.
Пример
ytgame.system.onAudioEnabledChange((isAudioEnabled) => {
  if (isAudioEnabled) {
    // Enable game audio.
  } else {
    // Disable game audio.
  }
});
Параметры
callback : ( ( isAudioEnabled : boolean ) => void ) Функция обратного вызова, которая должна быть запущена.
Возвраты
( ( ) => void ) Функция для отмены установки обычно не используемого механизма обратного вызова.

onPause

onPause ( callback : ( ( ) => void ) ) : ( ( ) => void )
Устанавливает функцию обратного вызова, которая будет срабатывать при возникновении события паузы в игре на YouTube. У игры есть короткий промежуток времени для сохранения любого состояния перед выбыванием.

Функция onPause вызывается для всех типов пауз, в том числе при выходе пользователя из игры. Нет гарантии, что игра возобновится.
Пример
ytgame.system.onPause(() => {
  pauseGame();
});

function pauseGame() {
  // Logic to pause game state.
}
Параметры
callback : ( ( ) => void ) Функция обратного вызова, которая должна быть запущена.
Возвраты
( ( ) => void ) Функция для отмены установки обычно не используемого механизма обратного вызова.

onResume

onResume ( callback : ( ( ) => void ) ) : ( ( ) => void )
Устанавливает функцию обратного вызова, которая будет запускаться при срабатывании события возобновления игры на YouTube.

После паузы возобновление игры не гарантируется.
Пример
ytgame.system.onResume(() => {
  resumeGame();
});

function resumeGame() {
  // Logic to resume game state.
}
Параметры
callback : ( ( ) => void ) Функция обратного вызова, которая должна быть запущена.
Возвраты
( ( ) => void ) Функция для отмены установки обычно не используемого механизма обратного вызова.