ytgame
Không gian tên cấp cao nhất cho SDK YouTube Playables.
Đây là một biến có phạm vi toàn cục trong cửa sổ hiện tại. Bạn KHÔNG ĐƯỢC ghi đè biến này.
Đây là một biến có phạm vi toàn cục trong cửa sổ hiện tại. Bạn KHÔNG ĐƯỢC ghi đè biến này.
Không gian tên | |
---|---|
ads
|
🧪 API XEM TRƯỚC CÔNG KHAI: CÓ THỂ THAY ĐỔI MÀ KHÔNG THÔNG BÁO TRƯỚC. |
engagement
|
Các hàm và thuộc tính liên quan đến mức độ tương tác của người chơi. |
game
|
Các hàm và thuộc tính liên quan đến hành vi chung của trò chơi. |
health
|
Các hàm và thuộc tính liên quan đến trạng thái của trò chơi. |
system
|
Các hàm và thuộc tính liên quan đến hệ thống YouTube. |
Liệt kê | |
---|---|
Sdk
|
Các loại lỗi mà SDK YouTube Playables gửi. |
Lớp | |
---|---|
Sdk
|
Đối tượng lỗi mà SDK YouTube Playables gửi. |
Biến | |
---|---|
IN_
|
Trò chơi có đang chạy trong môi trường Playables hay không. |
SDK_
|
Phiên bản SDK YouTube Playables. |
Liệt kê
Const
SdkErrorType
SdkErrorType
Biến
Const
IN_PLAYABLES_ENV
IN_PLAYABLES_ENV: boolean
ytgame
để đảm bảo rằng SDK thực sự được tải.
- Ví dụ:
-
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
- Ví dụ:
-
// Prints the SDK version to console. Do not do this in production. console.log(ytgame.SDK_VERSION);
ytgame.SdkError
Error
Đối tượng lỗi mà SDK YouTube Playables gửi.
Đối tượng
Đối tượng
SdkError
là một phần tử con của Error
và chứa một trường bổ sung.
Hàm khởi tạo | |
---|---|
constructor
|
Thuộc tính | |
---|---|
error
|
Loại lỗi. |
message
|
|
name
|
|
stack
|
Thuộc tính
errorType
errorType:
SdkErrorType
ytgame.ads
🧪 API XEM XÉT CÔNG KHAI: CÓ THỂ THAY ĐỔI MÀ KHÔNG THÔNG BÁO TRƯỚC.
Các hàm và thuộc tính liên quan đến quảng cáo.
Các hàm và thuộc tính liên quan đến quảng cáo.
Hàm | |
---|---|
request
|
Yêu cầu hiển thị quảng cáo xen kẽ. |
Hàm
requestInterstitialAd
requestInterstitialAd(): Promise<void>
Experimental
Yêu cầu hiển thị quảng cáo xen kẽ.API XEM TRƯỚC CÔNG CỘNG: CÓ THỂ THAY ĐỔI MÀ KHÔNG THÔNG BÁO.
Không đảm bảo rằng quảng cáo có hiển thị hay không.
- Ví dụ:
-
try { await ytgame.ads.requestInterstitialAd(); // Ad request successful, do something else. } catch (error) { // Handle errors, retry logic, etc. // Note that error may be undefined. }
Giá trị trả về | |
---|---|
Promise<void>
|
một lời hứa sẽ phân giải trên một yêu cầu thành công hoặc từ chối/ném trên một yêu cầu không thành công. |
ytgame.engagement
Các hàm và thuộc tính liên quan đến mức độ tương tác của người chơi.
Giao diện | |
---|---|
Content
|
Đối tượng nội dung mà trò chơi gửi đến YouTube. |
Score
|
Đối tượng điểm số mà trò chơi gửi đến YouTube. |
Hàm | |
---|---|
open
|
Yêu cầu YouTube mở nội dung tương ứng với mã video được cung cấp.
|
send
|
Gửi điểm đến YouTube. |
Hàm
openYTContent
openYTContent(content: Content): Promise<void>
Yêu cầu YouTube mở nội dung tương ứng với mã video được cung cấp.
Nhìn chung, thao tác này sẽ mở video trong một thẻ mới trên web và trong trình phát mini trên thiết bị di động.
Nhìn chung, thao tác này sẽ mở video trong một thẻ mới trên web và trong trình phát mini trên thiết bị di động.
- Ví dụ:
-
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. } }
Thông số | |
---|---|
content:
Content
|
nội dung cần mở trên YouTube. |
Giá trị trả về | |
---|---|
Promise<void>
|
một Lời hứa sẽ phân giải khi thành công và từ chối/gửi bằng một ytgame.SdkError khi không thành công.
|
sendScore
sendScore(score: Score): Promise<void>
Gửi điểm số đến YouTube.
Điểm số phải thể hiện một khía cạnh của tiến trình trong trò chơi. Nếu có nhiều phương diện, nhà phát triển phải chọn một phương diện nhất quán. Điểm số sẽ được sắp xếp và điểm số cao nhất sẽ hiển thị trong giao diện người dùng của YouTube. Vì vậy, mọi giao diện người dùng điểm số cao trong trò chơi phải phù hợp với nội dung đang được gửi qua API này.
Điểm số phải thể hiện một khía cạnh của tiến trình trong trò chơi. Nếu có nhiều phương diện, nhà phát triển phải chọn một phương diện nhất quán. Điểm số sẽ được sắp xếp và điểm số cao nhất sẽ hiển thị trong giao diện người dùng của YouTube. Vì vậy, mọi giao diện người dùng điểm số cao trong trò chơi phải phù hợp với nội dung đang được gửi qua API này.
- Ví dụ:
-
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. } }
Thông số | |
---|---|
score:
Score
|
điểm số cần gửi đến YouTube. |
Giá trị trả về | |
---|---|
Promise<void>
|
một Lời hứa sẽ phân giải khi thành công và từ chối/gửi bằng một ytgame.SdkError khi không thành công.
|
ytgame.engagement.Content
Đối tượng nội dung mà trò chơi gửi đến YouTube.
Thuộc tính | |
---|---|
id
|
Mã nhận dạng của video mà chúng ta muốn mở. |
Thuộc tính
id
id: string
ytgame.engagement.Score
Đối tượng điểm số mà trò chơi gửi đến YouTube.
Thuộc tính | |
---|---|
value
|
Giá trị điểm được biểu thị dưới dạng số nguyên. |
Thuộc tính
value
value: number
ytgame.game
Các hàm và thuộc tính liên quan đến hành vi chung của trò chơi.
Hàm | |
---|---|
first
|
Thông báo cho YouTube rằng trò chơi đã bắt đầu hiển thị khung hình. |
game
|
Thông báo cho YouTube rằng trò chơi đã sẵn sàng để người chơi tương tác.
|
load
|
Tải dữ liệu trò chơi từ YouTube ở dạng chuỗi tuần tự. |
save
|
Lưu dữ liệu trò chơi vào YouTube ở dạng chuỗi tuần tự. |
Hàm
firstFrameReady
firstFrameReady(): void
Thông báo cho YouTube rằng trò chơi đã bắt đầu hiển thị khung hình.
Trò chơi MUST gọi API này. Nếu không, người dùng sẽ không thấy trò chơi.
Trò chơi MUST gọi API này. Nếu không, người dùng sẽ không thấy trò chơi.
firstFrameReady()
MUST được gọi trước gameReady()
.
- Ví dụ:
-
function onGameInitialized() { ytgame.game.firstFrameReady(); }
gameReady
gameReady(): void
Thông báo cho YouTube rằng trò chơi đã sẵn sàng để người chơi tương tác.
Trò chơi MUST gọi API này khi có thể tương tác. Trò chơi KHÔNG ĐƯỢC gọi API này khi màn hình tải vẫn hiển thị. Nếu không, trò chơi sẽ không vượt qua được quy trình chứng nhận của YouTube.
Trò chơi MUST gọi API này khi có thể tương tác. Trò chơi KHÔNG ĐƯỢC gọi API này khi màn hình tải vẫn hiển thị. Nếu không, trò chơi sẽ không vượt qua được quy trình chứng nhận của YouTube.
- Ví dụ:
-
function onGameInteractable() { ytgame.game.gameReady(); }
loadData
loadData(): Promise<string>
Tải dữ liệu trò chơi từ YouTube ở dạng chuỗi tuần tự.
Trò chơi phải xử lý mọi hoạt động phân tích cú pháp giữa chuỗi và định dạng nội bộ.
Trò chơi phải xử lý mọi hoạt động phân tích cú pháp giữa chuỗi và định dạng nội bộ.
- Ví dụ:
-
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. } }
Giá trị trả về | |
---|---|
Promise<string>
|
một Lời hứa hoàn tất khi tải thành công và từ chối bằng một ytgame.SdkError khi không thành công.
|
saveData
saveData(data: string): Promise<void>
Lưu dữ liệu trò chơi vào YouTube ở dạng chuỗi tuần tự.
Chuỗi phải là chuỗi UTF-16 hợp lệ, được định dạng đúng cách và có kích thước tối đa là 3 MiB. Trò chơi phải xử lý mọi hoạt động phân tích cú pháp giữa chuỗi và một định dạng nội bộ. Nếu cần, hãy sử dụng
Chuỗi phải là chuỗi UTF-16 hợp lệ, được định dạng đúng cách và có kích thước tối đa là 3 MiB. Trò chơi phải xử lý mọi hoạt động phân tích cú pháp giữa chuỗi và một định dạng nội bộ. Nếu cần, hãy sử dụng
String.isWellFormed()
để kiểm tra xem chuỗi có được định dạng đúng cách hay không.
- Ví dụ:
-
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. } }
Thông số | |
---|---|
data: string
|
Giá trị trả về | |
---|---|
Promise<void>
|
một Lời hứa sẽ phân giải khi lưu thành công và từ chối bằng một ytgame.SdkError khi không thành công.
|
ytgame.health
Các hàm và thuộc tính liên quan đến trạng thái của trò chơi.
Hàm | |
---|---|
log
|
Ghi lại lỗi vào YouTube. |
log
|
Ghi lại cảnh báo cho YouTube. |
Hàm
logError
logError(): void
Ghi lỗi vào YouTube.
Lưu ý: API này hoạt động theo khả năng tốt nhất và có giới hạn tốc độ, điều này có thể dẫn đến việc mất dữ liệu.
Lưu ý: API này hoạt động theo khả năng tốt nhất và có giới hạn tốc độ, điều này có thể dẫn đến việc mất dữ liệu.
- Ví dụ:
-
function onError() { ytgame.health.logError(); }
logWarning
logWarning(): void
Ghi lại cảnh báo cho YouTube.
Lưu ý: API này hoạt động theo khả năng tốt nhất và có giới hạn tốc độ, điều này có thể dẫn đến việc mất dữ liệu.
Lưu ý: API này hoạt động theo khả năng tốt nhất và có giới hạn tốc độ, điều này có thể dẫn đến việc mất dữ liệu.
- Ví dụ:
-
function onWarning() { ytgame.health.logWarning(); }
ytgame.system
Các hàm và thuộc tính liên quan đến hệ thống YouTube.
Hàm | |
---|---|
get
|
Trả về ngôn ngữ được đặt trong phần cài đặt YouTube của người dùng dưới dạng thẻ ngôn ngữ BCP-47.
|
is
|
Trả về thông tin về việc âm thanh trò chơi có được bật trong phần cài đặt của YouTube hay không. |
on
|
Đặt lệnh gọi lại được kích hoạt khi sự kiện thay đổi chế độ cài đặt âm thanh được kích hoạt từ YouTube.
|
on
|
Đặt lệnh gọi lại để kích hoạt khi sự kiện tạm dừng trò chơi được kích hoạt từ YouTube.
|
on
|
Đặt lệnh gọi lại để kích hoạt khi sự kiện tiếp tục trò chơi được kích hoạt từ YouTube.
|
Hàm
getLanguage
getLanguage(): Promise<string>
Trả về ngôn ngữ được đặt trong phần cài đặt YouTube của người dùng dưới dạng thẻ ngôn ngữ BCP-47.
Không sử dụng các hàm khác để xác định ngôn ngữ hoặc ngôn ngữ của người dùng, hoặc lưu lựa chọn ưu tiên về ngôn ngữ của họ trong tính năng lưu vào đám mây. Thay vào đó, hãy sử dụng hàm này để đảm bảo trải nghiệm người dùng nhất quán trên YouTube.
Không sử dụng các hàm khác để xác định ngôn ngữ hoặc ngôn ngữ của người dùng, hoặc lưu lựa chọn ưu tiên về ngôn ngữ của họ trong tính năng lưu vào đám mây. Thay vào đó, hãy sử dụng hàm này để đảm bảo trải nghiệm người dùng nhất quán trên YouTube.
- Ví dụ:
-
const localeTag = await ytgame.system.getLanguage(); // `localeTag` is now set to something like "en-US" or "es-419".
Giá trị trả về | |
---|---|
Promise<string>
|
một Lời hứa hoàn tất khi nhận được ngôn ngữ thành công và từ chối bằng ytgame.SdkError khi không thành công.
|
isAudioEnabled
isAudioEnabled(): boolean
Trả về thông tin về việc âm thanh trò chơi có được bật trong phần cài đặt của YouTube hay không.
Trò chơi NÊN sử dụng thông tin này để khởi chạy trạng thái âm thanh trò chơi.
Trò chơi NÊN sử dụng thông tin này để khởi chạy trạng thái âm thanh trò chơi.
- Ví dụ:
-
function initGameSound() { if (ytgame.system.isAudioEnabled()) { // Enable game audio. } else { // Disable game audio. } }
Giá trị trả về | |
---|---|
boolean
|
một boolean cho biết liệu âm thanh có được bật hay không. |
onAudioEnabledChange
onAudioEnabledChange(callback: ((isAudioEnabled: boolean) => void)): (() => void)
Đặt lệnh gọi lại để kích hoạt khi sự kiện thay đổi chế độ cài đặt âm thanh được kích hoạt từ
YouTube.
Trò chơi MUST sử dụng API này để cập nhật trạng thái âm thanh của trò chơi.
Trò chơi MUST sử dụng API này để cập nhật trạng thái âm thanh của trò chơi.
- Ví dụ:
-
ytgame.system.onAudioEnabledChange((isAudioEnabled) => { if (isAudioEnabled) { // Enable game audio. } else { // Disable game audio. } });
Thông số | |
---|---|
callback: ((isAudioEnabled: boolean) => void)
|
hàm callback sẽ được kích hoạt. |
Giá trị trả về | |
---|---|
(() => void)
|
một hàm để huỷ thiết lập lệnh gọi lại thường không được sử dụng. |
onPause
onPause(callback: (() => void)): (() => void)
Đặt lệnh gọi lại để kích hoạt khi sự kiện tạm dừng trò chơi được kích hoạt từ YouTube. Trò chơi có một khoảng thời gian ngắn để lưu mọi trạng thái trước khi bị loại bỏ.
onPause được gọi cho tất cả các loại tạm dừng, bao gồm cả khi người dùng thoát khỏi trò chơi. Không có gì đảm bảo rằng trò chơi sẽ tiếp tục.
onPause được gọi cho tất cả các loại tạm dừng, bao gồm cả khi người dùng thoát khỏi trò chơi. Không có gì đảm bảo rằng trò chơi sẽ tiếp tục.
- Ví dụ:
-
ytgame.system.onPause(() => { pauseGame(); }); function pauseGame() { // Logic to pause game state. }
Thông số | |
---|---|
callback: (() => void)
|
hàm callback sẽ được kích hoạt. |
Giá trị trả về | |
---|---|
(() => void)
|
một hàm để huỷ thiết lập lệnh gọi lại thường không được sử dụng. |
onResume
onResume(callback: (() => void)): (() => void)
Đặt lệnh gọi lại để kích hoạt khi sự kiện tiếp tục trò chơi được kích hoạt từ YouTube.
Sau khi bị tạm dừng, trò chơi không được đảm bảo sẽ tiếp tục.
Sau khi bị tạm dừng, trò chơi không được đảm bảo sẽ tiếp tục.
- Ví dụ:
-
ytgame.system.onResume(() => { resumeGame(); }); function resumeGame() { // Logic to resume game state. }
Thông số | |
---|---|
callback: (() => void)
|
hàm callback sẽ được kích hoạt. |
Giá trị trả về | |
---|---|
(() => void)
|
một hàm để huỷ thiết lập lệnh gọi lại thường không được sử dụng. |