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


ytgame

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

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

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


Const SdkErrorType

SdkErrorType
Типы ошибок, которые выдает SDK YouTube Playables.
Члены переписи
API_ UNAVAILABLE
API был временно недоступен.

Если игрок находится в критической ситуации, попросите его повторить попытку позже.
INVALID_ PARAMS
Вызов API был выполнен с недопустимыми параметрами.
SIZE_ LIMIT_ EXCEEDED
Вызов API был произведен с параметрами, превышающими лимит размера.
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

Функции и свойства, связанные с рекламой.
Функции
request Interstitial Ad
Запрашивает показ промежуточной рекламы.
request Rewarded Ad
Запрашивает показ рекламы с вознаграждением для определенного типа вознаграждения.

Функции


запросМежстраничнаяреклама

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

Этот 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 >
Запрашивает показ рекламы с вознаграждением для определенного типа вознаграждения.

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

ytgame.engagement

Функции и свойства, связанные с вовлечением игроков.
Перечисления
Content Type
Возможные типы контента.
Интерфейсы
Content
Объект контента, который игра отправляет на YouTube.
Score
Объект счёта, который игра отправляет на YouTube.
Функции
open YTContent
Запрашивает у YouTube открытие контента, соответствующего указанному идентификатору контента.
send Score
Отправляет результат на YouTube.

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


Const ContentType

ContentType
Возможные типы контента.
Члены переписи
PLAYABLE
Видео на YouTube, доступное для воспроизведения.
VIDEO
Видео на YouTube.

Функции


openYTContent

openYTContent ( content : Content ) : Promise < void >
Запрашивает у YouTube открытие контента, соответствующего указанному идентификатору контента.

Как правило, в веб-версии контент откроется в новой вкладке. На мобильных устройствах видео откроется в мини-плеере, а текущий открытый плеер заменит на плейбл.
Пример
// 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.
  }
}
Параметры
content : Content Контент для открытия на YouTube.
Возвраты
Promise < void > Promise, который разрешается при успешном выполнении и отклоняется/выбрасывает исключение ytgame.SdkError при неудачном выполнении.

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 Результат, который нужно отправить на YouTube.
Возвраты
Promise < void > Promise, который разрешается при успешном выполнении и отклоняется/выбрасывает исключение ytgame.SdkError при неудачном выполнении.

ytgame.engagement.Content

Объект контента, который игра отправляет на YouTube.
Характеристики
content Type ?
Тип контента для открытия.
id
Идентификатор контента, который мы хотим открыть.

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


Optional тип содержимого

contentType ?: ContentType
Тип контента для открытия. Необходимо указать, но если не указано, будет использоваться VIDEO .

идентификатор

id : string
Идентификатор контента, который мы хотим открыть.

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 ) Функция для отмены установки обычно не используемого механизма обратного вызова.