तकनीकी आवश्यकताएँ
उपकरण और ब्राउज़र संगतता
हम चाहते हैं कि गेम Chrome और Edge पर चल सके। Safari पर खराब रूप से चलने वाले गेम को अक्षम कर दिया जाएगा। Jogos के काफ़ी सारे उपयोगकर्ता Chromebook का उपयोग करते हैं। यदि गेम 4GB RAM वाले उपकरणों पर सुचारू रूप से नहीं चलता है, तो Chromium OS सिस्टम ऐसे गेम को अक्षम कर देता है। यदि मोबाइल उपकरणों का समर्थन है, तो गेम में माउस, कीबोर्ड और टच का भी समर्थन होना चाहिए। गेम को डेस्कटॉप उपकरणों पर क्षैतिज मोड में चलाने में सक्षम होना चाहिए। हम सीधी स्क्रीन/सीधे स्वरूप वाले गेम को प्रकाशित करने की अनुमति देते हैं, विशेष रूप से मोबाइल उपकरणों के लिए, उदाहरण के लिए स्क्रीन के किनारों पर काली पट्टियाँ या पृष्ठभूमि तस्वीरें दिखाना।
H5 गेम को विभिन्न देशों या क्षेत्रों में संगत बनाने के लिए, हमने गेम के समग्र पैकेजिंग के लिए निम्नलिखित आवश्यकताएँ रखी हैं:
श्रेणी पीसी साइड मोबाइल साइड प्रारंभिक डाउनलोड पैकेट का आकार ≤50MB ≤25MB कुल फ़ाइल आकार ≤ 500MB ≤ 250MB फ़ाइलों की संख्या ≤5000 ≤3000
मोबाइल गेम की आवश्यकताएँ
मोबाइल होमपेज की पात्रता प्राप्त करने के लिए, प्रारंभिक डाउनलोड आकार 25MB से अधिक नहीं होना चाहिए। आप सपोर्ट किए जाने वाले दिशाओं को सबमिट किए गए सामग्री में कॉन्फ़िगर कर सकते हैं। वेबसाइट उपयोगकर्ताओं से डिवाइस को घुमाने का अनुरोध करेगी, ताकि सुनिश्चित हो सके कि आपका गेम केवल इन दिशाओं में चल सके। इसलिए, आपको किसी भी दिशा लॉक लॉजिक को इम्प्लीमेंट करने की आवश्यकता नहीं है। उदाहरण के लिए, कुछ डिवाइसों (जैसे टैबलेट) पर गेम खेलते समय, डबल क्लिक या लंबा दबाना ज़ूम टूल दिखा सकता है, या पूरे गेम को चुन सकता है और कांटेक्स्ट मेनू दिखा सकता है। संचालन में बाधा न आने के लिए, body गेम में निम्नलिखित CSS जोड़ें:
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
बार-बार क्रैश (मेमोरी की कमी के कारण) के कारण, Unity गेम iOS प्लेटफ़ॉर्म पर डिफ़ॉल्ट रूप से अक्षम रहते हैं। जब आपका गेम एक निश्चित खेलने की मात्रा तक पहुंच जाए, तो हमारी टीम iOS प्लेटफ़ॉर्म पर इसके प्रदर्शन का मूल्यांकन करेगी और इस फ़ंक्शन को सक्षम करने पर विचार करेगी।
हम Unity ग्राफ़िक क्वालिटी (डिवाइस पिक्सेल अनुपात) का प्रबंधन करते हैं, ताकि उपयोगकर्ताओं को अच्छा गेम प्रदर्शन मिले: iOS डिवाइसों और कम मेमोरी वाले Android डिवाइसों के लिए, हम DPR मान 1 चुनते हैं, क्योंकि ये डिवाइस मूल रूप से समर्थित DPR उच्च होने पर क्रैश हो जाते हैं अन्य डिवाइसों के लिए, डिवाइस द्वारा समर्थित मूल DPR (window.devicePixelRatio) का उपयोग करें यदि हमें कोई अपवाद की आवश्यकता लगती है, तो हम इस कॉन्फ़िगरेशन को मैन्युअल रूप से ओवरराइड कर सकते हैं
QA कंट्रोलर का विवरण
Jogos डेवलपर्स QA गुणवत्ता जांच टूल, दो पूरी संगतता योजनाएँ प्रदान करता है, आपको अपने गेम के लिए अतिरिक्त संगतता कार्य नहीं करना होगा:
- यदि आपका गेम मूल रूप से केवल मोबाइल के लिए अनुकूलित है, और वास्तविक बटन और वास्तविक रॉकेट का उपयोग करता है। तो आप "मोबाइल गेम को पीसी साइड के नियंत्रणों के लिए अनुकूलित करें" का उपयोग करके कीबोर्ड या माउस बटन को कॉन्फ़िगर कर सकते हैं, ताकि पीसी पर खिलाड़ियों के नियंत्रण को पूरा किया जा सके।
- यदि आपका गेम मूल रूप से केवल पीसी के लिए अनुकूलित है, और कीबोर्ड और माउस के नियंत्रण का उपयोग करता है। तो आप "पीसी गेम को मोबाइल साइड के नियंत्रणों के लिए अनुकूलित करें" का उपयोग करके वास्तविक बटन, वास्तविक रॉकेट को आप जिस स्थान पर ठीक समझें उस पर खींचकर रख सकते हैं और पीसी के कुंजी स्थानों को मैप कर सकते हैं, ताकि खिलाड़ियों को मोबाइल पर संचालन का अनुभव मिल सके।
सामान्य समस्याओं का हल
नीचे दिया गया कोड स्निपेट कई उपयोगकर्ता अनुभव समस्याओं को ठीक कर सकता है जो डिफ़ॉल्ट ब्राउज़र व्यवहार के कारण होती हैं (ये समस्याएँ हमारे UnitySDK द्वारा आपके लिए पहले से ही कार्यान्वित कर दी गई हैं, अन्य प्लेटफ़ॉर्मों पर स्थिति के अनुसार स्वयं उपयोग करें)
- आवश्यक नहीं पृष्ठ स्क्रॉल
- आवश्यक नहीं कुंजी घटनाएँ
- Samsung ऐप पर दृश्यता में परिवर्तन
- Unity कैनवास के बाहर कांटेक्स्ट मेनू का प्रकटीकरण
// आवश्यक नहीं पृष्ठ स्क्रॉल को अक्षम करें।
window.addEventListener('wheel', (event) => event.preventDefault(), {
passive: false,
});
// आवश्यक नहीं कुंजी घटनाओं और स्पेसबार स्क्रॉल को अक्षम करें।
window.addEventListener('keydown', (event) => {
if (['ArrowUp', 'ArrowDown', ''].includes(event.key)) {
event.preventDefault();
}
});
// यह दृश्यता परिवर्तन को हैंडल करने का एक सुधार है
// वेबव्यू पर, यह Samsung ऐप के लिए रिपोर्ट की गई एक समस्या है।
document.addEventListener('visibilitychange', () => {
if (document.visibilityState) {
if (document.visibilityState === 'hidden') {
application.publishEvent('OnWebDocumentPause', 'True');
} else if (document.visibilityState === 'visible') {
application.publishEvent('OnWebDocumentPause', 'False');
}
}
});
// कैनवास के बाहर दाहिने क्लिक करने के बाद दिखाई देने वाले कांटेक्स्ट मेनू को अक्षम करें।
document.addEventListener('contextmenu', (event) => event.preventDefault());