इस पेज पर, Android ऐप्लिकेशन में App Check की सुविधा चालू करने का तरीका बताया गया है. इसके लिए, Play Integrity की सुविधा देने वाले बिल्ट-इन टूल का इस्तेमाल किया जाता है. जब आप App Check चालू करते हैं, तो आप यह पक्का करने में मदद करते हैं कि आपके प्रोजेक्ट के बैकएंड संसाधनों को सिर्फ़ आपका ऐप्लिकेशन ऐक्सेस कर सके. इस सुविधा की खास जानकारी देखें .
Play Integrity की सुविधा देने वाला टूल, Google Play पर पब्लिश किए गए Android ऐप्लिकेशन, Google Play के बाहर पब्लिश किए गए Android ऐप्लिकेशन या दोनों के साथ काम करता है. अगर आपके इस्तेमाल के मामले में, Play Integrity की उन सुविधाओं की ज़रूरत है जिन्हें App Check की सुविधा से लागू नहीं किया जा सकता या अगर आपको App Check की सुविधा को अपने कस्टम टूल के साथ इस्तेमाल करना है, तो App Check की सुविधा देने वाला कस्टम टूल लागू करना लेख पढ़ें.App Check
1. अपना Firebase प्रोजेक्ट सेट अप करना
अगर आपने अब तक ऐसा नहीं किया है, तो अपने Android प्रोजेक्ट में Firebase जोड़ें.
Play Integrity API की सुविधा चालू करें:
Google Play Console में जाकर, अपना ऐप्लिकेशन चुनें. अगर आपने अब तक ऐसा नहीं किया है, तो इसे जोड़ें.
रिलीज़ करें सेक्शन में, ऐप्लिकेशन की पूरी सुरक्षा देने की सुविधा पर क्लिक करें.
पेज के Play Integrity API सेक्शन पर जाएं. इसके बाद, Cloud प्रोजेक्ट लिंक करें पर क्लिक करें. अब Google Cloud प्रोजेक्ट की सूची में से अपना Firebase प्रोजेक्ट चुनें. यहां चुना गया प्रोजेक्ट, वही Firebase प्रोजेक्ट होना चाहिए जिसमें आपने अपना ऐप्लिकेशन रजिस्टर किया है (अगला चरण देखें).
Firebase कंसोल में, सुरक्षा > App Check पर जाएं.
ऐप्लिकेशन टैब में, Play Integrity की सुविधा देने वाले टूल के साथ App Check की सुविधा का इस्तेमाल करने के लिए, अपने ऐप्लिकेशन रजिस्टर करें. इसके लिए, आपको अपने ऐप्लिकेशन के साइनिंग सर्टिफ़िकेट का SHA-256 फ़िंगरप्रिंट देना होगा.
आम तौर पर, आपको अपने प्रोजेक्ट के सभी ऐप्लिकेशन रजिस्टर करने होते हैं. ऐसा इसलिए, क्योंकि Firebase प्रॉडक्ट के लिए, लागू करने की सुविधा चालू करने के बाद, सिर्फ़ रजिस्टर किए गए ऐप्लिकेशन ही प्रॉडक्ट के बैकएंड संसाधनों को ऐक्सेस कर पाएंगे.
ज़रूरी नहीं: ऐप्लिकेशन रजिस्ट्रेशन सेटिंग में, सुविधा देने वाले टूल से जारी किए गए टोकन के लिए, कस्टम टाइम-टू-लाइव (टीटीएल) सेट करें.App Check टीटीएल की वैल्यू, 30 मिनट से लेकर सात दिनों के बीच सेट की जा सकती है. इस वैल्यू को बदलते समय, इन बातों का ध्यान रखें:
- सुरक्षा: कम टीटीएल से सुरक्षा बेहतर होती है. ऐसा इसलिए, क्योंकि इससे वह समय कम हो जाता है जिसमें लीक या इंटरसेप्ट किए गए टोकन का इस्तेमाल, हमलावर गलत तरीके से कर सकता है.
- परफ़ॉर्मेंस: कम टीटीएल का मतलब है कि आपका ऐप्लिकेशन, एटेस्टेशन की प्रोसेस को ज़्यादा बार करेगा. ऐप्लिकेशन एटेस्टेशन की प्रोसेस हर बार नेटवर्क अनुरोधों में देरी करती है. इसलिए, कम टीटीएल से आपके ऐप्लिकेशन की परफ़ॉर्मेंस पर असर पड़ सकता है.
- कोटा और लागत: कम टीटीएल और बार-बार एटेस्टेशन करने से, आपका कोटा तेज़ी से खत्म हो जाता है. साथ ही, पैसे चुकाकर ली जाने वाली सेवाओं के लिए, ज़्यादा लागत लग सकती है. कोटे और सीमाएं देखें.
ज़्यादातर ऐप्लिकेशन के लिए, एक घंटे का डिफ़ॉल्ट टीटीएल सही होता है. ध्यान दें कि App Check लाइब्रेरी, टीटीएल की अवधि के करीब आधे समय में टोकन रीफ़्रेश करती है.
बेहतर सेटिंग कॉन्फ़िगर करना (ज़रूरी नहीं)
App Check की सुविधा में कई सेटिंग उपलब्ध हैं. इनकी मदद से, बेहतर इस्तेमाल के मामले में मदद मिलती है, इनमें, Google Play के बाहर अपने ऐप्लिकेशन को डिस्ट्रिब्यूट करना भी शामिल है. रजिस्टर किए गए हर Android ऐप्लिकेशन के लिए, कंसोल के App Check > ऐप्लिकेशन टैब में जाकर, इन सेटिंग को कॉन्फ़िगर किया जा सकता है.Firebase हमारा सुझाव है कि अपने ऐप्लिकेशन को पहली बार रजिस्टर करते समय, इन सेटिंग को इस टेबल के मुताबिक कॉन्फ़िगर करें.
| आपके ऐप्लिकेशन का डिस्ट्रिब्यूशन चैनल | PLAY_RECOGNIZED | लाइसेंस मिला है | डिवाइस की पूरी सुरक्षा के लिए, स्वीकार किया जाने वाला कम से कम लेवल |
|---|---|---|---|
| सिर्फ़ Google Play पर | ज़रूरी है | ज़रूरी है | डिवाइस की पूरी सुरक्षा के लेवल की साफ़ तौर पर जांच न करें |
| सिर्फ़ Google Play के बाहर | ज़रूरी नहीं है | ज़रूरी नहीं है | डिवाइस इंटेग्रिटी |
| Google Play पर और Google Play के बाहर | ज़रूरी है | ज़रूरी नहीं है | डिवाइस की पूरी सुरक्षा के लेवल की साफ़ तौर पर जांच न करें |
विवरण
हर बेहतर सेटिंग, Play Integrity के फ़ैसले के लेबल से जुड़ी होती है. ज़्यादा जानकारी के लिए, Play Integrity का दस्तावेज़ देखें.
- डिफ़ॉल्ट रूप से, App Check के लिए
PLAY_RECOGNIZEDऐप्लिकेशन की पहचान का लेबल ज़रूरी होता है. Google Play पर पब्लिश नहीं किए गए ऐप्लिकेशन, यह लेबल पाने के लिए ज़रूरी शर्तें पूरी नहीं करते. - डिफ़ॉल्ट रूप से, App Check के लिए
LICENSEDऐप्लिकेशन के लाइसेंस का लेबल ज़रूरी नहीं होता. सिर्फ़ वे उपयोगकर्ता यह लेबल पा सकते हैं जिन्होंने Google Play से सीधे आपका ऐप्लिकेशन इंस्टॉल या अपडेट किया है. डिफ़ॉल्ट रूप से, App Check डिवाइस की पूरी सुरक्षा के फ़ैसले की साफ़ तौर पर जांच नहीं करती. App Check की सुविधा, डिवाइस की पूरी सुरक्षा के इन तीन लेवल की साफ़ तौर पर जांच करती है. इन्हें डिवाइस की पूरी सुरक्षा के बढ़ते क्रम में दिखाया गया है.
बुनियादी जांच. इससे App Check के लिए,
MEETS_BASIC_INTEGRITYडिवाइस की पहचान का लेबल ज़रूरी हो जाता है. आपका ऐप्लिकेशन, यह ज़रूरी नहीं वाला लेबल पा सके, इसके लिए आपको सबसे पहले Google Play Console से ऑप्ट-इन करना होगा.डिवाइस इंटेग्रिटी. इससे App Check के लिए,
MEETS_DEVICE_INTEGRITYडिवाइस की पहचान का लेबल ज़रूरी हो जाता है. सभी ऐप्लिकेशन, यह लेबल पाने के लिए ज़रूरी शर्तें अपने-आप पूरी करते हैं.बेहतर सुरक्षा. इससे App Check की सुविधा के लिए,
MEETS_STRONG_INTEGRITYडिवाइस की पहचान का लेबल ज़रूरी हो जाता है. आपका ऐप्लिकेशन, यह ज़रूरी नहीं वाला लेबल पा सके, इसके लिए आपको सबसे पहले Google Play Console से ऑप्ट-इन करना होगा.
2. अपने ऐप्लिकेशन में App Check लाइब्रेरी जोड़ना
अपने मॉड्यूल (ऐप्लिकेशन-लेवल) की Gradle फ़ाइल में, आम तौर पर<project>/<app-module>/build.gradle.kts या
<project>/<app-module>/build.gradle),
Android के लिए App Check लाइब्रेरी की डिपेंडेंसी जोड़ें. हमारा सुझाव है कि लाइब्रेरी के वर्शन को कंट्रोल करने के लिए,
Firebase Android BoM
का इस्तेमाल करें.
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:34.15.0")) // Add the dependencies for the App Check libraries // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-appcheck-playintegrity") }
Firebase Android BoM का इस्तेमाल करने पर, आपका ऐप्लिकेशन हमेशा Firebase Android लाइब्रेरी के ऐसे वर्शन का इस्तेमाल करेगा जो एक-दूसरे के साथ काम करते हैं.
(दूसरा तरीका) BoM का इस्तेमाल किए बिना Firebase लाइब्रेरी की डिपेंडेंसी जोड़नाBoM
अगर Firebase BoM का इस्तेमाल नहीं करना है, तो आपको हर Firebase लाइब्रेरी का वर्शन उसकी डिपेंडेंसी लाइन में बताना होगा.
ध्यान दें कि अगर आपके ऐप्लिकेशन में Firebase की एक से ज़्यादा लाइब्रेरी इस्तेमाल की जाती हैं, तो हमारा सुझाव है कि लाइब्रेरी के वर्3}शन मैनेज करने के लिए, BoM का इस्तेमाल करें. इससे यह पक्का होता है कि सभी वर्शन एक-दूसरे के साथ काम करते हैं.
dependencies { // Add the dependencies for the App Check libraries // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-appcheck-playintegrity:19.2.0") }
3. App Check को शुरू करना
अपने ऐप्लिकेशन में, शुरू करने के लिए यह कोड जोड़ें, ताकि यह Firebase के अन्य SDK टूल इस्तेमाल करने से पहले चले:
Kotlin
Firebase.initialize(context = this) Firebase.appCheck.installAppCheckProviderFactory( PlayIntegrityAppCheckProviderFactory.getInstance(), )
Java
FirebaseApp.initializeApp(/*context=*/ this); FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance(); firebaseAppCheck.installAppCheckProviderFactory( PlayIntegrityAppCheckProviderFactory.getInstance());
अगले चरण
अपने ऐप्लिकेशन में App Check की लाइब्रेरी इंस्टॉल करने के बाद, अपडेट किए गए ऐप्लिकेशन को अपने उपयोगकर्ताओं के लिए डिस्ट्रिब्यूट करना शुरू करें.
अपडेट किया गया क्लाइंट ऐप्लिकेशन, Firebase को किए जाने वाले हर अनुरोध के साथ, App Check टोकन भेजना शुरू कर देगा. हालांकि, Firebase प्रॉडक्ट के लिए टोकन का मान्य होना ज़रूरी नहीं होगा. ऐसा तब तक होगा, जब तक आप Firebase कंसोल के App Check सेक्शन में, लागू करने की सुविधा चालू नहीं कर देते.
मेट्रिक मॉनिटर करना और लागू करने की सुविधा चालू करना
हालांकि, लागू करने की सुविधा चालू करने से पहले, यह पक्का कर लें कि ऐसा करने से, आपके मौजूदा असली उपयोगकर्ताओं पर कोई असर न पड़े. दूसरी ओर, अगर आपको अपने ऐप्लिकेशन के संसाधनों का संदिग्ध इस्तेमाल दिख रहा है, तो लागू करने की सुविधा को जल्द चालू किया जा सकता है.
यह फ़ैसला लेने के लिए, उन App Check मेट्रिक के लिए सेवाएं देखी जा सकती हैं जिनका इस्तेमाल किया जाता है:
- के लिए, App Check अनुरोध की मेट्रिक मॉनिटर करें Firebase AI Logic, SQL Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, iOS के लिए Google Identity, Maps JavaScript API, और Places API (नया).
- के लिए, App Check के अनुरोध की मेट्रिक मॉनिटर करें Cloud Functions.
App Check सुविधा को लागू करना
जब आपको यह पता चल जाए कि App Check की सुविधा से आपके उपयोगकर्ताओं पर क्या असर पड़ेगा और आप आगे बढ़ने के लिए तैयार हों, तब App Check की सुविधा को लागू किया जा सकता है:
- Firebase AI Logic, SQL Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, iOS के लिए Google Identity, Maps JavaScript API, और Places API (नया) के लिए, App Check App Check की सुविधा को लागू करें Firebase AI Logic, SQL Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication.
- के लिए, App Check की सुविधा को लागू करें Cloud Functions.
डीबग एनवायरमेंट में App Check की सुविधा का इस्तेमाल करना
अगर App Check के लिए अपने ऐप्लिकेशन को रजिस्टर करने के बाद, आपको अपने ऐप्लिकेशन को ऐसे एनवायरमेंट में चलाना है जिसे App Check आम तौर पर मान्य नहीं मानता, तो अपने ऐप्लिकेशन का डीबग बिल्ड बनाया जा सकता है. जैसे, डेवलपमेंट के दौरान एम्युलेटर या कंटीन्यूअस इंटिग्रेशन (सीआई) एनवायरमेंट. यह बिल्ड, असली एटेस्टेशन की सुविधा देने वाले टूल के बजाय, App Check की सुविधा देने वाले डीबग टूल का इस्तेमाल करता है.
Android पर, डीबग की सुविधा देने वाले टूल के साथ App Check की सुविधा का इस्तेमाल करना लेख पढ़ें.