ytgame
Không gian tên cấp cao nhất cho SDK Chơi game trên YouTube.
Đây là một biến có phạm vi toàn cầu 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ầu 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 CẦN 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 tình trạng của trò chơi. |
system
|
Các hàm và thuộc tính liên quan đến hệ thống YouTube. |
| Bảng liệt kê | |
|---|---|
Sdk
|
Các loại lỗi mà SDK Chơi game trên YouTube đưa ra. |
| Lớp | |
|---|---|
Sdk
|
Đối tượng lỗi mà SDK Chơi game trên YouTube gửi. |
| Biến | |
|---|---|
IN_
|
Trò chơi có đang chạy trong môi trường Chơi game hay không. |
SDK_
|
Phiên bản SDK Chơi game trên YouTube. |
Bảng liệt kê
Const SdkErrorType
SdkErrorType
Biến
Const IN_PLAYABLES_ENV
IN_PLAYABLES_ENV: boolean
ytgame để đảm bảo 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
Mở rộng
Error
Đối tượng lỗi mà SDK Chơi game trên YouTube tạo ra.
Đối tượng
Đối tượng
SdkError là đối tượng 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 TRƯỚC CÔNG KHAI: CÓ THỂ THAY ĐỔI MÀ KHÔNG CẦN 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ị một quảng cáo xen kẽ. |
request
|
Yêu cầu hiển thị quảng cáo có tặng thưởng cho một loại phần thưởng cụ thể. |
Hàm
requestInterstitialAd
requestInterstitialAd(): Promise<void>
Experimental Yêu cầu hiển thị một quảng cáo xen kẽ.🧪 PUBLIC PREVIEW API: SUBJECT TO CHANGE WITHOUT NOTICE.
Không đảm bảo về việc quảng cáo có được hiển thị hay không. Không sử dụng API này để tặng thưởng cho người chơi khi họ xem quảng cáo.
- 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 khi yêu cầu thành công hoặc từ chối/gây ra lỗi khi yêu cầu không thành công. |
requestRewardedAd
requestRewardedAd(rewardId: string): Promise<boolean>
Experimental Yêu cầu hiển thị quảng cáo có tặng thưởng cho một loại phần thưởng cụ thể.🧪 API XEM TRƯỚC CÔNG KHAI: CÓ THỂ THAY ĐỔI MÀ KHÔNG CẦN THÔNG BÁO.
Không đảm bảo về việc quảng cáo có được hiển thị hay không.
- Ví dụ:
-
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. }
| Thông số | |
|---|---|
rewardId: string
|
Bắt buộc. Giá trị nhận dạng xác định duy nhất loại phần thưởng có thể nhận.
Bạn phải sử dụng một mã nhận dạng duy nhất cho mỗi loại phần thưởng và sử dụng lại mã nhận dạng đó mỗi lần bạn cung cấp loại phần thưởng cụ thể đó. Ví dụ:
|
| Giá trị trả về | |
|---|---|
Promise<boolean>
|
Một lời hứa phân giải khi yêu cầu thành công với giá trị true nếu người dùng đáp ứng các điều kiện để nhận phần thưởng hoặc false nếu họ không đáp ứng. Lệnh hứa từ chối/gây ra lỗi khi 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 | |
|---|---|
Score
|
Đối tượng điểm số mà trò chơi gửi đến YouTube. |
| Hàm | |
|---|---|
send
|
Gửi điểm số đến YouTube. |
Hàm
sendScore
sendScore(score: Score): Promise<void>
Gửi điểm số đến YouTube.
Điểm số này 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 để đảm bảo tính nhất quán. Điểm số sẽ được sắp xếp và điểm cao nhất sẽ xuất hiện 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 cao trong trò chơi đều phải phù hợp với điểm số được gửi qua API này.
Điểm số này 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 để đảm bảo tính nhất quán. Điểm số sẽ được sắp xếp và điểm cao nhất sẽ xuất hiện 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 cao trong trò chơi đều phải phù hợp với điểm số đượ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
|
bản nhạc để gửi đến YouTube. |
| Giá trị trả về | |
|---|---|
Promise<void>
|
một Promise phân giải khi thành công và từ chối/gây ra lỗi với ytgame.SdkError khi không thành công.
|
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 số đượ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 biết rằng người chơi đã có thể tương tác với trò chơi.
|
load
|
Tải dữ liệu trò chơi từ YouTube dưới dạng một chuỗi được chuyển đổi tuần tự. |
save
|
Lưu dữ liệu trò chơi vào YouTube dưới dạng một chuỗi được chuyển đổ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 PHẢI gọi API này. Nếu không, người dùng sẽ không thấy trò chơi. Bạn PHẢI gọi
Trò chơi PHẢI gọi API này. Nếu không, người dùng sẽ không thấy trò chơi. Bạn PHẢI gọi
firstFrameReady() trước gameReady().
- Ví dụ:
-
function onGameInitialized() { ytgame.game.firstFrameReady(); }
gameReady
gameReady(): void
Thông báo cho YouTube biết rằng người chơi đã có thể tương tác với trò chơi.
Trò chơi PHẢI 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 đang 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 PHẢI 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 đang 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ưới dạng một chuỗi được chuyển đổ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 Promise hoàn thành 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ưới dạng một chuỗi được chuyển đổi tuần tự.
Chuỗi này phải là một chuỗi UTF-16 hợp lệ, có cấu trúc rõ ràng và tối đa 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 dùng
Chuỗi này phải là một chuỗi UTF-16 hợp lệ, có cấu trúc rõ ràng và tối đa 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 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 Promise 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 tình trạng của trò chơi.
| Hàm | |
|---|---|
log
|
Ghi lại lỗi trên YouTube. |
log
|
Ghi lại cảnh báo cho YouTube. |
Hàm
logError
logError(): void
Ghi lại lỗi vào YouTube.
Lưu ý: API này hoạt động hiệu quả nhất có thể và bị giới hạn về tốc độ, điều này có thể dẫn đến mất dữ liệu.
Lưu ý: API này hoạt động hiệu quả nhất có thể và bị giới hạn về tốc độ, điều này có thể dẫn đến 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 hiệu quả nhất có thể và bị giới hạn về tốc độ, điều này có thể dẫn đến mất dữ liệu.
Lưu ý: API này hoạt động hiệu quả nhất có thể và bị giới hạn về tốc độ, điều này có thể dẫn đến 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ề trạng thái bật hay tắt âm thanh trò chơi trong phần cài đặt YouTube. |
on
|
Đặt một lệnh gọi lại sẽ đượ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 một lệnh gọi lại sẽ được kích hoạt khi một sự kiện tạm dừng trò chơi được kích hoạt từ YouTube.
|
on
|
Đặt một lệnh gọi lại sẽ được kích hoạt khi một 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 dùng các hàm khác để xác định ngôn ngữ hoặc ngôn ngữ địa phương của người dùng, hoặc lưu trữ lựa chọn ưu tiên 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 dùng các hàm khác để xác định ngôn ngữ hoặc ngôn ngữ địa phương của người dùng, hoặc lưu trữ lựa chọn ưu tiên 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 Promise hoàn thành khi nhận được ngôn ngữ thành công và từ chối bằng một ytgame.SdkError khi không thành công.
|
isAudioEnabled
isAudioEnabled(): boolean
Trả về trạng thái bật/tắt âm thanh trò chơi trong phần cài đặt YouTube.
Trò chơi NÊN dùng trạng thái này để khởi chạy trạng thái âm thanh trò chơi.
Trò chơi NÊN dùng trạng thái 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 giá trị boolean cho biết liệu âm thanh có được bật hay không. |
onAudioEnabledChange
onAudioEnabledChange(callback: ((isAudioEnabled: boolean) => void)): (() => void)
Đặt một lệnh gọi lại sẽ được 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 PHẢI sử dụng API này để cập nhật trạng thái âm thanh của trò chơi.
Trò chơi PHẢI 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ỷ đặt lệnh gọi lại thường không được dùng. |
onPause
onPause(callback: (() => void)): (() => void)
Đặt một lệnh gọi lại sẽ được kích hoạt khi một 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, kể cả khi người dùng thoát 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, kể cả khi người dùng thoát 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ỷ đặt lệnh gọi lại thường không được dùng. |
onResume
onResume(callback: (() => void)): (() => void)
Đặt một lệnh gọi lại sẽ được kích hoạt khi một 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ỷ đặt lệnh gọi lại thường không được dùng. |