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

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

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

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

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

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

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

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

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

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

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

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

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

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

2. अपने ऐप्लिकेशन में ऐप्लिकेशन की जांच लाइब्रेरी जोड़ना

अपने मॉड्यूल (ऐप्लिकेशन-लेवल) की Gradle फ़ाइल (आम तौर पर <project>/<app-module>/build.gradle.kts या <project>/<app-module>/build.gradle), Android के लिए, 'ऐप्लिकेशन की जांच करें' लाइब्रेरी के लिए डिपेंडेंसी जोड़ें. लाइब्रेरी वर्शन को कंट्रोल करने के लिए, Firebase Android BoM का इस्तेमाल करने का सुझाव दिया जाता है.

dependencies {
    // Import the BoM for the Firebase platform
    implementation(platform("com.google.firebase:firebase-bom:33.1.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. ऐप्लिकेशन की जांच शुरू करें

अपने ऐप्लिकेशन में नीचे दिया गया शुरू करने वाला कोड जोड़ें, ताकि यह किसी दूसरे 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());

अगले चरण

आपके ऐप्लिकेशन में ऐप्लिकेशन की जांच वाली लाइब्रेरी इंस्टॉल हो जाने के बाद, अपडेट किया गया ऐप्लिकेशन अपने उपयोगकर्ताओं को उपलब्ध कराएं.

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

मेट्रिक की निगरानी करें और नीति उल्लंघन ठीक करने का तरीका (एनफ़ोर्समेंट) चालू करें

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

यह फ़ैसला लेने के लिए, आप जिन सेवाओं का इस्तेमाल करते हैं, उनके लिए ऐप्लिकेशन की जांच से जुड़ी मेट्रिक देख सकते हैं:

ऐप्लिकेशन की जांच लागू करने की सुविधा चालू करें

जब आपको यह पता चल जाए कि ऐप्लिकेशन की जांच करने की सुविधा का आपके उपयोगकर्ताओं पर क्या असर पड़ेगा, तो ऐप्लिकेशन की जांच करने की सुविधा को चालू किया जा सकता है. इसके लिए:

डीबग एनवायरमेंट में ऐप्लिकेशन की जांच की सुविधा का इस्तेमाल करना

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

Android पर डीबग की सेवा देने वाली कंपनी के साथ ऐप्लिकेशन की जांच करने की सुविधा का इस्तेमाल करना लेख पढ़ें.