اگر سوالی دارید که در این صفحه پیدا نشد، با استفاده از اطلاعات تماس موجود در صفحه تماس با پشتیبانی، با ما تماس بگیرید.
این صفحه ممکن است بهروزرسانیهایی با سوالات متداول دریافت کند.
عمومی
این بخش شامل هر سوالی است که در یک دسته خاص قرار نمیگیرد.
آیا میتوانم بازی را در محیط یوتیوب امتحان کنم؟
بله - از پورتال توسعهدهندگان استفاده کنید و دستورالعملهای آزمایش را دنبال کنید.
بازی من روی اندروید یا مجموعه تست SDK رندر نمیشود، چه کاری باید انجام دهم؟
وقتی بازیها منحصراً روی اندروید یا مجموعه تست SDK رندر نمیشوند، اغلب به دلیل نحوه بارگذاری بازیها در WebView است. به دلایل عملکردی، بازی در ابتدا در WebView بارگذاری میشود که به کاربر نمایش داده نمیشود و در نتیجه اندازه نمای WebView صفر میشود. برای حل این مشکل، راه حل زیر توصیه میشود:
(1) تأیید کنید که کد بازی شما صرف نظر از اندازه نمایشگر اجرا میشود.
(2) تأیید کنید که کد بازی شما تغییر اندازهی نمای دید را مدیریت میکند و وقتی اندازهی نمای دید صفر است، کد بازی منتظر نمیماند یا از کار نمیافتد.
توصیه ما این است که به رویداد resize پنجره گوش دهید و ارتفاع بازی خود را فقط زمانی تنظیم کنید که window.innerHeight برابر با غیر صفر باشد.
الزامات فنی
این بخش شامل سوالات مربوط به الزامات فنی YouTube Playables است.
آیا میتوانم از محدودیت حجم فایلهای شخصی معاف شوم؟
خیر. اندازه فایل به صورت جداگانه یک محدودیت قطعی است.
اندازه اولیه بسته نرم افزاری چگونه اندازه گیری می شود؟
اندازه اولیه بسته نرمافزاری به عنوان کل بایتهای دانلود شده توسط Playable تا زمان فراخوانی رویداد gameReady اندازهگیری میشود.
فایلهای قابل پخش در صورت امکان از فشردهسازی HTTP استفاده میکنند، به این معنی که اندازه اولیه بسته ممکن است کوچکتر از اندازه خام کل فایلها باشد. هنگام آزمایش اندازه اولیه بسته در مجموعه تست SDK ، اگر میزبان محلی شما فایلها را فشردهسازی نکند، ممکن است منجر به اندازهای بزرگتر از آنچه پس از انتشار فایل قابل پخش شما اتفاق میافتد، شود. برای مشاهده اندازه واقعی بسته اولیه ارائه شده برای یک فایل قابل پخش، از مجموعه تست SDK که در فایل index.html از یک نسخه آپلود شده قرار دارد استفاده کنید یا تنظیمات سرور محلی خود را برای فعال کردن فشردهسازی gzip تغییر دهید.
من در محدودهی حجم فایلهای تکی یا حجم کل بسته هستم یا از آن عبور کردهام، چه کاری باید انجام دهم؟
برای بهینهسازی بازی و بهبود عملکرد، به مقالات زیر مراجعه کنید:
اگر نتوانم در محدوده اندازه کل بسته جا شوم، چه میشود؟
ممکن است کاربران مجبور باشند هر بار که بازی شما را انجام میدهند، فایلهایی از بازی شما را دانلود کنند. برای جلوگیری از زمان بارگذاری طولانی و استفاده زیاد از داده، توصیه میشود حجم کل بسته بازی تا حد امکان کم باشد.
ما بازیها را تشویق میکنیم که در طول هر جلسه بازی، همزمان با پیشرفت کاربران، از بارگذاری تدریجی یا انواع دیگر بارگذاری تدریجی استفاده کنند، یا داراییها را در هر سطح تقسیم کنند تا امکان دانلود داراییها در مقادیر کم و پخششده در طول یک جلسه طولانی فراهم شود. در چنین موقعیتهایی، داشتن حجم کل بسته بزرگتر ممکن است تجربه کاربری را خراب نکند، و در واقع میتواند با فعال کردن محتوای بیشتر در بازی شما با ردپای کمتر به ازای هر کاربر، تجربه کاربری بهتری ایجاد کند. اگر احساس میکنید بازی شما به این روش کار میکند و داشتن حجم کل بسته بزرگتر را توجیه میکند، از طریق صفحه تماس با پشتیبانی ما با ما تماس بگیرید تا در مورد مورد استفاده خود صحبت کنید.
آیا میتوان تجزیه و تحلیل داخلی من را از الزامات تماس خارجی مستثنی کرد؟
خیر. در حال حاضر، بازیکنان نباید هیچ تماس خارجی برقرار کنند. به مدیر همکار خود در مورد نوع تحلیلی که به آن علاقهمند هستید اطلاع دهید تا ویژگیهای آینده در این حوزه در اولویت قرار گیرند.
بازی دادهها و مراحل را از یک پایگاه دادهی راه دور دریافت میکند، آیا این قابل قبول است؟
در حال حاضر خیر، با این حال ما در حال اجرای آزمایشی دسترسی از راه دور به دادهها با عناوین منتخب هستیم. امروزه، تمام دادههای بازی باید به عنوان بخشی از بسته بازی گنجانده شوند. اگر میخواهید داراییها یا محتوای بازی خود را بهروزرسانی یا بهروزرسانی کنید، با استفاده از اطلاعات تماس موجود در صفحه تماس با پشتیبانی ، بسته بازی بهروزرسانیشده را ارسال کنید یا برای کسب اطلاعات بیشتر در مورد اینکه آیا مایل به در نظر گرفته شدن برای برنامه آزمایشی ما هستید، با ما تماس بگیرید.
من خطایی در مورد نقض «سیاست امنیت محتوا» برای اجرای اسکریپتهای درونخطی میبینم
این اتفاق زمانی میافتد که شما از جاوا اسکریپت برای ایجاد و اضافه کردن یک تگ <script> به صفحه خود استفاده میکنید. برای امنیت، یوتیوب از یک سیاست امنیتی محتوا (CSP) استفاده میکند که اسکریپتها را ملزم به داشتن یک کد امنیتی ویژه به نام "nonce" میکند. یوتیوب به طور خودکار این کد را به اسکریپتهای موجود در فایل HTML شما اضافه میکند، اما شما باید آن را به صورت دستی به هر اسکریپتی که با کد ایجاد میکنید اضافه کنید.
هنگام تولید تگهای اسکریپت به صورت برنامهنویسی شده با استفاده از جاوا اسکریپت، باید 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های SDK مربوط به Playables است.
به دلیل مشکلات ادغام صدا، در صدور گواهینامه رد شدم، چه چیزی را باید اصلاح کنم؟
رایجترین مشکل صوتی که مشاهده میشود مربوط به بازیهایی است که قبل از شروع پخش، انتظار تعامل کاربر را دارند. با این حال، ممکن است به طور خودکار به فایلهای قابل پخش یوتیوب (YouTube Playables) فوکوس داده شود، بنابراین بازی باید این مورد را مدیریت کند.
برای مثالی از تنظیمات صوتی، نمونهها را بررسی کنید.
وحدت
این بخش شامل هرگونه سوالی در مورد ادغام بازیهای موجود Unity با SDK مربوط به YouTube Playables است. برای مثالهایی در مورد نحوه استفاده از SDK و Unity Wrapper، به مستندات YouTube Playables Unity Wrapper مراجعه کنید.
آیا میتوانم از پیشفشردهسازی Unity استفاده کنم؟
ما پیشفشردهسازی فایلهایتان را پیشنهاد نمیکنیم. حجم اولیهی مورد نیاز برای بستهی نرمافزاری، از حجم فشردهسازی پس از بارگذاری استفاده میکند و فایلهای آپلود شده پس از بارگذاری، فشردهسازی خواهند شد. اگر هنوز نیاز به پیشفشردهسازی فایلها دارید، به ادامهی این بخش مراجعه کنید یا با تیم پشتیبانی در صفحهی تماس با ما تماس بگیرید تا در مورد بهترین گزینه برای بازی خود صحبت کنید.
بعضی از بازیها برای فایلهای .wasm یا .data در Unity نیاز به پیشفشردهسازی دارند. فقط در شرایط زیر از پیشفشردهسازی استفاده کنید زیرا این امر ممکن است منجر به زمان بارگذاری بسیار کندتر شود:
- اگر برای برآورده کردن الزامات اندازه فایل یا حجم کل بسته ، نیاز به استفاده از پیشفشردهسازی Unity دارید، به بخش «من در محدوده یا بیش از حد مجاز اندازه فایل یا حجم کل بسته هستم، چه باید بکنم؟» مراجعه کنید.
- اگر برای قبولی در آزمون گواهینامه، نیاز به استفاده از پیشفشردهسازی Unity برای بازی خود دارید، باید شرایط زیر را داشته باشید:
- شما باید از فشردهسازی اولیهی فایل زیپ استفاده کنید.
- شما باید فایلها را به صورت دستی در اسکریپت بارگذاری خود از حالت فشرده خارج کنید. توصیه میکنیم از API جریانهای فشردهسازی استفاده کنید.
این الزامات اضافی ناشی از محدودیتهای معماری سرویسدهی است. در حال حاضر، پشتیبانی از هدرهای HTTP اضافی یا فشردهسازی Brotli در دسترس نیست.
چگونه میتوانم بهروزرسانیهای فریم را وقتی بازی در پسزمینه اجرا میشود، مدیریت کنم؟
شما میتوانید از setTimeout برای مدیریت بهروزرسانیهای فریم در زمانی که بازی در پسزمینه است استفاده کنید. این به کنترل رفتارهایی مانند مکث صدا کمک میکند. میتوانید با فعال کردن گزینه "اجرا در پسزمینه" در تنظیمات پخشکننده، مدیریت فریم در پسزمینه را تأیید کنید.
محدودیتهای حافظه برای بازیهای Unity
برخی از بازیها در یونیتی از مقدار قابل توجهی حافظه استفاده میکنند که میتواند منجر به تجاوز از محدودیتهای استفاده از حافظه برای بازیهای قابل پخش شود. توصیه میشود مستندات توسعه برای حافظه در Unity WebGL را دنبال کنید.