ytgame
مساحة الاسم ذات المستوى الأعلى لحزمة تطوير البرامج (SDK) لمنصة YouTube Playables.
هذا متغيّر على مستوى عالمي في النافذة الحالية. يجب عدم إلغاء هذا المتغيّر.
هذا متغيّر على مستوى عالمي في النافذة الحالية. يجب عدم إلغاء هذا المتغيّر.
مساحات الاسم | |
---|---|
ads
|
🧪 PUBLIC PREVIEW API: SUBJECT TO CHANGE WITHOUT NOTICE. |
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.
The functions and properties related to ads.
The functions and properties related to ads.
الدوال | |
---|---|
request
|
يطلب عرض إعلان بيني. |
الدوال
requestInterstitialAd
requestInterstitialAd(): Promise<void>
Experimental
تطلب عرض إعلان بيني.🧪 PUBLIC PREVIEW API: SUBJECT TO CHANGE WITHOUT NOTICE.
لا تقدّم أي ضمانات بشأن ما إذا تم عرض الإعلان.
- مثال
-
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>
|
وعد يتم حلّه عند النجاح ويرفض/يُعرَض مع
ytgame.SdkError عند تعذُّر التنفيذ
|
sendScore
sendScore(score: Score): Promise<void>
إرسال نتيجة إلى YouTube:
يجب أن تمثّل النتيجة سمة واحدة من سمات مستوى التقدّم في اللعبة. إذا كانت هناك سمات متعددة، على المطوّر اختيار سمة واحدة لتصبح متسقة. سيتم ترتيب النتائج وسيتم عرض أعلى نتيجة في واجهة مستخدم YouTube، لذا يجب أن تتطابق أي واجهة مستخدم لأفضل نتيجة في اللعبة مع ما يتم إرساله من خلال واجهة برمجة التطبيقات هذه.
يجب أن تمثّل النتيجة سمة واحدة من سمات مستوى التقدّم في اللعبة. إذا كانت هناك سمات متعددة، على المطوّر اختيار سمة واحدة لتصبح متسقة. سيتم ترتيب النتائج وسيتم عرض أعلى نتيجة في واجهة مستخدم YouTube، لذا يجب أن تتطابق أي واجهة مستخدم لأفضل نتيجة في اللعبة مع ما يتم إرساله من خلال واجهة برمجة التطبيقات هذه.
- مثال
-
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>
|
وعد يتم حلّه عند النجاح ويرفض/يُعرَض مع
ytgame.SdkError عند تعذُّر التنفيذ
|
ytgame.engagement.Content
عنصر المحتوى الذي ترسله اللعبة إلى YouTube
الخصائص | |
---|---|
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 أن تستدعي اللعبة واجهة برمجة التطبيقات هذه. وإلا، لن تظهر اللعبة للمستخدمين.
MUST أن تستدعي اللعبة واجهة برمجة التطبيقات هذه. وإلا، لن تظهر اللعبة للمستخدمين.
firstFrameReady()
MUST استدعاء الإجراء
gameReady()
قبله.
- مثال
-
function onGameInitialized() { ytgame.game.firstFrameReady(); }
gameReady
gameReady(): void
إرسال إشعار إلى YouTube بأنّ اللعبة جاهزة للتفاعل معها من قِبل اللاعبين
MUST أن تستدعي اللعبة واجهة برمجة التطبيقات هذه عندما يصبح بالإمكان التفاعل معها. يجب ألا تطلب اللعبة بيانات من واجهة برمجة التطبيقات هذه عندما تكون شاشة التحميل لا تزال معروضة. وفي حال عدم استيفاء هذه المتطلبات، لن تجتاز اللعبة عملية الاعتماد في YouTube.
MUST أن تستدعي اللعبة واجهة برمجة التطبيقات هذه عندما يصبح بالإمكان التفاعل معها. يجب ألا تطلب اللعبة بيانات من واجهة برمجة التطبيقات هذه عندما تكون شاشة التحميل لا تزال معروضة. وفي حال عدم استيفاء هذه المتطلبات، لن تجتاز اللعبة عملية الاعتماد في 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>
|
وعد يكتمل عند نجاح التحميل ويرفض باستخدام
ytgame.SdkError عند تعذُّر التحميل
|
saveData
saveData(data: string): Promise<void>
تحفظ بيانات اللعبة على YouTube في شكل سلسلة متسلسلة.
يجب أن تكون السلسلة بترميز UTF-16 صالحًا وسليمًا وبحجم 3 ميغابايت كحد أقصى. يجب أن تعالج اللعبة أيّ تحليل بين السلسلة وأحد التنسيقات الداخلية. استخدِم
يجب أن تكون السلسلة بترميز UTF-16 صالحًا وسليمًا وبحجم 3 ميغابايت كحد أقصى. يجب أن تعالج اللعبة أيّ تحليل بين السلسلة وأحد التنسيقات الداخلية. استخدِم
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>
|
وعد يتم حلّه عند نجاح الحفظ ويرفض باستخدام
ytgame.SdkError عند تعذُّر الحفظ
|
ytgame.health
الوظائف والسمات ذات الصلة بحالة اللعبة
الدوال | |
---|---|
log
|
تسجيل خطأ في YouTube |
log
|
تسجيل تحذير على YouTube |
الدوال
logError
logError(): void
تسجيل خطأ في YouTube
ملاحظة: تعتمد واجهة برمجة التطبيقات هذه على أفضل الجهود ويتم الحد من معدّل إرسال البيانات، ما قد يؤدي إلى فقدان البيانات.
ملاحظة: تعتمد واجهة برمجة التطبيقات هذه على أفضل الجهود ويتم الحد من معدّل إرسال البيانات، ما قد يؤدي إلى فقدان البيانات.
- مثال
-
function onError() { ytgame.health.logError(); }
logWarning
logWarning(): void
تسجيل تحذير في YouTube
ملاحظة: تعتمد هذه الواجهة على أفضل الجهود وهي محدودة السرعة، ما قد يؤدي إلى فقدان البيانات.
ملاحظة: تعتمد هذه الواجهة على أفضل الجهود وهي محدودة السرعة، ما قد يؤدي إلى فقدان البيانات.
- مثال
-
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>
|
وعد يكتمل عند نجاح الحصول على اللغة ويرفض باستخدام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 أن تستخدم اللعبة واجهة برمجة التطبيقات هذه لتعديل حالة صوت اللعبة.
MUST أن تستخدم اللعبة واجهة برمجة التطبيقات هذه لتعديل حالة صوت اللعبة.
- مثال
-
ytgame.system.onAudioEnabledChange((isAudioEnabled) => { if (isAudioEnabled) { // Enable game audio. } else { // Disable game audio. } });
المعلمات | |
---|---|
callback: ((isAudioEnabled: boolean) => void)
|
دالّة ردّ الاتصال التي سيتمّ تفعيلها |
المرتجعات | |
---|---|
(() => void)
|
دالة لإلغاء ضبط دالة ردّ الاتصال التي لا يتم استخدامها عادةً |
onPause
onPause(callback: (() => void)): (() => void)
لضبط طلب استدعاء ليتم تشغيله عند بدء حدث "إيقاف اللعبة مؤقتًا" من YouTube. تملك
اللعبة فترة قصيرة لحفظ أي حالة قبل إزالتها.
يتم استدعاء onPause لجميع أنواع عمليات الإيقاف المؤقت، بما في ذلك عندما يخرج المستخدم من اللعبة. ليس هناك ضمان لاستئناف اللعبة.
يتم استدعاء onPause لجميع أنواع عمليات الإيقاف المؤقت، بما في ذلك عندما يخرج المستخدم من اللعبة. ليس هناك ضمان لاستئناف اللعبة.
- مثال
-
ytgame.system.onPause(() => { pauseGame(); }); function pauseGame() { // Logic to pause game state. }
المعلمات | |
---|---|
callback: (() => void)
|
دالّة ردّ الاتصال التي سيتمّ تفعيلها |
المرتجعات | |
---|---|
(() => void)
|
دالة لإلغاء ضبط دالة ردّ الاتصال التي لا يتم استخدامها عادةً |
onResume
onResume(callback: (() => void)): (() => void)
لضبط طلب استدعاء ليتم تشغيله عند بدء حدث استئناف اللعبة من YouTube.
بعد إيقاف اللعبة مؤقتًا، لا يمكن ضمان استئنافها.
بعد إيقاف اللعبة مؤقتًا، لا يمكن ضمان استئنافها.
- مثال
-
ytgame.system.onResume(() => { resumeGame(); }); function resumeGame() { // Logic to resume game state. }
المعلمات | |
---|---|
callback: (() => void)
|
دالّة ردّ الاتصال التي سيتمّ تفعيلها |
المرتجعات | |
---|---|
(() => void)
|
دالة لإلغاء ضبط دالة ردّ الاتصال التي لا يتم استخدامها عادةً |