---
title: सर्वोत्तम प्रथाएं
description: Unico के SDKs को सुरक्षित रूप से एकीकृत करने, अपडेट करने, परीक्षण करने और उत्पादन में लाने की दिशानिर्देश, जिसमें staging (UAT) सुरक्षा नियम शामिल हैं।
canonical: https://developer.unico.io/hi/developers/sdks-and-tools/best-practices-for-sdk-implementation
locale: hi
generated_by: markdown-export
---

- [/hi/](/hi/)
- [SDKs और टूल्स](/hi/developers/sdks-and-tools/overview)
- सर्वोत्तम प्रथाएं

**इस पेज पर# सर्वोत्तम प्रथाएं

यह पृष्ठ Unico के SDKs को एकीकृत करने और बनाए रखने के लिए सबसे महत्वपूर्ण दिशानिर्देशों को संकलित करता है। इन प्रथाओं का पालन करने से एकीकरण त्रुटियां कम होती हैं, सुरक्षा घटनाओं से बचाव होता है, और उत्पादन में सुचारू रूप से तैनाती सुनिश्चित होती है।
### शुरुआत करना​

संदर्भ ऐप से शुरू क  रें
Unico प्रत्येक SDK के लिए [reference-apps](https://github.com/unico-labs/reference-apps) रिपॉजिटरी में एक संदर्भ ऐप प्रदान करता है। प्रत्येक ऐप पूर्ण user journey को लागू करता है।
अपने SDKs को हमेशा अपडेट रखें
SDKs अधिक सुरक्षा और नई सुविधाएं प्रदान करने के लिए निरंतर विकसित होते हैं। अपडेट को तत्काल लागू करना — विशेष रूप से महत्वपूर्ण अपडेट — आवश्यक है। समयसीमा और दायित्वों के लिए [अपडेट नीति](/hi/developers/sdks-and-tools/update-policy) देखें।
उपलब्ध नवीनतम संस्करण की पहचान करें
प्रत्येक प्लेटफ़ॉर्म के लिए संबंधित रिलीज़ नोट्स के माध्यम से वर्तमान संस्करण जांचें:

[Android रिलीज़ नोट्स](/hi/developers/sdks-and-tools/android/resources/release-notes)
[iOS रिलीज़ नोट्स](/hi/developers/sdks-and-tools/ios/resources/release-notes)
[Flutter रिलीज़ नोट्स](/hi/developers/sdks-and-tools/flutter/resources/release-notes)
[Web — Journeys SDK रिलीज़ नोट्स](/hi/developers/sdks-and-tools/web/resources/release-notes)

### अपडेट रणनीति​

SDK और अन्य घटकों को एक साथ अपडेट करने से बचें
आपका एप्लिकेशन संभवतः Unico SDK के साथ कई लाइब्रेरीज़ लोड करता है। एक साथ कई निर्भरताओं को अपग्रेड करने से विफलताओं के मूल कारण की पहचान करना कठिन हो जाता है। SDK को अलग से अपडेट करें और इसे अन्य बदलावों के साथ मिलाने से पहले [staging वातावरण](#perform-tests-in-unicos-staging-environment) में इसे मान्य करें।
SDK अपडेट में सहायता प्राप्त करना
अपडेट समस्याओं के लिए सपोर्ट टिकट खोलते समय, शामिल करें:

SDK भाषा और कार्यान्वयन प्रकार (native या hybrid)
उपयोग किया गया फ्रेमवर्क
वर्तमान संस्कर ण और लक्ष्य संस्करण
API Key
परिवर्तनों का विवरण और पुनः उत्पन्न करने के चरण
परिणाम, त्रुटियां, लॉग्स, स्क्रीनशॉट, या वीडियो

### JWT सुरक्षा​

JWT ऑब्जेक्ट में हेरफेर न करें
एन्क्रिप्टेड JWT को न खोलें या संशोधित न करेंसफल कैप्चर के बाद लौटाया गया JWT **एन्क्रिप्टेड** है। इसे खोलें, पार्स करें, या सीरियलाइज़ न करें। इसकी आंतरिक संरचना बिना सूचना के बदल सकती है। इसका उपयोग केवल Unico के APIs को छवियां सबमिट करते समय करें।
छवि पूर्वावलोकन के लिए, JWT के साथ प्रदान की गई Base64 विशेषता का उपयोग करें — JWT को स्वयं कभी डिकोड न करें।
JWT को 10 मिनट के भीतर भेजें
चेतावनीसुरक्षा कारणों से, JWT को कैप्चर के **10 मिनट** के भीतर Unico के बैकएंड को भेजा जाना चाहिए। इस समय-सीमा के बाद सबमिट किए गए पैकेज अमान्य हो जाते हैं।
JWT को केवल एक बार भेजें
चेतावनीJWT को **केवल एक बार** सबमिट किया जाना चाहिए। यदि सबमिशन के दौरान कोई त्रुटि होती है, तो एक नई बायोमेट्रिक कैप्चर की आवश्यकता होगी — उसी JWT का पुन: उपयोग न करें।
### परीक्षण दिशानिर्देश​

वर्चुअलाइज़ेशन या एमुलेटर का उपयोग न करें
वर्चुअल मशीनों या एमुलेटर में SDK चलाने से सुरक्षा त्रुटि कोड (`73006`, `73600`, `73400`) उत्पन्न होते हैं। त्रुटियों की गलत पहचान और अनावश्यक पुनर्कार्य से बचने के लिए हमेशा **भौतिक उपकरणों** पर परीक्षण करें।
Web कैप्चर के दौरान DevTools को खुला न रखें
Web SDK खुले DevTools को संभावित धोखाधड़ी संकेत के रूप में पहचानता है और सबमिशन को अमान्य कर देता है। एंड-टू-एंड कैप्चर परीक्षण चलाने से पहले DevTools बंद करें।
### Unico के staging वातावरण में परीक्षण करें​

उत्पादन में जाने से पहल  े, यथार्थवादी परिदृश्यों के साथ Unico के staging वातावरण में संपूर्ण परीक्षण करें। Staging-विशिष्ट API Keys और कॉन्फ़िगरेशन का उपयोग करें — परीक्षणों में कभी भी उत्पादन क्रेडेंशियल का उपयोग न करें।
IDCloud का staging (UAT) वातावरण **उत्पादन के समान ही सुरक्षा मानदंड** लागू करता है। नीचे दी गई दिशानिर्देश बताती हैं कि ऐसा क्यों है और बिना रुकावट परीक्षण कैसे करें।
Staging में क्या बदला
**पहले — पहचानता था, लेकिन अस्वीकार नहीं करता था**
वास्तविक उपयोग के पैटर्न से बाहर की स्थितियां पहचानी जाती थीं, लेकिन कैप्चर को नहीं रोकती थीं।
**अब — पहचानता है और अस्वीकार करता है**
वही स्थितियां अब उत्पादन के समान कठोरता के साथ लाइवनेस अस्वीकृति उत्पन्न करती हैं।
यह प्रतिबंध क्यों है
**विश्वसनीयता — उत्पादन के साथ समानता**
जो staging में पास होता है, उसे उत्पादन में भी उसी तरह काम करना चाहिए — इससे परीक्षण में स्वीकृत इंटीग्रेशन के go-live के बाद अप्रत्याशित रूप से विफल होने से बचा जाता है।
आप क्या कर सकते हैं और क्या नहीं
वास्तविक उपयोग के करीब की स्थितियों में परीक्षण करने पर सुरक्षा परतें आपके विकास को प्रभावित नहीं करती हैं।
बाज़ार के मानक से भिन्न विकास टूल सुरक्षा सत्यापन सक्रिय करते हैं, और लेनदेन अवरुद्ध हो सकता है।
परिदृश्यस्थितिइंटीग्रेशन का पूरा प्रवाह — कैप्चर, भेजना, API प्रतिक्रिया और रिटर्न✅ अनुमतकार्यात्मक परिदृश्य: UI/UX, प्रदर्शन, व्यावसायिक त्रुटियां✅ अनुमतअंतिम उपयोगकर्ता के मानक कॉन्फ़िगरेशन वाला डिवाइस✅ अनुमतबैकएंड, APIs और डेटा प्रोसेसिंग के साथ इंटीग्रेशन✅ अनुमतroot/jailbreak किया हुआ डिवाइस❌ अनुमत नहींसक्रिय डीबग मोड / USB डीबगिंग❌ अनुमत नहींएमुलेटर या वर्चुअलाइज़ेशन❌ अनुमत नहींवर्चुअल कैमरे या कैप्चर ऑटोमेशन टूल❌ अनुमत नहींकनेक्शन बदलने वाले टूल❌ अनुमत नहींडिवाइस पर कॉर्पोरेट MDM या सक्रिय मॉनिटरिंग❌ अनुमत नहींकंटेनर या वर्चुअल मशीन में sandbox❌ अनुमत नहीं
इनमें से कोई भी स्थिति लाइवनेस अस्वीकृति उत्पन्न कर सकती है।
क्या आपका QA चक्र इनमें से किसी स्थिति पर निर्भर है?अपने वातावरण के कॉन्फ़िगरेशन पर मार्गदर्शन के लिए [सहायता टीम](https://business.unico.io/hc/) से बात करें। कोई अपवाद, एकबारगी छूट या अस्थायी ढील नहीं है — Unico जब तक आवश्यक समझती है, staging को उत्पादन के समान बन ाए रखती है।
### प्लेटफ़ॉर्म-विशिष्ट दिशानिर्देश​

Flutter: Unico के Flutter plugin का उपयोग करें
Flutter एप्लिकेशन के अंदर native Android या iOS SDKs को ब्रिज करने का प्रयास न करें। Native ब्रिज अक्सर अनमैप्ड त्रुटियां उत्पन्न करते हैं। हमेशा Unico के समर्पित Flutter plugin का उपयोग करें।
Web: संस्करण अपडेट करते समय पुरानी रिसोर्स फ़ाइलें हटाएं
Web SDK को अपग्रेड करते समय, नई फ़ाइलें डालने से पहले अपने `public` फ़ोल्डर से पुरानी रिसोर्स फ़ाइलें हटाएं। समान नाम वाली फ़ाइलें स्वचालित रूप से ओवरराइट नहीं होंगी और संस्करण विरोध उत्पन्न कर सकती हैं।
Mobile: नए संस्करण बनाने से पहले कैश साफ़ करें
पिछले SDK संस्करणों के बिल्ड आर्टिफैक्ट अपडेट के बाद निर्भरता त्रुटियां उत्पन्न कर सकते हैं। नया संस्करण बनाने से पहले:

**Flutter:** `pubspec.lock` हटाएं और `flutter pub get` चलाएं
**iOS:** `pod cache clean --all` और `pod install` चलाएं
**Android:** `./gradlew clean` चलाएं

ऑब्फ़स्केशन सेटिंग्स
Unico SDK कोड को अपने ऑब्फ़स्केशन कॉन्फ़िगरेशन से बाहर रखें। SDK को ऑब्फ़स्केट करने से अक्सर रिलीज़ बिल्ड में विफलताएं होती हैं जो डीबग बिल्ड में नहीं दिखती। आवश्यक keep नियमों के लिए प्लेटफ़ॉर्म-विशिष्ट दस्तावेज़ देखें।
### UX और परफ़ॉर्मेंस​

तैयारी और कैमरा खोलने के प्रवाह को दो चरणों में विभाजित करें
SDK प्रवाह को दो अलग-अलग चरणों में संरचित करें:

**तैयार करें** — SDK को तब इनिशियलाइज़ करें जब पृष्ठ लोड हो रहा हो (उपयोगकर्ता इंटरैक्शन से पहले)।
**खोलें** — कैमरा केवल तब लॉन्च करें जब उपयोगकर्ता स्पष्ट रूप से कार्रवाई शुरू करे।

SDK को पहले से तैयार करने से अनुभवित विलंबता कम होती है और उपयोगकर्ता अनुभव में महत्वपूर्ण सुधार होता है।
### उत्पादन में तैनाती​

उत्पादन तैनाती के लिए एक सुरक्षित चेकलिस्ट बनाएं
उत्पादन में तैनात करने से पहले, सत्यापित करें:

 उत्पादन API Keys और वातावरण कॉन्फ़िगरेशन सही हैं
 रोलबैक योजना परिभाषित और परीक्षित है
 लॉग संग्रह प्रोटोकॉल मौजूद है
 विफलताओं को संभालने के लिए सपोर्ट टिकट प्रक्रियाएं प्रलेखित हैं
 Staging वातावरण में सभी मान्यताएं पास हो गई हैं
अंतिम अपडेट 23 अक्टू॰ 2026** को