আপনার যদি এমন কোনও প্রশ্ন থাকে যা এই পৃষ্ঠায় পাওয়া যায়নি, তাহলে সহায়তা সংক্রান্ত যোগাযোগের পৃষ্ঠা-তে দেওয়া যোগাযোগের তথ্য ব্যবহার করে যোগাযোগ করুন।
এই পৃষ্ঠায় প্রায়শই জিজ্ঞাসিত প্রশ্নগুলি পাওয়ার সাথে সাথে আপডেট করা হতে পারে।
সাধারণ
এই বিভাগে এমন প্রশ্ন অন্তর্ভুক্ত করা হয়েছে যা কোনও নির্দিষ্ট বিভাগের মধ্যে পড়ে না।
আমি কি YouTube এনভায়রনমেন্টে গেমটি পরীক্ষা করতে পারি?
হ্যাঁ - Developer Portal ব্যবহার করুন এবং পরীক্ষা করার নির্দেশাবলী অনুসরণ করুন।
আমার গেম Android বা SDK টেস্ট স্যুটে রেন্ডার হচ্ছে না, আমি কী করব?
Android বা SDK টেস্ট স্যুটে গেম এক্সক্লুসিভভাবে রেন্ডার না হলে, সাধারণত WebView-তে গেম কীভাবে লোড করা হয়েছে তার কারণে এটি হয়। পারফর্ম্যান্সের কারণে, গেমটি প্রথমে একটি WebView-তে লোড করা হয় যা ব্যবহারকারীকে দেখানো হয় না, যার ফলে WebView ভিউপোর্ট সাইজ শূন্য হয়। এই সমস্যার সমাধান করতে, নিম্নলিখিত সমাধান সাজেস্ট করা হয়েছে:
(১) ভিউপোর্ট সাইজ যাই হোক না কেন, আপনার গেম কোড যাতে কাজ করে তা যাচাই করুন।
(২) আপনার গেম কোড ভিউপোর্ট রিসাইজিং ম্যানেজ করে কিনা এবং ভিউপোর্ট সাইজ শূন্য হলে গেম কোড অপেক্ষা করে বা ব্যর্থ হয় কিনা তা যাচাই করুন।
আমরা সাজেস্ট করি যে উইন্ডো ইভেন্ট resize-এর জন্য অপেক্ষা করুন এবং window.innerHeight শূন্য না হলে তবেই আপনার গেমের উচ্চতা সেট করুন।
প্রযুক্তিগত প্রয়োজনীয়তা
এই বিভাগে YouTube Playables-এর প্রযুক্তিগত প্রয়োজনীয়তা সম্পর্কিত প্রশ্ন রয়েছে।
আমি কি প্রতিটি ফাইলের সাইজের সীমার ক্ষেত্রে ছাড় পেতে পারি?
না। ব্যক্তিগত ফাইলের সাইজ হল একটি হার্ড লিমিট।
প্রাথমিক বান্ডেলের সাইজ কীভাবে পরিমাপ করা হয়?
gameReady ইভেন্ট কল না করা পর্যন্ত Playable-এর মাধ্যমে ডাউনলোড করা মোট বাইটের পরিমাণ হিসেবে প্রাথমিক বান্ডেলের সাইজ পরিমাপ করা হয়।
সম্ভব হলে, Playables HTTP কম্প্রেশন ব্যবহার করে, যার অর্থ হল প্রাথমিক বান্ডেলের সাইজ অ্যাসেটের মোট র' সাইজের থেকে ছোট হতে পারে। SDK টেস্ট স্যুট-এ প্রাথমিক বান্ডেলের সাইজ পরীক্ষা করার সময়, আপনার লোকাল হোস্ট অ্যাসেট কম্প্রেস না করলে, আপনার প্লেয়েবল প্রকাশিত হওয়ার পরে যে সাইজ হবে তার থেকে বড় সাইজ হতে পারে। কোনও Playable-এর জন্য পরিবেশিত আসল প্রাথমিক বান্ডেল সাইজ দেখতে, আপলোড করা বিল্ড থেকে index.html ফাইলে পয়েন্ট করা SDK টেস্ট স্যুট ব্যবহার করুন অথবা gzip কম্প্রেশন চালু করতে আপনার স্থানীয় সার্ভার সেটিংস পরিবর্তন করুন।
আমার ব্যক্তিগত ফাইল বা মোট বান্ডেলের সাইজ সীমা ছুঁয়ে ফেলেছে বা পেরিয়ে গেছে, আমার কী করা উচিত?
আপনার গেম অপ্টিমাইজ করতে এবং পারফর্ম্যান্স উন্নত করতে, নিম্নলিখিত নিবন্ধগুলি দেখুন:
- ইমেজ কমপ্রেশন
- পারফর্ম্যান্স অডিট
- দ্রুত লোড হওয়ার সময়
-
টেক্সট-ভিত্তিক অ্যাসেটের এনকোডিং এবং ট্রান্সফার সাইজ অপ্টিমাইজ করা
আমি যদি মোট বান্ডেল সাইজের সীমার মধ্যে ফিট করতে না পারি তাহলে কী হবে?
ব্যবহারকারীদের আপনার গেম খেলার সময় প্রতিবারই গেমের অ্যাসেট ডাউনলোড করতে হতে পারে। লোড হতে বেশি সময় লাগা এবং অনেক ডেটা ব্যবহার করা এড়াতে, গেমের মোট বান্ডেল সাইজ যতটা সম্ভব ছোট রাখার সাজেশন দেওয়া হয়।
আমরা গেমগুলিকে ধীরে ধীরে লোড করা বা অন্যান্য ধরনের ইনক্রিমেন্টাল অ্যাসেট ব্যবহার করতে উৎসাহিত করি ব্যবহারকারীরা এগিয়ে যাওয়ার সাথে সাথে প্রতিটি প্লে সেশনের সময় লোড করা, বা লেভেল প্রতি অ্যাসেট ব্রেক আপ করা যাতে অ্যাসেটগুলি অল্প পরিমাণে ডাউনলোড করা যায় যা দীর্ঘ সেশনের সময় জুড়ে ছড়িয়ে পড়ে। এই ধরনের পরিস্থিতিতে, মোট বান্ডেলের সাইজ বড় হলে ব্যবহারকারীর অভিজ্ঞতা খারাপ নাও হতে পারে এবং আসলে ব্যবহারকারী প্রতি কম ফুটপ্রিন্ট সহ আপনার গেমে আরও কন্টেন্ট চালু করার মাধ্যমে আরও ভাল ব্যবহারকারীর অভিজ্ঞতা তৈরি করতে পারে। আপনার গেমটি এইভাবে কাজ করে এবং আরও বড় মোট বান্ডেল সাইজ থাকা যুক্তিযুক্ত বলে মনে করলে, আপনার ব্যবহারের কেস নিয়ে আলোচনা করতে আমাদের সহায়তা সংক্রান্ত যোগাযোগের পৃষ্ঠা ব্যবহার করে যোগাযোগ করুন।
আমার ইন্টার্নাল অ্যানালিটিক্স কি এক্সটার্নাল কল সংক্রান্ত প্রয়োজনীয়তা থেকে বাদ দেওয়া যেতে পারে?
না। এই মুহূর্তে Playables-কে কোনও এক্সটার্নাল কল করলে চলবে না। আপনি কোন ধরনের অ্যানালিটিক্সে আগ্রহী তা আপনার পার্টনার ম্যানেজারকে জানান, যাতে এই স্পেসে ভবিষ্যতের ফিচারগুলিকে অগ্রাধিকার দেওয়া যায়।
গেমটি রিমোট ডেটাবেস থেকে ডেটা এবং লেভেল নিয়ে আসে, এটি কি গ্রহণযোগ্য?
এই মুহূর্তে না, তবে আমরা বেছে নেওয়া কিছু টাইটেলের জন্য রিমোট ডেটা অ্যাক্সেস পাইলট করছি। বর্তমানে, গেম বান্ডেলের অংশ হিসেবে সব গেম ডেটা অন্তর্ভুক্ত করতে হবে। আপনি যদি গেম অ্যাসেট বা কন্টেন্ট আপডেট বা রিফ্রেশ করতে চান, তাহলে সহায়তা সংক্রান্ত যোগাযোগের পৃষ্ঠা-তে দেওয়া যোগাযোগের তথ্য ব্যবহার করে রিফ্রেশ করা গেম বান্ডেল জমা দিন অথবা আমাদের পাইলট প্রোগ্রামে অংশগ্রহণ করতে চাইলে আরও তথ্য জানতে যোগাযোগ করুন।
ইনলাইন স্ক্রিপ্ট এক্সিকিউট করার জন্য "কন্টেন্ট নিরাপত্তা নীতি" লঙ্ঘন করার ব্যাপারে আমি একটি সমস্যার মেসেজ দেখতে পাচ্ছি
আপনার পৃষ্ঠায় <script> ট্যাগ তৈরি ও যোগ করার জন্য জাভাস্ক্রিপ্ট ব্যবহার করলে এটি হয়। নিরাপত্তার জন্য, YouTube একটি কন্টেন্ট নিরাপত্তা নীতি (CSP) ব্যবহার করে যার জন্য
স্ক্রিপ্টে "nonce" নামক একটি বিশেষ নিরাপত্তা কোড থাকতে হয়। YouTube অটোমেটিক
আপনার HTML ফাইলের স্ক্রিপ্টে এই কোড যোগ করে, তবে কোড দিয়ে তৈরি করা যেকোনও স্ক্রিপ্টে
আপনাকে ম্যানুয়ালি এটি যোগ করতে হবে।
জাভাস্ক্রিপ্ট ব্যবহার করে প্রোগ্রাম্যাটিক্যালি স্ক্রিপ্ট ট্যাগ জেনারেট করার সময়, আপনাকে পৃষ্ঠা থেকে ননস খুঁজে নিয়ে নতুন স্ক্রিপ্ট এলিমেন্টে তা প্রয়োগ করতে হবে।
উদাহরণ:
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 ইন্টিগ্রেশন
এই বিভাগে Playables SDK API-এর সাথে সম্পর্কিত যেকোনও প্রশ্ন অন্তর্ভুক্ত থাকে।
অডিও ইন্টিগ্রেশন সংক্রান্ত সমস্যার কারণে আমি সার্টিফিকেশন পাইনি, আমাকে কী ঠিক করতে হবে?
অডিও সংক্রান্ত সবচেয়ে সাধারণ সমস্যা হল, প্লেব্যাক শুরু হওয়ার আগে গেম ব্যবহারকারীর ইন্টার্যাকশন আশা করে। তবে, YouTube Playables-এ অটোমেটিক ফোকাস দেওয়া হতে পারে, তাই গেমটিকে অবশ্যই এই পরিস্থিতি ম্যানেজ করতে হবে।
অডিও সেট-আপের উদাহরণ দেখতে, স্যাম্পেল চেক করুন।
Unity
এই বিভাগে YouTube Playables SDK-এর সাথে আগে থেকে থাকা Unity গেম ইন্টিগ্রেট করা সম্পর্কিত যেকোনও প্রশ্ন অন্তর্ভুক্ত করা হয়েছে। SDK ও Unity Wrapper কীভাবে ব্যবহার করতে হয় সেই সম্পর্কে উদাহরণ দেখতে, YouTube Playables Unity Wrapper ডকুমেন্টেশন দেখুন।
আমি কি Unity প্রি-কম্প্রেশন ব্যবহার করতে পারি?
আমরা আপনার অ্যাসেট আগে থেকে কম্প্রেস করার সাজেশন দিই না। প্রাথমিক বান্ডেল সাইজ সংক্রান্ত প্রয়োজনীয়তা পোস্ট কম্প্রেশন সাইজ ব্যবহার করে এবং আপলোড করা ফাইল ইনজেশনের পরে কম্প্রেস করা হবে। এখনও যদি ফাইল প্রি-কম্প্রেস করার প্রয়োজন হয়, তাহলে এই বিভাগের বাকি অংশ দেখুন অথবা আপনার গেমের জন্য সেরা বিকল্প নিয়ে আলোচনা করতে আমাদের সহায়তা সংক্রান্ত যোগাযোগের পৃষ্ঠা থেকে সহায়তা টিমের সাথে যোগাযোগ করুন।
কিছু গেমের ক্ষেত্রে Unity-এর .wasm বা .data ফাইলের জন্য প্রি-কম্প্রেশন ব্যবহার করতে হবে।
শুধুমাত্র নিম্নলিখিত পরিস্থিতিতে প্রি-কম্প্রেশন ব্যবহার করুন, কারণ এর ফলে লোড হতে অনেক বেশি
সময় লাগতে পারে:
- ব্যক্তিগত ফাইলের সাইজ বা মোট বান্ডেলের সাইজ সংক্রান্ত প্রয়োজনীয়তা পূরণ করতে, আপনাকে Unity প্রি-কম্প্রেশন ব্যবহার করতে হলে, "আমি ব্যক্তিগত ফাইল বা মোট বান্ডেলের সাইজের সীমার কাছাকাছি বা তার বেশি সাইজের ফাইল আপলোড করছি, আমার কী করা উচিত?" দেখুন।
- সার্টিফিকেশন পাস করার জন্য আপনার গেমের ক্ষেত্রে Unity প্রি-কম্প্রেশন ব্যবহার করতে হলে,
নিম্নলিখিত প্রয়োজনীয়তা পূরণ করতে হবে:
- আপনাকে অবশ্যই জিপ প্রি-কম্প্রেশন ব্যবহার করতে হবে।
- আপনার লোডার স্ক্রিপ্টের মধ্যে ফাইলগুলি ম্যানুয়ালি ডিকম্প্রেস করতে হবে। আমরা Compression Streams API ব্যবহার করার সাজেশন দিই।
পরিষেবা প্রদানকারী আর্কিটেকচারের সীমাবদ্ধতার কারণে এই অতিরিক্ত প্রয়োজনীয়তাগুলি দেখা দেয়। এই মুহূর্তে, অতিরিক্ত HTTP হেডার বা Brotli কম্প্রেশনের জন্য সহায়তা উপলভ্য নেই।
গেম ব্যাকগ্রাউন্ডে চলাকালীন আমি কীভাবে ফ্রেম আপডেট ম্যানেজ করতে পারি?
গেম ব্যাকগ্রাউন্ডে চলাকালীন ফ্রেম আপডেট ম্যানেজ করতে আপনি setTimeout ব্যবহার করতে পারবেন।
এটি অডিও পজ করার মতো আচরণ নিয়ন্ত্রণ করতে সাহায্য করে। আপনি প্লেয়ার সেটিংসে "ব্যাকগ্রাউন্ডে চালান" বিকল্প চালু করে ব্যাকগ্রাউন্ড ফ্রেম ম্যানেজমেন্ট যাচাই করতে পারেন।
Unity গেমের জন্য মেমরি সংক্রান্ত বিধিনিষেধ
Unity-তে কিছু গেম প্রচুর পরিমাণে মেমরি ব্যবহার করবে যার ফলে প্লেয়েবলের জন্য মেমরির ব্যবহার সংক্রান্ত বিধিনিষেধ অতিক্রম করতে পারে। Unity WebGL-এ মেমরি-এর জন্য ডেভেলপমেন্ট ডকুমেন্টেশন অনুসরণ করার সাজেশন দেওয়া হয়।