यह पृष्ठ आपको अंतर्निहित सुरक्षानेट प्रदाता का उपयोग करके एंड्रॉइड ऐप में ऐप चेक को सक्षम करने का तरीका दिखाता है। जब आप ऐप चेक सक्षम करते हैं, तो आप यह सुनिश्चित करने में सहायता करते हैं कि केवल आपका ऐप ही आपके प्रोजेक्ट के फायरबेस संसाधनों तक पहुंच सकता है। इस सुविधा का अवलोकन देखें।
ऐप चेक जून 2023 तक मौजूदा सेफ्टीनेट परियोजनाओं का समर्थन करना जारी रखेगा, जिसके बाद सेफ्टीनेट कॉन्फ़िगरेशन जमे हुए और अपरिवर्तनीय होंगे। जून 2024 के बाद, सभी SafetyNet सुविधाओं को हमेशा के लिए बंद कर दिया जाएगा और हटा दिया जाएगा।
यदि आप अपने स्वयं के कस्टम प्रदाता के साथ ऐप चेक का उपयोग करना चाहते हैं, तो कस्टम ऐप चेक प्रदाता लागू करें देखें।
1. अपना फायरबेस प्रोजेक्ट सेट करें
अगर आपने पहले से ऐसा नहीं किया है तो अपने Android प्रोजेक्ट में Firebase जोड़ें ।
फायरबेस कंसोल के ऐप चेक सेक्शन में सेफ्टीनेट प्रदाता के साथ ऐप चेक का उपयोग करने के लिए अपने ऐप को पंजीकृत करें। आपको अपने ऐप के हस्ताक्षर प्रमाणपत्र का SHA-256 फ़िंगरप्रिंट प्रदान करना होगा।
आपको आमतौर पर अपने प्रोजेक्ट के सभी ऐप्स को पंजीकृत करने की आवश्यकता होती है, क्योंकि एक बार जब आप फायरबेस उत्पाद के लिए प्रवर्तन सक्षम कर लेते हैं, तो केवल पंजीकृत ऐप्स ही उत्पाद के बैकएंड संसाधनों तक पहुंच पाएंगे।
वैकल्पिक : ऐप पंजीकरण सेटिंग में, प्रदाता द्वारा जारी किए गए ऐप चेक टोकन के लिए कस्टम टाइम-टू-लाइव (TTL) सेट करें। आप TTL को 30 मिनट और 7 दिनों के बीच किसी भी मान पर सेट कर सकते हैं। इस मान को बदलते समय, निम्नलिखित ट्रेडऑफ़ से अवगत रहें:
- सुरक्षा: छोटे टीटीएल मजबूत सुरक्षा प्रदान करते हैं, क्योंकि यह उस विंडो को कम कर देता है जिसमें एक हमलावर द्वारा लीक या इंटरसेप्टेड टोकन का दुरुपयोग किया जा सकता है।
- प्रदर्शन: छोटे टीटीएल का मतलब है कि आपका ऐप अधिक बार सत्यापन करेगा। चूंकि ऐप सत्यापन प्रक्रिया हर बार निष्पादित होने पर नेटवर्क अनुरोधों में विलंबता जोड़ती है, एक छोटा टीटीएल आपके ऐप के प्रदर्शन को प्रभावित कर सकता है।
- कोटा और लागत: कम टीटीएल और बार-बार पुन: सत्यापन आपके कोटे को तेजी से कम करता है, और सशुल्क सेवाओं के लिए, संभावित रूप से अधिक लागत आती है। कोटा और सीमाएं देखें।
अधिकांश ऐप्स के लिए 1 घंटे का डिफ़ॉल्ट TTL उचित है। ध्यान दें कि ऐप चेक लाइब्रेरी टोकन को लगभग आधी टीटीएल अवधि में रीफ्रेश करती है।
2. ऐप चेक लाइब्रेरी को अपने ऐप में जोड़ें
अपने मॉड्यूल (ऐप-लेवल) ग्रैडल फ़ाइल (आमतौर पर app/build.gradle
) में, ऐप चेक एंड्रॉइड लाइब्रेरी के लिए निर्भरता की घोषणा करें:
Kotlin+KTX
dependencies {
implementation 'com.google.firebase:firebase-appcheck-safetynet:16.1.2'
}
Java
dependencies {
implementation 'com.google.firebase:firebase-appcheck-safetynet:16.1.2'
}
3. ऐप चेक को इनिशियलाइज़ करें
अपने ऐप में निम्नलिखित इनिशियलाइज़ेशन कोड जोड़ें ताकि यह आपके किसी अन्य फायरबेस एसडीके का उपयोग करने से पहले चले:
Kotlin+KTX
Firebase.initialize(context = this) val firebaseAppCheck = FirebaseAppCheck.getInstance() firebaseAppCheck.installAppCheckProviderFactory( PlayIntegrityAppCheckProviderFactory.getInstance(), )
Java
FirebaseApp.initializeApp(/*context=*/ this); FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance(); firebaseAppCheck.installAppCheckProviderFactory( PlayIntegrityAppCheckProviderFactory.getInstance());
अगले कदम
आपके ऐप में ऐप चेक लाइब्रेरी इंस्टॉल हो जाने के बाद, अपडेट किए गए ऐप को अपने उपयोगकर्ताओं को वितरित करना शुरू करें।
अपडेट किया गया क्लाइंट ऐप फायरबेस को किए जाने वाले हर अनुरोध के साथ ऐप चेक टोकन भेजना शुरू कर देगा, लेकिन फायरबेस कंसोल के ऐप चेक सेक्शन में प्रवर्तन को सक्षम करने तक फायरबेस उत्पादों को टोकन के वैध होने की आवश्यकता नहीं होगी।
मेट्रिक्स की निगरानी करें और प्रवर्तन सक्षम करें
हालांकि, प्रवर्तन सक्षम करने से पहले, आपको यह सुनिश्चित करना चाहिए कि ऐसा करने से आपके मौजूदा वैध उपयोगकर्ता बाधित नहीं होंगे. दूसरी ओर, यदि आप अपने ऐप्लिकेशन संसाधनों का संदिग्ध उपयोग देख रहे हैं, तो हो सकता है कि आप प्रवर्तन को जल्द से जल्द सक्षम करना चाहें.
यह निर्णय लेने में सहायता के लिए, आप अपने द्वारा उपयोग की जाने वाली सेवाओं के लिए ऐप चेक मेट्रिक्स देख सकते हैं:
- रीयलटाइम डेटाबेस, क्लाउड फायरस्टोर, क्लाउड स्टोरेज और ऑथेंटिकेशन (बीटा) के लिए मॉनिटर ऐप चेक रिक्वेस्ट मेट्रिक्स ।
- क्लाउड फ़ंक्शंस के लिए मॉनिटर ऐप चेक अनुरोध मेट्रिक्स ।
ऐप जांच प्रवर्तन सक्षम करें
जब आप समझते हैं कि ऐप चेक आपके उपयोगकर्ताओं को कैसे प्रभावित करेगा और आप आगे बढ़ने के लिए तैयार हैं, तो आप ऐप चेक प्रवर्तन सक्षम कर सकते हैं:
- रीयलटाइम डेटाबेस, क्लाउड फायरस्टोर, क्लाउड स्टोरेज और ऑथेंटिकेशन (बीटा) के लिए ऐप चेक एनफ़ोर्समेंट को सक्षम करें ।
- क्लाउड फ़ंक्शंस के लिए ऐप चेक प्रवर्तन सक्षम करें ।
डिबग वातावरण में ऐप चेक का उपयोग करें
यदि, ऐप चेक के लिए अपने ऐप को पंजीकृत करने के बाद, आप अपने ऐप को ऐसे वातावरण में चलाना चाहते हैं, जो ऐप चेक सामान्य रूप से वैध के रूप में वर्गीकृत नहीं होगा, जैसे कि विकास के दौरान एक एमुलेटर, या एक सतत एकीकरण (CI) वातावरण से, आप कर सकते हैं अपने ऐप का डिबग बिल्ड बनाएं जो वास्तविक सत्यापन प्रदाता के बजाय ऐप चेक डीबग प्रदाता का उपयोग करता है।
Android पर डिबग प्रदाता के साथ ऐप चेक का उपयोग देखें।