इस पेज पर, Android ऐप्लिकेशन में App Check की सुविधा चालू करने का तरीका बताया गया है. इसके लिए, Play Integrity की सुविधा देने वाले बिल्ट-इन टूल का इस्तेमाल किया जाता है. जब आप App Check चालू करते हैं, तो आप यह पक्का करने में मदद करते हैं कि आपके प्रोजेक्ट के बैकएंड संसाधनों को सिर्फ़ आपका ऐप्लिकेशन ऐक्सेस कर सके. इस सुविधा की खास जानकारी देखें .
Play Integrity की सुविधा देने वाला टूल, Google Play पर पब्लिश किए गए Android ऐप्लिकेशन, Google Play के बाहर पब्लिश किए गए Android ऐप्लिकेशन या दोनों तरह के ऐप्लिकेशन के साथ काम करता है. अगर आपके इस्तेमाल के मामले में, Play Integrity की उन सुविधाओं की ज़रूरत है जिन्हें App Checkकी सुविधा से लागू नहीं किया जा सकता या अगर आपको App Check की सुविधा को अपने कस्टम प्रोवाइडर के साथ इस्तेमाल करना है, तो कस्टम App Check प्रोवाइडर लागू करना लेख पढ़ें.
1. अपना Firebase प्रोजेक्ट सेट अप करना
अगर आपने पहले से ऐसा नहीं किया है, तो अपने Android प्रोजेक्ट में Firebase जोड़ें.
Play Integrity API की सुविधा चालू करें:
रिलीज़ करें सेक्शन में, ऐप्लिकेशन की पूरी सुरक्षा देने की सुविधा पर क्लिक करें.
पेज के Play Integrity API सेक्शन पर जाएं. इसके बाद, Cloud प्रोजेक्ट लिंक करें पर क्लिक करें. अब Google Cloud प्रोजेक्ट की सूची में से अपना Firebase प्रोजेक्ट चुनें. यहां चुना गया प्रोजेक्ट, वही Firebase प्रोजेक्ट होना चाहिए जिसमें आपने अपना ऐप्लिकेशन रजिस्टर किया है (अगला चरण देखें).
Firebase console में, सुरक्षा > App Check पर जाएं.
ऐप्लिकेशन टैब में, अपने ऐप्लिकेशन रजिस्टर करें, ताकि वे App Check की सुविधा देने वाले टूल के साथ Play Integrity की सुविधा का इस्तेमाल कर सकें. इसके लिए, आपको अपने ऐप्लिकेशन के साइनिंग सर्टिफ़िकेट का 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.12.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.0.2") }
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 console के 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 की सुविधा का इस्तेमाल करना लेख पढ़ें.