Referensi YouTube Playables SDK


ytgame

Namespace tingkat atas untuk YouTube Playables SDK.

Ini adalah variabel cakupan global di jendela saat ini. Anda TIDAK BOLEH mengganti variabel ini.
Namespace
ads
🧪 API PREVIEW PUBLIK: DAPAT BERUBAH TANPA PEMBERITAHUAN.
engagement
Fungsi dan properti yang terkait dengan interaksi pemain.
game
Fungsi dan properti yang terkait dengan perilaku game umum.
health
Fungsi dan properti yang terkait dengan kesehatan game.
system
Fungsi dan properti yang terkait dengan sistem YouTube.
Enumerasi
SdkErrorType
Jenis error yang ditampilkan oleh YouTube Playables SDK.
Class
SdkError
Objek error yang ditampilkan oleh YouTube Playables SDK.
Variabel
IN_PLAYABLES_ENV
Apakah game berjalan dalam lingkungan Playables atau tidak.
SDK_VERSION
Versi YouTube Playables SDK.
Lihat juga

Enumerasi


Const SdkErrorType

SdkErrorType
Jenis error yang ditampilkan oleh YouTube Playables SDK.
Anggota Enumerasi
API_UNAVAILABLE
API tidak tersedia untuk sementara.

Minta pemain untuk mencoba lagi nanti jika mereka berada dalam alur kritis.
INVALID_PARAMS
API dipanggil dengan parameter yang tidak valid.
SIZE_LIMIT_EXCEEDED
API dipanggil dengan parameter yang melebihi batas ukuran.
UNKNOWN
Jenis error tidak diketahui.

Variabel


Const IN_PLAYABLES_ENV

IN_PLAYABLES_ENV: boolean
Apakah game berjalan dalam lingkungan Playables atau tidak. Anda dapat menggunakannya untuk menentukan apakah akan mengaktifkan atau menonaktifkan fitur yang hanya tersedia di dalam Ruang Game. Gabungkan pemeriksaan ini dengan pemeriksaan ytgame untuk memastikan bahwa SDK benar-benar dimuat.
Contoh
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
Versi YouTube Playables SDK.
Contoh
// Prints the SDK version to console. Do not do this in production.
console.log(ytgame.SDK_VERSION);

ytgame.SdkError

Memperluas Error
Objek error yang ditampilkan YouTube Playables SDK.

Objek SdkError adalah turunan dari Error dan berisi kolom tambahan.
Konstruktor
constructor
Properti
errorType
Jenis error.
message
name
stack?

Properti


errorType

errorType: SdkErrorType
Jenis error.

ytgame.ads

🧪 PUBLIC PREVIEW API: DAPAT BERUBAH TANPA PEMBERITAHUAN.

Fungsi dan properti yang terkait dengan iklan.
Fungsi
requestInterstitialAd
Meminta iklan interstisial untuk ditampilkan.

Fungsi


requestInterstitialAd

requestInterstitialAd(): Promise<void>
Experimental Meminta iklan interstisial untuk ditampilkan.

🧪 API PREVIEW PUBLIK: DAPAT BERUBAH TANPA PEMBERITAHUAN.

Tidak memberikan jaminan tentang apakah iklan ditampilkan.
Contoh
try {
  await ytgame.ads.requestInterstitialAd();
  // Ad request successful, do something else.
} catch (error) {
  // Handle errors, retry logic, etc.
  // Note that error may be undefined.
}
Hasil
Promise<void> promise yang di-resolve pada permintaan yang berhasil atau menolak/menampilkan error pada permintaan yang gagal.

ytgame.engagement

Fungsi dan properti yang terkait dengan interaksi pemain.
Antarmuka
Content
Objek konten yang dikirim game ke YouTube.
Score
Objek skor yang dikirim game ke YouTube.
Fungsi
openYTContent
Meminta YouTube untuk membuka konten yang sesuai dengan ID video yang diberikan.
sendScore
Mengirim skor ke YouTube.

Fungsi


openYTContent

openYTContent(content: Content): Promise<void>
Meminta YouTube untuk membuka konten yang sesuai dengan ID video yang diberikan.

Umumnya, tindakan ini akan membuka video di tab baru di web dan di miniplayer di perangkat seluler.
Contoh
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 konten yang akan dibuka di YouTube.
Hasil
Promise<void> Promise yang di-resolve saat berhasil dan menolak/menampilkan dengan ytgame.SdkError saat gagal.

sendScore

sendScore(score: Score): Promise<void>
Mengirim skor ke YouTube.

Skor harus mewakili satu dimensi progres dalam game. Jika ada beberapa dimensi, developer harus memilih satu dimensi agar konsisten. Skor akan diurutkan dan skor tertinggi akan ditampilkan di UI YouTube sehingga UI skor tertinggi dalam game harus sesuai dengan yang dikirim melalui API ini.
Contoh
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 skor yang akan dikirim ke YouTube.
Hasil
Promise<void> Promise yang di-resolve saat berhasil dan menolak/menampilkan dengan ytgame.SdkError saat gagal.

ytgame.engagement.Content

Objek konten yang dikirim game ke YouTube.
Properti
id
ID video yang ingin kita buka.

Properti


id

id: string
ID video yang ingin kita buka.

ytgame.engagement.Score

Objek skor yang dikirim game ke YouTube.
Properti
value
Nilai skor yang dinyatakan sebagai bilangan bulat.

Properti


value

value: number
Nilai skor yang dinyatakan sebagai bilangan bulat. Skor harus kurang dari atau sama dengan bilangan bulat aman maksimum. Jika tidak, skor akan ditolak.

ytgame.game

Fungsi dan properti yang terkait dengan perilaku game umum.
Fungsi
firstFrameReady
Memberi tahu YouTube bahwa game telah mulai menampilkan frame.
gameReady
Memberi tahu YouTube bahwa game siap untuk berinteraksi dengan pemain.
loadData
Memuat data game dari YouTube dalam bentuk string serial.
saveData
Menyimpan data game ke YouTube dalam bentuk string serial.

Fungsi


firstFrameReady

firstFrameReady(): void
Memberi tahu YouTube bahwa game telah mulai menampilkan frame.

Game MUST memanggil API ini. Jika tidak, game tidak akan ditampilkan kepada pengguna. firstFrameReady() MUST dipanggil sebelum gameReady().
Contoh
function onGameInitialized() {
  ytgame.game.firstFrameReady();
}

gameReady

gameReady(): void
Memberi tahu YouTube bahwa game siap berinteraksi dengan pemain.

Game MUST memanggil API ini saat dapat berinteraksi. Game TIDAK BOLEH memanggil API ini saat layar pemuatan masih ditampilkan. Jika tidak, game akan gagal dalam proses sertifikasi YouTube.
Contoh
function onGameInteractable() {
  ytgame.game.gameReady();
}

loadData

loadData(): Promise<string>
Memuat data game dari YouTube dalam bentuk string serial.

Game harus menangani penguraian apa pun antara string dan format internal.
Contoh
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.
  }
}
Hasil
Promise<string> Promise yang selesai saat pemuatan berhasil dan ditolak dengan ytgame.SdkError saat gagal.

saveData

saveData(data: string): Promise<void>
Menyimpan data game ke YouTube dalam bentuk string serial.

String harus berupa string UTF-16 yang valid dan terbentuk dengan baik serta maksimum 3 MiB. Game harus menangani penguraian apa pun antara string dan format internal. Jika perlu, gunakan String.isWellFormed() untuk memeriksa apakah string sudah terbentuk dengan baik.
Contoh
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
Hasil
Promise<void> Promise yang di-resolve saat penyimpanan berhasil dan ditolak dengan ytgame.SdkError saat gagal.

ytgame.health

Fungsi dan properti yang terkait dengan kesehatan game.
Fungsi
logError
Mencatat error ke YouTube.
logWarning
Mencatat peringatan ke YouTube.

Fungsi


logError

logError(): void
Mencatat error ke YouTube.

Catatan: API ini adalah upaya terbaik dan dibatasi kapasitasnya sehingga dapat menyebabkan hilangnya data.
Contoh
function onError() {
  ytgame.health.logError();
}

logWarning

logWarning(): void
Mencatat peringatan ke YouTube.

Catatan: API ini adalah upaya terbaik dan dibatasi kapasitasnya sehingga dapat menyebabkan hilangnya data.
Contoh
function onWarning() {
  ytgame.health.logWarning();
}

ytgame.system

Fungsi dan properti yang terkait dengan sistem YouTube.
Fungsi
getLanguage
Menampilkan bahasa yang ditetapkan di setelan YouTube pengguna dalam bentuk tag bahasa BCP-47.
isAudioEnabled
Menampilkan apakah audio game diaktifkan di setelan YouTube.
onAudioEnabledChange
Menetapkan callback yang akan dipicu saat peristiwa perubahan setelan audio diaktifkan dari YouTube.
onPause
Menetapkan callback untuk dipicu saat peristiwa jeda game diaktifkan dari YouTube.
onResume
Menetapkan callback untuk dipicu saat peristiwa lanjutkan game diaktifkan dari YouTube.

Fungsi


getLanguage

getLanguage(): Promise<string>
Menampilkan bahasa yang ditetapkan di setelan YouTube pengguna dalam bentuk tag bahasa BCP-47.

Jangan gunakan fungsi lain untuk menentukan bahasa atau lokalitas pengguna, atau menyimpan preferensi bahasa mereka di penyimpanan cloud. Sebagai gantinya, gunakan fungsi ini untuk memastikan pengalaman pengguna konsisten di seluruh YouTube.
Contoh
const localeTag = await ytgame.system.getLanguage();
// `localeTag` is now set to something like "en-US" or "es-419".
Hasil
Promise<string> Promise yang selesai saat mendapatkan bahasa berhasil dan ditolak dengan ytgame.SdkError saat gagal.

isAudioEnabled

isAudioEnabled(): boolean
Menampilkan apakah audio game diaktifkan di setelan YouTube.

Game HARUS menggunakannya untuk melakukan inisialisasi status audio game.
Contoh
function initGameSound() {
  if (ytgame.system.isAudioEnabled()) {
    // Enable game audio.
  } else {
    // Disable game audio.
  }
}
Hasil
boolean boolean yang menunjukkan apakah audio diaktifkan.

onAudioEnabledChange

onAudioEnabledChange(callback: ((isAudioEnabled: boolean) => void)): (() => void)
Menetapkan callback yang akan dipicu saat peristiwa perubahan setelan audio diaktifkan dari YouTube.

Game MUST menggunakan API ini untuk memperbarui status audio game.
Contoh
ytgame.system.onAudioEnabledChange((isAudioEnabled) => {
  if (isAudioEnabled) {
    // Enable game audio.
  } else {
    // Disable game audio.
  }
});
Parameter
callback: ((isAudioEnabled: boolean) => void) fungsi callback yang akan dipicu.
Hasil
(() => void) fungsi untuk menghapus setelan callback yang biasanya tidak digunakan.

onPause

onPause(callback: (() => void)): (() => void)
Menetapkan callback untuk dipicu saat peristiwa jeda game diaktifkan dari YouTube. Game memiliki periode singkat untuk menyimpan status apa pun sebelum dihapus.

onPause dipanggil untuk semua jenis jeda, termasuk saat pengguna keluar dari game. Tidak ada jaminan bahwa game akan dilanjutkan.
Contoh
ytgame.system.onPause(() => {
  pauseGame();
});

function pauseGame() {
  // Logic to pause game state.
}
Parameter
callback: (() => void) fungsi callback yang akan dipicu.
Hasil
(() => void) fungsi untuk menghapus setelan callback yang biasanya tidak digunakan.

onResume

onResume(callback: (() => void)): (() => void)
Menetapkan callback yang akan dipicu saat peristiwa lanjutkan game diaktifkan dari YouTube.

Setelah dijeda, game tidak dijamin akan dilanjutkan.
Contoh
ytgame.system.onResume(() => {
  resumeGame();
});

function resumeGame() {
  // Logic to resume game state.
}
Parameter
callback: (() => void) fungsi callback yang akan dipicu.
Hasil
(() => void) fungsi untuk menghapus setelan callback yang biasanya tidak digunakan.