स्थानीय डिवाइसों पर परीक्षण
जब आप हमारे टेम्पलेट का उपयोग करते हैं, तो Needle Engine आपके लिए एक स्थानीय डेवलपमेंट सर्वर चलाता है। बस प्ले दबाएं, और आपके डिफ़ॉल्ट ब्राउज़र में एक वेबसाइट खुल जाएगी, जो आपके स्थानीय डिवाइस पर परीक्षण के लिए तैयार है। उसी नेटवर्क में अन्य डिवाइसों पर परीक्षण के लिए, आपको एक सेल्फ-साइन किए गए सर्टिफिकेट (नीचे देखें) स्थापित करना पड़ सकता है।
जब कस्टम सेटअप / फ्रेमवर्क का उपयोग कर रहे हों, तो सुरक्षित स्थानीय डेवलपमेंट सर्वर चलाने के तरीके के बारे में जानने के लिए कृपया अपने फ्रेमवर्क के दस्तावेज़ देखें।
Tips
हमारा स्थानीय सर्वर localhost:3000
के बजाय आपके स्थानीय नेटवर्क में IP एड्रेस (जैसे https://192.168.0.123:3000
) का उपयोग करता है। यह आपको मोबाइल डिवाइसों, VR ग्लासेस और उसी नेटवर्क में अन्य मशीनों से अपने प्रोजेक्ट को तेज़ी से देखने और परीक्षण करने की अनुमति देता है।
हम पुराने HTTP के बजाय HTTPS का उपयोग कर रहे हैं, क्योंकि आधुनिक शक्तिशाली वेब API जैसे WebXR के लिए सुरक्षित कनेक्शन की आवश्यकता होती है - S का अर्थ "सुरक्षित" है।
डेवलपमेंट के लिए सेल्फ-साइन किया गया सर्टिफिकेट सेट करना
अलग-अलग ऑपरेटिंग सिस्टम के लिए स्थानीय डेवलपमेंट के लिए अलग-अलग सुरक्षा आवश्यकताएं होती हैं। आमतौर पर, वेबसाइट प्रदर्शित करना ऑटो-जनरेटेड असुरक्षित सर्टिफिकेट के साथ भी काम करेगा, लेकिन ब्राउज़र विश्वास की कमी के बारे में चेतावनी दे सकते हैं और कुछ सुविधाएँ उपलब्ध नहीं होती हैं। यहाँ एक सारांश है:
Tips
एक सहज डेवलपमेंट अनुभव के लिए अपने डेवलपमेंट डिवाइसों पर विश्वसनीय सेल्फ-साइन किए गए सर्टिफिकेट स्थापित करने की सलाह दी जाती है। इस पृष्ठ के निचले भाग में चरण देखें।
डिफ़ॉल्ट – ऑटो-जनरेटेड असुरक्षित सर्टिफिकेट के साथब्राउज़र में प्रोजेक्ट खोलने पर एक सर्टिफिकेट चेतावनी प्रदर्शित करता है।vite-plugin-basic-ssl npm पैकेज का उपयोग करता है।
ब्राउज़र और स्थानीय डेवलपमेंट सर्वर के बीच संचार करने के लिए हम websocket कनेक्शन का उपयोग कर रहे हैं। Websockets को काम करने के लिए सुरक्षित कनेक्शन (HTTPS) की आवश्यकता होती है। प्लेटफ़ॉर्म के आधार पर, आपको स्थानीय डेवलपमेंट के लिए एक कस्टम सर्टिफिकेट सेट करने की आवश्यकता हो सकती है। Android और Windows को कस्टम सर्टिफिकेट की आवश्यकता नहीं होती है, लेकिन iOS और MacOS को होती है।
OS | ब्राउज़र में देखना (एक सुरक्षा चेतावनी के साथ) | स्वचालित रीलोड |
---|---|---|
Windows | (✓) | ✓ |
Linux | (✓) | ✓ |
Android | (✓) | ✓ |
macOS | (✓) | ❌ |
iOS | (✓ Safari और Chrome, पेज रीलोड के बाद) ❌ Mozilla XR Viewer | ❌ |
Xcode Simulators | (✓ पेज रीलोड के बाद) | ❌ |
सेल्फ-साइन किए गए, विश्वसनीय रूट सर्टिफिकेट के साथकोई सुरक्षा चेतावनी प्रदर्शित नहीं होती है। आपको अपने डिवाइस(ओं) पर जनरेट किया गया सर्टिफिकेट स्थापित करने की आवश्यकता है।vite-plugin-mkcert npm पैकेज का उपयोग करता है।
OS | ब्राउज़र में देखना | स्वचालित रीलोड |
---|---|---|
Windows | ✓ | ✓ |
Linux | ✓ | ✓ |
Android | ✓ | ✓ |
macOS | ✓ | ✓ |
iOS | ✓ | ✓ |
सेल्फ-साइन किया गया डेवलपमेंट सर्टिफिकेट जनरेट करना
Unity/Blender में, VS Code खोलने के लिए "Open Workspace" पर क्लिक करें
जाँच करें कि आप अपनी
vite.config.ts
फ़ाइल मेंvite-plugin-basic-ssl
के बजायvite-plugin-mkcert
का उपयोग कर रहे हैं (बाद वाला एक विश्वसनीय रूट सर्टिफिकेट जनरेट नहीं करता है, जिसकी हमें आवश्यकता है):package.json
खोलेंdevDependencies
से"@vitejs/plugin-basic-ssl"
वाली लाइन हटा दें- VS Code में एक Terminal खोलें और
npm install vite-plugin-mkcert --save-dev
चलाएं जो नवीनतम संस्करण जोड़ देगा vite.config.ts
खोलें औरimport basicSsl from '@vitejs/plugin-basic-ssl'
कोimport mkcert from'vite-plugin-mkcert'
से बदलेंplugins: [
में,basicSsl(),
कोmkcert(),
से बदलें- package.json अब ऐसा दिखता है:
VS Code के टर्मिनल से एक बार
npm run start
चलाएं- Windows पर, यह एक नई विंडो खोलेगा और सर्टिफिकेट बनाने और स्थापित करने की प्रक्रिया में आपका मार्गदर्शन करेगा
- MacOS पर, टर्मिनल आपके पासवर्ड के लिए प्रॉम्प्ट करेगा और फिर सर्टिफिकेट जनरेट और स्थापित करेगा।
- यदि आपको
Error: Port 3000 is already in use
त्रुटि मिल रही है, तो कृपया उस सर्वर को बंद कर दें जो Unity से अभी भी चल रहा हो।
जनरेट किया गया सर्टिफिकेट स्वचालित रूप से उस मशीन पर स्थापित हो जाएगा जिस पर आपने इसे जनरेट किया था।
आप टर्मिनल प्रक्रिया को फिर से रोक सकते हैं।
अब से, Unity/Blender में Play दबाने पर स्थानीय सर्वर के लिए जनरेट किया गया सर्टिफिकेट उपयोग होगा, और कोई "सुरक्षा चेतावनी" नहीं दिखाई जाएगी, क्योंकि आपका ब्राउज़र अब स्थानीय कनेक्शन पर भरोसा करता है।
अपने डेवलपमेंट डिवाइसों पर सर्टिफिकेट स्थापित करना
अपने डेवलपमेंट डिवाइसों पर, आपको जनरेट किए गए सर्टिफिकेट को स्थापित करना होगा और OS को उस पर भरोसा करने की अनुमति देनी होगी। यह प्रत्येक OS के लिए अलग है। उनमें से प्रत्येक के लिए, आपको जनरेट की गई rootCA.pem फ़ाइल की आवश्यकता होगी, और उसे उस डिवाइस पर भेजना होगा जिसे आप प्रमाणित करना चाहते हैं।
Windows पर: Users/<your-user>/.vite-plugin-mkcert/rootCA.pem
में सर्टिफिकेट खोजें MacOS पर: Users/<your-user>/.vite-plugin-mkcert/rootCA.pem
में सर्टिफिकेट खोजें
डिवाइस को स्वयं को भेजें (जैसे E-Mail, AirDrop, iCloud, USB, Slack, ...) ताकि आप अपने डेवलपमेंट डिवाइसों पर इसे एक्सेस कर सकें।
Android पर सर्टिफिकेट स्थापित करना
- फ़ाइल खोलें। आपको सर्टिफिकेट स्थापित करने के लिए प्रॉम्प्ट किया जाएगा।
iOS / iPadOS / VisionOS पर सर्टिफिकेट स्थापित करना
- फ़ाइल खोलें।
- आपको अपने डिवाइस में प्रोफ़ाइल जोड़ने के लिए प्रॉम्प्ट किया जाएगा। पुष्टि करें।
- Settings पर जाएं।
- एक नई एंट्री "Profile" होगी। उसे चुनें और इस डिवाइस के लिए प्रोफ़ाइल को सक्रिय होने की अनुमति दें।
- iOS / iPadOS पर, आपको "Root Certificate Trust" की भी अनुमति देनी होगी। इसके लिए,
Trust
खोजें याSettings > General > About > Info > Certificate Trust Settings
पर जाएं और रूट सर्टिफिकेट के लिए पूर्ण विश्वास सक्षम करें।
Tips
सर्टिफिकेट स्वचालित रूप से उस मशीन पर स्थापित हो जाता है जिस पर आपने इसे जनरेट किया था। स्थानीय नेटवर्क में अन्य मशीनों के लिए, विश्वसनीय कनेक्शन स्थापित करने के लिए नीचे दिए गए चरणों का पालन करें।
किसी अन्य MacOS मशीन पर सर्टिफिकेट स्थापित करना
- फ़ाइल खोलें। Keychain Access खुलेगा और आपको सर्टिफिकेट स्थापित करने की अनुमति देगा।
- आपको "Trust" को "Always allow" पर सेट करना पड़ सकता है।
किसी अन्य Windows मशीन पर सर्टिफिकेट स्थापित करना
- Windows key +
certmgr
टाइप करकेcertmgr
("Manage user certificates") खोलें। - बाईं साइडबार में, "Trusted Root Certification Authorities" चुनें।
- "Certificates" पर राइट-क्लिक करें और "All Tasks > Import" चुनें।
rootCA.pem
फ़ाइल चुनें (आपको फ़ाइल प्रकार को "all" में बदलना पड़ सकता है) और निर्देशों का पालन करें।
पेज स्वचालित रूप से AI का उपयोग करके अनुवादित