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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

आपके ऐप्लिकेशन का डिस्ट्रिब्यूशन चैनल PLAY_RECOGNIZED लाइसेंस मिला है डिवाइस इंटिग्रिटी का कम से कम स्वीकार्य लेवल
सिर्फ़ Google Play पर उपलब्ध है ज़रूरी है ज़रूरी है डिवाइस इंटिग्रिटी लेवल की साफ़ तौर पर जांच न करें
सिर्फ़ Google Play के बाहर ज़रूरी नहीं है ज़रूरी नहीं है डिवाइस इंटिग्रिटी
Google Play पर और Google Play से बाहर ज़रूरी है ज़रूरी नहीं है डिवाइस इंटिग्रिटी लेवल की साफ़ तौर पर जांच न करें

विवरण

हर ऐडवांस सेटिंग, Play Integrity के फ़ैसले के लेबल से जुड़ी होती है. ज़्यादा जानकारी के लिए, Play Integrity API के दस्तावेज़ देखें.

  • डिफ़ॉल्ट रूप से, 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.2.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:19.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 का इस्तेमाल करना लेख पढ़ें.