Referensi YouTube Playables SDK


ytgame

Namespace tingkat teratas untuk YouTube Playables SDK.

Ini adalah variabel dengan cakupan global di jendela saat ini. Anda TIDAK BOLEH mengganti variabel ini.
Namespace
ads
🧪 API PRATINJAU PUBLIK: DAPAT BERUBAH TANPA PEMBERITAHUAN.
engagement
Fungsi dan properti yang terkait dengan engagement 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 Game 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 yang penting.
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 Game atau tidak. Anda dapat menggunakan ini 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 oleh 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

🧪 API PRATINJAU PUBLIK: DAPAT BERUBAH TANPA PEMBERITAHUAN.

Fungsi dan properti yang terkait dengan iklan.
Fungsi
requestInterstitialAd
Meminta agar iklan interstisial ditampilkan.
requestRewardedAd
Meminta agar iklan reward ditampilkan untuk jenis reward tertentu.

Fungsi


requestInterstitialAd

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

🧪 API PRATINJAU PUBLIK: DAPAT BERUBAH TANPA PEMBERITAHUAN.

Tidak memberikan jaminan tentang apakah iklan ditampilkan atau tidak. Jangan gunakan API ini untuk memberi reward kepada pemain karena menonton iklan.
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 ditolak/dikeluarkan pada permintaan yang gagal.

requestRewardedAd

requestRewardedAd(rewardId: string): Promise<boolean>
Experimental Meminta agar iklan reward ditampilkan untuk jenis reward tertentu.

🧪 API PRATINJAU PUBLIK: DAPAT BERUBAH TANPA PEMBERITAHUAN.

Tidak memberikan jaminan apakah iklan ditampilkan atau tidak.
Contoh
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.
}
Parameter
rewardId: string Wajib. ID yang secara unik mengidentifikasi jenis reward yang dapat diklaim. Anda harus menggunakan ID unik untuk setiap jenis reward, dan menggunakan kembali ID yang sama setiap kali jenis reward tertentu ditawarkan. Contoh:
  • 21403813-2e22-4316-a8b2-7d4f52a6f6fb - "100 koin"
  • 7defcfa2-4312-4893-a13a-a84e0c47a4df - "3 nyawa"
  • 121b001a-0c25-4289-88f6-58e3620d938f - "Lewati level"
Hasil
Promise<boolean> Promise yang diselesaikan pada permintaan yang berhasil dengan nilai benar jika pengguna memenuhi persyaratan untuk menerima reward, atau salah jika tidak. Promise menolak/mengecualikan permintaan yang tidak berhasil.

ytgame.engagement

Fungsi dan properti yang terkait dengan engagement pemain.
Antarmuka
Score
Objek skor yang dikirim game ke YouTube.
Fungsi
sendScore
Mengirim skor ke YouTube.

Fungsi


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 tinggi dalam game harus sesuai dengan apa 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 ditolak/dikeluarkan dengan ytgame.SdkError saat gagal.

ytgame.engagement.Score

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

Properti


value

value: number
Nilai skor 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 berserial.
saveData
Menyimpan data game ke YouTube dalam bentuk string berserial.

Fungsi


firstFrameReady

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

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

gameReady

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

Game HARUS 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 berserial.

Game harus menangani penguraian 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 berserial.

String harus berupa string UTF-16 yang valid dan terbentuk dengan baik serta berukuran maksimum 3 MiB. Game harus menangani penguraian 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 bersifat upaya terbaik dan dibatasi lajunya sehingga dapat menyebabkan kehilangan data.
Contoh
function onError() {
  ytgame.health.logError();
}

logWarning

logWarning(): void
Mencatat peringatan ke YouTube.

Catatan: API ini merupakan upaya terbaik dan dibatasi lajunya yang 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 yang akan dipicu saat peristiwa game jeda diaktifkan dari YouTube.
onResume
Menetapkan callback yang akan dipicu saat peristiwa melanjutkan game diaktifkan dari YouTube.

Fungsi


getLanguage

getLanguage(): Promise<string>
Menampilkan bahasa yang disetel 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 menggunakan ini untuk menginisialisasi 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 HARUS menggunakan API ini untuk mengupdate 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 membatalkan setelan callback yang biasanya tidak digunakan.

onPause

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

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 membatalkan setelan callback yang biasanya tidak digunakan.

onResume

onResume(callback: (() => void)): (() => void)
Menetapkan callback yang akan dipicu saat peristiwa melanjutkan 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 membatalkan setelan callback yang biasanya tidak digunakan.