שאלות נפוצות בנושא אישורים

אם יש לכם שאלה שלא מופיעה בדף הזה, תוכלו לפנות אלינו באמצעות פרטי הקשר שמופיעים בדף יצירת הקשר עם התמיכה.

הדף הזה יתעדכן עם שאלות נפוצות ככל שנקבל אותן.

כללי

הקטע הזה כולל שאלות שלא נכללות בקטגוריה ספציפית.

האם אפשר לבדוק את המשחק בסביבת YouTube?

כן – צריך להשתמש בפורטל למפתחים ולפעול לפי הוראות הבדיקה.

המשחק שלי לא מוצג ב-Android או בכלי לבדיקת ההגדרה של תהליך בחירת הרשת, מה עלי לעשות?

אם משחקים לא עוברים רינדור באופן בלעדי ב-Android או בחבילת בדיקות של SDK, הסיבה לכך היא בדרך כלל האופן שבו המשחקים נטענים ב-WebView. מסיבות שקשורות לביצועים, המשחק נטען בהתחלה ב-WebView שלא מוצג למשתמש, ולכן גודל אזור התצוגה של WebView הוא אפס. כדי לפתור את הבעיה, מומלץ לבצע את הפעולות הבאות:

‫(1) מוודאים שקוד המשחק פועל ללא קשר לגודל אזור התצוגה.

‫(2) מוודאים שקוד המשחק מטפל בשינוי הגודל של אזור התצוגה, ושקוד המשחק לא ממתין או נכשל כשגודל אזור התצוגה הוא אפס.

ההמלצה שלנו היא להאזין לאירוע של החלון resize ולהגדיר את הגובה של המשחק רק אם הערך של window.innerHeight הוא לא אפס.

דרישות טכניות

בקטע הזה יש שאלות שקשורות לדרישות הטכניות של המשחקייה של YouTube.

האם אפשר לקבל פטור ממגבלת הגודל של קבצים בודדים?

לא. גודל הקובץ הוא מגבלה קשיחה.

איך נמדד הגודל ההתחלתי של החבילה?

גודל החבילה הראשוני נמדד ככמות הבייטים הכוללת שהורדה על ידי המודעה האינטראקטיבית עד להפעלת האירוע gameReady.

כשמשתמשים ב-Playables, המערכת משתמשת בדחיסת HTTP כשהדבר אפשרי. המשמעות היא שגודל החבילה הראשוני עשוי להיות קטן יותר מהגודל הכולל של הנכסים. כשבודקים את הגודל ההתחלתי של ה-bundle בחבילת הבדיקה של ה-SDK, אם המארח המקומי לא דוחס נכסים, יכול להיות שהגודל יהיה גדול יותר ממה שיהיה אחרי פרסום המודעה האינטראקטיבית. כדי לראות את הגודל בפועל של חבילת ההתקנה הראשונית שמוצגת למשתמש במשחק שאפשר לשחק בו, צריך להשתמש ב-SDK Test Suite ולהפנות אותו לקובץ index.html מתוך גרסת build שהועלתה, או לשנות את ההגדרות של השרת המקומי כדי להפעיל דחיסת gzip.

הגודל של קובץ יחיד חורג מהמגבלה או שכל המכסה של החבילה נוצלה או שחרגתי ממנה. מה צריך לעשות?

כדי לבצע אופטימיזציה של המשחק ולשפר את הביצועים, אפשר לעיין במאמרים הבאים:

מה קורה אם חורגים ממגבלת הגודל הכוללת של החבילה?

יכול להיות שהמשתמשים יצטרכו להוריד נכסים מהמשחק בכל פעם שהם משחקים בו. כדי למנוע זמני טעינה ארוכים ושימוש בחבילת הגלישה בכמויות גדולות, מומלץ שגודל החבילה הכולל של המשחק יהיה קטן ככל האפשר.

מומלץ להשתמש בטעינה מדורגת או בסוגים אחרים של טעינת נכסים מצטברת במהלך כל סשן משחק, ככל שהמשתמשים מתקדמים, או לחלק את הנכסים לפי רמה כדי לאפשר הורדה של נכסים בכמויות קטנות לאורך סשן ארוך. במצבים כאלה, גודל חבילה כולל גדול יותר לא בהכרח יפגע בחוויית המשתמש, ואפילו יכול לשפר אותה כי הוא מאפשר להציג יותר תוכן במשחק עם טביעת רגל קטנה יותר לכל משתמש. אם לדעתכם המשחק שלכם פועל בצורה כזו שמצדיקה גודל חבילה כולל גדול יותר, אתם יכולים לפנות אלינו באמצעות דף התמיכה כדי לדון בתרחיש השימוש שלכם.

האם אפשר להחריג את נתוחי השימוש הפנימיים שלי מדרישות השיחות החיצוניות?

לא. בשלב הזה, אסור להפעיל שיחות חיצוניות ב-Playables. כדאי להודיע למנהל השותפים שלכם על סוג הניתוחים שמעניינים אתכם, כדי שנוכל לתת עדיפות לתכונות עתידיות בתחום הזה.

המשחק מאחזר נתונים ורמות ממסד נתונים מרוחק. האם זה מקובל?

לא בשלב הזה, אבל אנחנו מריצים פיילוט של גישה מרחוק לנתונים עם כותרים נבחרים. היום, כל נתוני המשחק צריכים להיכלל בחבילת המשחק. אם אתם רוצים לעדכן או לרענן את הנכסים או התוכן של המשחק, אתם יכולים לפנות אלינו באמצעות הפרטים ליצירת קשר שמופיעים בדף הפרטים ליצירת קשר עם התמיכה כדי לשלוח חבילת משחק מעודכנת, או לפנות אלינו כדי לקבל מידע נוסף על האפשרות להצטרף לתוכנית הפיילוט שלנו.

מופיעה שגיאה לגבי הפרה של Content Security Policy (מדיניות אבטחת תוכן) בהרצת סקריפטים מוטבעים

זה קורה כשמשתמשים ב-JavaScript כדי ליצור ולהוסיף תג <script> לדף. מטעמי אבטחה, YouTube משתמש במדיניות אבטחת תוכן (CSP) שמחייבת שלסקריפטים יהיה קוד אבטחה מיוחד שנקרא nonce. מערכת YouTube מוסיפה את הקוד הזה באופן אוטומטי לסקריפטים בקובץ ה-HTML, אבל צריך להוסיף אותו באופן ידני לכל סקריפט שיוצרים באמצעות קוד.

כשיוצרים תגי סקריפט באופן פרוגרמטי באמצעות JavaScript, צריך למצוא את ה-nonce מהדף ולהחיל אותו על רכיב הסקריפט החדש.

דוגמה:

const script = document.createElement('script');
script.src = '...';
// Find the nonce from the main page and apply it
script.nonce = document.querySelector('script[nonce]')?.nonce;
document.head.appendChild(script);

אפשר לבדוק הגדרות אופליין באמצעות ההנחיות שמפורטות בהוראות לשימוש בכלי הבדיקה.

שילוב SDK

בקטע הזה מופיעות שאלות שקשורות לכל אחד מממשקי ה-API של Playables SDK.

ההסמכה שלי נכשלה בגלל בעיות בשילוב אודיו. מה צריך לתקן?

הבעיה הנפוצה ביותר שקשורה לאודיו היא במשחקים שדורשים אינטראקציה של המשתמש לפני שההפעלה מתחילה. עם זאת, יכול להיות שהמשחקייה של YouTube תתמקד אוטומטית במשחקים, ולכן המשחק צריך לטפל במקרה הזה.

דוגמה להגדרת אודיו מופיעה כאן.

Unity

בקטע הזה מפורטות שאלות לגבי שילוב של משחקי Unity קיימים עם ה-SDK של המשחקייה של YouTube. דוגמאות לשימוש ב-SDK וב-Unity Wrapper זמינות במאמרי העזרה של המשחקייה של YouTube Unity Wrapper.

האם אפשר להשתמש בדחיסה מראש של Unity?

אנחנו לא ממליצים לדחוס מראש את הנכסים. הדרישה לגבי הגודל הראשוני של חבילת האפליקציה מתייחסת לגודל אחרי הדחיסה, והדחיסה של הקבצים שמועלים מתבצעת אחרי ההטמעה. אם עדיין יש צורך לבצע דחיסה מראש של קבצים, אפשר לעיין בשאר המידע בקטע הזה או לפנות לצוות התמיכה דרך דף יצירת הקשר עם התמיכה כדי לדון באפשרות הטובה ביותר למשחק שלכם.

בחלק מהמשחקים צריך להשתמש בדחיסה מראש לקבצים .wasm או .data של Unity. מומלץ להשתמש בדחיסה מראש רק בתנאים הבאים, כי היא עלולה להאט מאוד את זמני הטעינה:

הדרישות הנוספות האלה נובעות ממגבלות של ארכיטקטורת הצגת המודעות. בשלב הזה, אין תמיכה בכותרות HTTP נוספות או בדחיסת Brotli.

איך אפשר לנהל עדכוני פריימים כשהמשחק פועל ברקע?

אפשר להשתמש ב-setTimeout כדי לנהל עדכוני פריים כשהמשחק פועל ברקע. כך אפשר לשלוט בהתנהגויות כמו השהיית אודיו. כדי לאמת את ניהול המסגרות ברקע, מפעילים את האפשרות 'הפעלה ברקע' בהגדרות של נגן.

הגבלות זיכרון במשחקי Unity

חלק מהמשחקים ב-Unity משתמשים בכמות גדולה של זיכרון, ולכן יכול להיות שהם יחרגו ממגבלות השימוש בזיכרון עבור מודעות אינטראקטיביות. מומלץ לעיין במאמרי העזרה בנושא זיכרון ב-Unity WebGL.