Android पर Play Integrity की मदद से ऐप्लिकेशन की जांच करने की सुविधा का इस्तेमाल शुरू करें

इस पेज पर, Android ऐप्लिकेशन में App Check को चालू करने का तरीका बताया गया है. इसके लिए, पहले से मौजूद Play Integrity API का इस्तेमाल किया जाता है. App Check को चालू करने पर, यह पक्का किया जा सकता है कि सिर्फ़ आपका ऐप्लिकेशन आपके प्रोजेक्ट के Firebase संसाधनों को ऐक्सेस कर सकता है. इस सुविधा की खास जानकारी देखें.

फ़िलहाल, डिवाइस में पहले से मौजूद Play Integrity API, सिर्फ़ उन Android ऐप्लिकेशन के साथ काम करता है जिन्हें Google Play से डिस्ट्रिब्यूट किया जाता है. Play Integrity की ऑफ़-Play सुविधाओं का इस्तेमाल करने या अपने पसंद के App Check प्रोवाइडर के साथ App Check का इस्तेमाल करने के लिए, पसंद के मुताबिक App Check प्रोवाइडर लागू करना लेख पढ़ें.

1. अपना Firebase प्रोजेक्ट सेट अप करना

  1. अगर आपने पहले से ही अपने Android प्रोजेक्ट में Firebase नहीं जोड़ा है, तो अब करें.

  2. Play Integrity API को चालू करने के लिए:

    1. Google Play Console में, अपने ऐप्लिकेशन को चुनें या अगर आपने पहले से ऐसा नहीं किया है, तो उसे जोड़ें.

    2. रिलीज़ सेक्शन में, ऐप्लिकेशन के लिए पूरी सुरक्षा देने की सुविधा पर क्लिक करें.

    3. पेज के Play Integrity API सेक्शन पर जाएं. इसके बाद, Cloud प्रोजेक्ट लिंक करें पर क्लिक करें. इसके बाद, Google Cloud प्रोजेक्ट की सूची से अपना Firebase प्रोजेक्ट चुनें. यहां चुना गया प्रोजेक्ट, वही Firebase प्रोजेक्ट होना चाहिए जिसमें आपने अपना ऐप्लिकेशन रजिस्टर किया है (अगला चरण देखें).

  3. Firebase console के App Check सेक्शन में जाकर, Play Integrity की सेवा देने वाली कंपनी के साथ App Check का इस्तेमाल करने के लिए, अपने ऐप्लिकेशन रजिस्टर करें. आपको अपने ऐप्लिकेशन के साइनिंग सर्टिफ़िकेट का SHA-256 फ़िंगरप्रिंट देना होगा.

    आम तौर पर, आपको अपने प्रोजेक्ट के सभी ऐप्लिकेशन रजिस्टर करने होंगे. ऐसा इसलिए, क्योंकि Firebase प्रॉडक्ट के लिए नीति उल्लंघन ठीक करने की सुविधा चालू करने के बाद, सिर्फ़ रजिस्टर किए गए ऐप्लिकेशन ही प्रॉडक्ट के बैकएंड संसाधनों को ऐक्सेस कर पाएंगे.

  4. ज़रूरी नहीं: ऐप्लिकेशन रजिस्टर करने की सेटिंग में, सेवा देने वाली कंपनी से मिले App Check टोकन के लिए, टाइम टू लिव (टीटीएल) को कस्टमाइज़ करें. टीटीएल को 30 मिनट से लेकर सात दिनों के बीच की किसी भी वैल्यू पर सेट किया जा सकता है. इस वैल्यू को बदलते समय, इन बातों का ध्यान रखें:

    • सुरक्षा: कम टीटीएल से ज़्यादा सुरक्षा मिलती है, क्योंकि इससे उस समयावधि में कमी आती है जिसमें हैकर, लीक या इंटरसेप्ट किए गए टोकन का गलत इस्तेमाल कर सकता है.
    • परफ़ॉर्मेंस: छोटे TTL का मतलब है कि आपका ऐप्लिकेशन ज़्यादा बार पुष्टि करने की प्रक्रिया करेगा. ऐप्लिकेशन की पुष्टि करने की प्रोसेस हर बार नेटवर्क अनुरोधों में इंतज़ार का समय जोड़ती है. इसलिए, कम टीटीएल से आपके ऐप्लिकेशन की परफ़ॉर्मेंस पर असर पड़ सकता है.
    • कोटा और लागत: छोटे टीटीएल और बार-बार फिर से पुष्टि करने पर आपका कोटा जल्दी खत्म हो जाता है. साथ ही, पैसे देकर ली जाने वाली सेवाओं के लिए कोटा खत्म हो सकता है. कोटा और सीमाएं देखें.

    ज़्यादातर ऐप्लिकेशन के लिए, डिफ़ॉल्ट तौर पर एक घंटे का TTL सही होता है. ध्यान दें कि App Check लाइब्रेरी, टोकन को टीटीएल की अवधि के करीब आधे समय पर रीफ़्रेश करती है.

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:33.6.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 लाइब्रेरी की डिपेंडेंसी जोड़ें

अगर Firebase BoM का इस्तेमाल नहीं किया जाता है, तो आपको हर Firebase लाइब्रेरी के वर्शन की जानकारी, उसकी डिपेंडेंसी लाइन में देनी होगी.

ध्यान दें कि अगर आपके ऐप्लिकेशन में एक से ज़्यादा Firebase लाइब्रेरी का इस्तेमाल किया जाता है, तो हमारा सुझाव है कि आप लाइब्रेरी के वर्शन मैनेज करने के लिए 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:18.0.0")
}
क्या आपको Kotlin से जुड़े लाइब्रेरी मॉड्यूल की तलाश है? अक्टूबर 2023 (Firebase BoM 32.5.0) से, Kotlin और Java, दोनों डेवलपर मुख्य लाइब्रेरी मॉड्यूल का इस्तेमाल कर सकते हैं. ज़्यादा जानकारी के लिए, इस पहल के बारे में अक्सर पूछे जाने वाले सवाल देखें.

3. App Check शुरू करना

अपने ऐप्लिकेशन में यह शुरू करने वाला कोड जोड़ें, ताकि यह आपके किसी भी दूसरे Firebase SDK टूल का इस्तेमाल करने से पहले चले:

Kotlin+KTX

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 एनफ़ोर्समेंट चालू करना

जब आपको यह समझ आ जाए कि App Check से आपके उपयोगकर्ताओं पर क्या असर पड़ेगा और आप आगे बढ़ने के लिए तैयार हों, तो App Check लागू करने की सुविधा चालू की जा सकती है:

डीबग एनवायरमेंट में App Check का इस्तेमाल करना

अगर App Check के लिए अपने ऐप्लिकेशन को रजिस्टर करने के बाद, आपको अपने ऐप्लिकेशन को ऐसे एनवायरमेंट में चलाना है जिसे App Check आम तौर पर मान्य नहीं मानता, जैसे कि डेवलपमेंट के दौरान किसी एमुलेटर या लगातार इंटिग्रेशन (सीआई) एनवायरमेंट से, तो अपने ऐप्लिकेशन का डीबग बिल्ड बनाया जा सकता है. यह बिल्ड, पुष्टि करने वाली असली कंपनी के बजाय App Check डीबग प्रोवाइडर का इस्तेमाल करता है.

Android पर डीबग प्रोवाइडर के साथ App Check का इस्तेमाल करना देखें.