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

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

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

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

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

  2. Play Integrity API को चालू करें:

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

    2. रिलीज़ करें सेक्शन में, ऐप इंटेग्रिटी पर क्लिक करें.

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

  3. Firebase कंसोल में, सुरक्षा > App Check पर जाएं.

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

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

  5. ज़रूरी नहीं: टोकन के लिए, टाइम टू लिव (टीटीएल) सेट करें.

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

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

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

बेहतर सेटिंग कॉन्फ़िगर करना (ज़रूरी नहीं)

App Check में कई सेटिंग मौजूद हैं, जो बेहतर इस्तेमाल के उदाहरणों में मदद करती हैं. इनमें Google Play के बाहर अपना ऐप्लिकेशन उपलब्ध कराना भी शामिल है. रजिस्टर किए गए हर Android ऐप्लिकेशन के लिए, इन सेटिंग को Firebase कंसोल के App Check > ऐप्लिकेशन टैब में जाकर कॉन्फ़िगर किया जा सकता है. हमारा सुझाव है कि पहली बार ऐप्लिकेशन रजिस्टर करते समय, इस टेबल के मुताबिक सेटिंग कॉन्फ़िगर करें.

आपके ऐप्लिकेशन का डिस्ट्रिब्यूशन चैनल 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:35.0.2"))

    // 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:20.0.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 नीति उल्लंघन ठीक करने का तरीका चालू करें

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

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

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

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