ytgame
เนมสเปซระดับบนสุดสําหรับ YouTube Playables SDK
นี่คือตัวแปรที่มีขอบเขตทั่วโลกในหน้าต่างปัจจุบัน คุณต้องไม่ลบล้างตัวแปรนี้
นี่คือตัวแปรที่มีขอบเขตทั่วโลกในหน้าต่างปัจจุบัน คุณต้องไม่ลบล้างตัวแปรนี้
เนมสเปซ | |
---|---|
ads
|
🧪 เวอร์ชันตัวอย่างแบบสาธารณะของ API: อาจมีการเปลี่ยนแปลงโดยไม่แจ้งให้ทราบ |
engagement
|
ฟังก์ชันและพร็อพเพอร์ตี้ที่เกี่ยวข้องกับการมีส่วนร่วมของผู้เล่น |
game
|
ฟังก์ชันและพร็อพเพอร์ตี้ที่เกี่ยวข้องกับลักษณะการทํางานทั่วไปของเกม |
health
|
ฟังก์ชันและพร็อพเพอร์ตี้ที่เกี่ยวข้องกับประสิทธิภาพของเกม |
system
|
ฟังก์ชันและพร็อพเพอร์ตี้ที่เกี่ยวข้องกับระบบ YouTube |
การแจงนับ | |
---|---|
Sdk
|
ประเภทข้อผิดพลาดที่ SDK ฟีเจอร์เล่นเกมของ YouTube แสดง |
ชั้นเรียน | |
---|---|
Sdk
|
ออบเจ็กต์ข้อผิดพลาดที่ SDK ฟีเจอร์เล่นเกมของ YouTube แสดง |
ตัวแปร | |
---|---|
IN_
|
เกมทำงานในสภาพแวดล้อมฟีเจอร์เล่นเกมหรือไม่ |
SDK_
|
เวอร์ชัน SDK ของฟีเจอร์เล่นเกมของ YouTube |
การแจงนับ
Const
SdkErrorType
SdkErrorType
ตัวแปร
Const
IN_PLAYABLES_ENV
IN_PLAYABLES_ENV: boolean
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
- ตัวอย่าง
-
// Prints the SDK version to console. Do not do this in production. console.log(ytgame.SDK_VERSION);
ytgame.SdkError
Error
ออบเจ็กต์ข้อผิดพลาดที่ YouTube Playables SDK แสดง
ออบเจ็กต์
ออบเจ็กต์
SdkError
อยู่ภายใต้ Error
และมีค่าในช่องเพิ่มเติม
ผู้ผลิต | |
---|---|
constructor
|
พร็อพเพอร์ตี้ | |
---|---|
error
|
ประเภทของข้อผิดพลาด |
message
|
|
name
|
|
stack
|
พร็อพเพอร์ตี้
errorType
errorType:
SdkErrorType
ytgame.ads
🧪 PUBLIC PREVIEW API: SUBJECT TO CHANGE WITHOUT NOTICE.
ฟังก์ชันและพร็อพเพอร์ตี้ที่เกี่ยวข้องกับโฆษณา
ฟังก์ชันและพร็อพเพอร์ตี้ที่เกี่ยวข้องกับโฆษณา
ฟังก์ชัน | |
---|---|
request
|
ส่งคําขอแสดงโฆษณาคั่นระหว่างหน้า |
ฟังก์ชัน
requestInterstitialAd
requestInterstitialAd(): Promise<void>
Experimental
ขอแสดงโฆษณาคั่นระหว่างหน้า🧪 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>
|
สัญญาที่แก้ไขเมื่อคำขอสำเร็จ หรือปฏิเสธ/แสดงข้อผิดพลาดเมื่อคำขอไม่สำเร็จ |
ytgame.engagement
ฟังก์ชันและพร็อพเพอร์ตี้ที่เกี่ยวข้องกับการมีส่วนร่วมของผู้เล่น
อินเทอร์เฟซ | |
---|---|
Content
|
ออบเจ็กต์เนื้อหาที่เกมส่งไปยัง YouTube |
Score
|
ออบเจ็กต์คะแนนที่เกมส่งไปยัง YouTube |
ฟังก์ชัน | |
---|---|
open
|
ขอให้ YouTube เปิดเนื้อหาที่เกี่ยวข้องกับรหัสวิดีโอที่ระบุ
|
send
|
ส่งคะแนนไปยัง YouTube |
ฟังก์ชัน
openYTContent
openYTContent(content: Content): Promise<void>
ขอให้ YouTube เปิดเนื้อหาที่สอดคล้องกับรหัสวิดีโอที่ระบุ
โดยทั่วไปแล้ว ระบบจะเปิดวิดีโอในแท็บใหม่บนเว็บและในมินิเพลเยอร์บนอุปกรณ์เคลื่อนที่
โดยทั่วไปแล้ว ระบบจะเปิดวิดีโอในแท็บใหม่บนเว็บและในมินิเพลเยอร์บนอุปกรณ์เคลื่อนที่
- ตัวอย่าง
-
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. } }
พารามิเตอร์ | |
---|---|
content:
Content
|
เนื้อหาที่จะเปิดบน YouTube |
การคืนสินค้า | |
---|---|
Promise<void>
|
Promise ที่แก้ไขเมื่อดำเนินการสำเร็จและปฏิเสธ/แสดงข้อผิดพลาดด้วย ytgame.SdkError เมื่อดำเนินการไม่สำเร็จ
|
sendScore
sendScore(score: Score): Promise<void>
ส่งคะแนนไปยัง YouTube
คะแนนควรแสดงมิติข้อมูลของความก้าวหน้าในเกม หากมีหลายมิติข้อมูล นักพัฒนาแอปต้องเลือกมิติข้อมูลเดียวเพื่อให้สอดคล้องกัน ระบบจะจัดเรียงคะแนนและแสดงคะแนนสูงสุดใน UI ของ YouTube ดังนั้น UI คะแนนสูงสุดในเกมควรสอดคล้องกับสิ่งที่ส่งผ่าน API นี้
คะแนนควรแสดงมิติข้อมูลของความก้าวหน้าในเกม หากมีหลายมิติข้อมูล นักพัฒนาแอปต้องเลือกมิติข้อมูลเดียวเพื่อให้สอดคล้องกัน ระบบจะจัดเรียงคะแนนและแสดงคะแนนสูงสุดใน UI ของ YouTube ดังนั้น UI คะแนนสูงสุดในเกมควรสอดคล้องกับสิ่งที่ส่งผ่าน 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
พร็อพเพอร์ตี้ | |
---|---|
id
|
รหัสของวิดีโอที่ต้องการเปิด |
พร็อพเพอร์ตี้
id
id: string
ytgame.engagement.Score
ออบเจ็กต์คะแนนที่เกมส่งไปยัง YouTube
พร็อพเพอร์ตี้ | |
---|---|
value
|
ค่าคะแนนที่แสดงเป็นจำนวนเต็ม |
พร็อพเพอร์ตี้
value
value: number
ytgame.game
ฟังก์ชันและพร็อพเพอร์ตี้ที่เกี่ยวข้องกับลักษณะการทํางานทั่วไปของเกม
ฟังก์ชัน | |
---|---|
first
|
แจ้งให้ YouTube ทราบว่าเกมเริ่มแสดงเฟรมแล้ว |
game
|
แจ้งให้ YouTube ทราบว่าเกมพร้อมให้ผู้เล่นโต้ตอบแล้ว
|
load
|
โหลดข้อมูลเกมจาก YouTube ในรูปแบบสตริงที่แปลงเป็นอนุกรม |
save
|
บันทึกข้อมูลเกมลงใน YouTube ในรูปแบบสตริงที่แปลงเป็นรหัส |
ฟังก์ชัน
firstFrameReady
firstFrameReady(): void
แจ้งให้ YouTube ทราบว่าเกมเริ่มแสดงเฟรมแล้ว
เกมMUSTเรียกใช้ API นี้ ไม่เช่นนั้น เกมจะไม่แสดงต่อผู้ใช้
เกมMUSTเรียกใช้ API นี้ ไม่เช่นนั้น เกมจะไม่แสดงต่อผู้ใช้
firstFrameReady()
MUSTเรียกใช้ก่อน
gameReady()
- ตัวอย่าง
-
function onGameInitialized() { ytgame.game.firstFrameReady(); }
gameReady
gameReady(): void
แจ้งให้ YouTube ทราบว่าเกมพร้อมให้ผู้เล่นโต้ตอบ
เกมMUSTเรียกใช้ API นี้เมื่อโต้ตอบได้ เกมต้องไม่เรียกใช้ API นี้เมื่อหน้าจอกำลังโหลดยังคงแสดงอยู่ มิฉะนั้น เกมจะผ่านกระบวนการรับรองของ YouTube ไม่ได้
เกมMUSTเรียกใช้ API นี้เมื่อโต้ตอบได้ เกมต้องไม่เรียกใช้ API นี้เมื่อหน้าจอกำลังโหลดยังคงแสดงอยู่ มิฉะนั้น เกมจะผ่านกระบวนการรับรองของ YouTube ไม่ได้
- ตัวอย่าง
-
function onGameInteractable() { ytgame.game.gameReady(); }
loadData
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
saveData(data: string): Promise<void>
บันทึกข้อมูลเกมลงใน YouTube ในรูปแบบสตริงที่แปลงเป็นอนุกรม
สตริงต้องเป็นสตริง UTF-16 ที่ถูกต้องและอยู่ในรูปแบบที่ถูกต้อง โดยมีขนาดไม่เกิน 3 MiB เกมต้องจัดการการแยกวิเคราะห์ระหว่างสตริงกับรูปแบบภายใน หากจำเป็น ให้ใช้
สตริงต้องเป็นสตริง UTF-16 ที่ถูกต้องและอยู่ในรูปแบบที่ถูกต้อง โดยมีขนาดไม่เกิน 3 MiB เกมต้องจัดการการแยกวิเคราะห์ระหว่างสตริงกับรูปแบบภายใน หากจำเป็น ให้ใช้
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
|
บันทึกข้อผิดพลาดไปยัง YouTube |
log
|
บันทึกคำเตือนไปยัง YouTube |
ฟังก์ชัน
logError
logError(): void
บันทึกข้อผิดพลาดไปยัง YouTube
หมายเหตุ: API นี้จะพยายามดำเนินการอย่างดีที่สุดและมีการจำกัดอัตรา ซึ่งอาจส่งผลให้ข้อมูลสูญหาย
หมายเหตุ: API นี้จะพยายามดำเนินการอย่างดีที่สุดและมีการจำกัดอัตรา ซึ่งอาจส่งผลให้ข้อมูลสูญหาย
- ตัวอย่าง
-
function onError() { ytgame.health.logError(); }
logWarning
logWarning(): void
บันทึกคำเตือนไปยัง YouTube
หมายเหตุ: API นี้จะพยายามดำเนินการให้ดีที่สุดและมีการจำกัดอัตรา ซึ่งอาจส่งผลให้ข้อมูลสูญหาย
หมายเหตุ: API นี้จะพยายามดำเนินการให้ดีที่สุดและมีการจำกัดอัตรา ซึ่งอาจส่งผลให้ข้อมูลสูญหาย
- ตัวอย่าง
-
function onWarning() { ytgame.health.logWarning(); }
ytgame.system
ฟังก์ชันและพร็อพเพอร์ตี้ที่เกี่ยวข้องกับระบบ YouTube
ฟังก์ชัน | |
---|---|
get
|
แสดงภาษาที่ตั้งค่าไว้ในการตั้งค่า YouTube ของผู้ใช้ในรูปแบบแท็กภาษา BCP-47
|
is
|
แสดงผลว่าเปิดใช้เสียงเกมในการตั้งค่า YouTube หรือไม่ |
on
|
ตั้งค่าการเรียกกลับให้ทริกเกอร์เมื่อมีการเรียกเหตุการณ์การเปลี่ยนแปลงการตั้งค่าเสียงจาก YouTube
|
on
|
ตั้งค่าการเรียกกลับให้ทริกเกอร์เมื่อเหตุการณ์หยุดเกมชั่วคราวเริ่มทํางานจาก YouTube
|
on
|
ตั้งค่าการเรียกกลับให้ทริกเกอร์เมื่อมีการเรียกเหตุการณ์ "กลับมาเล่นต่อ" จาก YouTube
|
ฟังก์ชัน
getLanguage
getLanguage(): Promise<string>
แสดงผลภาษาที่ตั้งค่าไว้ในการตั้งค่า YouTube ของผู้ใช้ในรูปแบบแท็กภาษา BCP-47
อย่าใช้ฟังก์ชันอื่นๆ เพื่อระบุภาษาหรือภาษาท้องถิ่นของผู้ใช้ หรือจัดเก็บค่ากําหนดภาษาของผู้ใช้ไว้ในระบบคลาวด์ แต่ให้ใช้ฟังก์ชันนี้แทนเพื่อให้ผู้ใช้ได้รับประสบการณ์การใช้งานที่สอดคล้องกันทั่วทั้ง YouTube
อย่าใช้ฟังก์ชันอื่นๆ เพื่อระบุภาษาหรือภาษาท้องถิ่นของผู้ใช้ หรือจัดเก็บค่ากําหนดภาษาของผู้ใช้ไว้ในระบบคลาวด์ แต่ให้ใช้ฟังก์ชันนี้แทนเพื่อให้ผู้ใช้ได้รับประสบการณ์การใช้งานที่สอดคล้องกันทั่วทั้ง 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
เกมMUSTใช้ API นี้เพื่ออัปเดตสถานะเสียงของเกม
เกมMUSTใช้ API นี้เพื่ออัปเดตสถานะเสียงของเกม
- ตัวอย่าง
-
ytgame.system.onAudioEnabledChange((isAudioEnabled) => { if (isAudioEnabled) { // Enable game audio. } else { // Disable game audio. } });
พารามิเตอร์ | |
---|---|
callback: ((isAudioEnabled: boolean) => void)
|
ฟังก์ชัน Callback จะทริกเกอร์ |
การคืนสินค้า | |
---|---|
(() => void)
|
ฟังก์ชันเพื่อยกเลิกการตั้งค่า Callback ซึ่งปกติแล้วจะไม่ได้ใช้ |
onPause
onPause(callback: (() => void)): (() => void)
ตั้งค่าการเรียกกลับให้ทริกเกอร์เมื่อเหตุการณ์หยุดเกมชั่วคราวเริ่มทํางานจาก YouTube เกมมีเวลาสั้นๆ ในการบันทึกสถานะก่อนที่จะถูกนำออก
onPause จะเรียกใช้สำหรับการหยุดชั่วคราวทุกประเภท รวมถึงเมื่อผู้ใช้ออกจากเกม เราไม่รับประกันว่าเกมจะกลับมาเล่นต่อได้
onPause จะเรียกใช้สำหรับการหยุดชั่วคราวทุกประเภท รวมถึงเมื่อผู้ใช้ออกจากเกม เราไม่รับประกันว่าเกมจะกลับมาเล่นต่อได้
- ตัวอย่าง
-
ytgame.system.onPause(() => { pauseGame(); }); function pauseGame() { // Logic to pause game state. }
พารามิเตอร์ | |
---|---|
callback: (() => void)
|
ฟังก์ชัน Callback จะทริกเกอร์ |
การคืนสินค้า | |
---|---|
(() => void)
|
ฟังก์ชันเพื่อยกเลิกการตั้งค่า Callback ซึ่งปกติแล้วจะไม่ได้ใช้ |
onResume
onResume(callback: (() => void)): (() => void)
ตั้งค่าการเรียกกลับให้ทริกเกอร์เมื่อมีการเรียกเหตุการณ์ "กลับมาเล่นต่อ" จาก YouTube
หลังจากหยุดชั่วคราวแล้ว เราไม่รับประกันว่าเกมจะกลับมาเล่นต่อ
หลังจากหยุดชั่วคราวแล้ว เราไม่รับประกันว่าเกมจะกลับมาเล่นต่อ
- ตัวอย่าง
-
ytgame.system.onResume(() => { resumeGame(); }); function resumeGame() { // Logic to resume game state. }
พารามิเตอร์ | |
---|---|
callback: (() => void)
|
ฟังก์ชัน Callback จะทริกเกอร์ |
การคืนสินค้า | |
---|---|
(() => void)
|
ฟังก์ชันเพื่อยกเลิกการตั้งค่า Callback ซึ่งปกติแล้วจะไม่ได้ใช้ |