了解 2023 年 Google I/O 大会上介绍的 Firebase 亮点。了解详情

Android पर Play Integrity के साथ ऐप चेक का उपयोग करना प्रारंभ करें

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

वर्तमान में, अंतर्निहित प्ले इंटीग्रिटी प्रदाता केवल Google Play द्वारा वितरित एंड्रॉइड ऐप्स का समर्थन करता है। प्ले इंटीग्रिटी की ऑफ-प्ले सुविधाओं का उपयोग करने के लिए, या अपने स्वयं के कस्टम प्रदाता के साथ ऐप चेक का उपयोग करने के लिए, एक कस्टम ऐप चेक प्रदाता लागू करें देखें।

1. अपना फायरबेस प्रोजेक्ट सेट करें

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

  2. प्ले इंटीग्रिटी एपीआई सक्षम करें:

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

    2. रिलीज़ अनुभाग में, ऐप अखंडता पर क्लिक करें।

    3. पृष्ठ के प्ले इंटीग्रिटी एपीआई अनुभाग पर जाएं, लिंक क्लाउड प्रोजेक्ट पर क्लिक करें, फिर Google क्लाउड प्रोजेक्ट की सूची से अपना फायरबेस प्रोजेक्ट चुनें। आपके द्वारा यहां चुना गया प्रोजेक्ट वही फायरबेस प्रोजेक्ट होना चाहिए जिसमें आप अपना ऐप पंजीकृत करते हैं (अगला चरण देखें)।

  3. फायरबेस कंसोल के ऐप चेक अनुभाग में प्ले इंटीग्रिटी प्रदाता के साथ ऐप चेक का उपयोग करने के लिए अपने ऐप्स पंजीकृत करें। आपको अपने ऐप के हस्ताक्षर प्रमाणपत्र का SHA-256 फ़िंगरप्रिंट प्रदान करना होगा।

    आपको आमतौर पर अपने प्रोजेक्ट के सभी ऐप्स को पंजीकृत करने की आवश्यकता होती है, क्योंकि एक बार जब आप फायरबेस उत्पाद के लिए प्रवर्तन सक्षम कर लेते हैं, तो केवल पंजीकृत ऐप्स ही उत्पाद के बैकएंड संसाधनों तक पहुंच पाएंगे।

  4. वैकल्पिक : ऐप पंजीकरण सेटिंग्स में, प्रदाता द्वारा जारी किए गए ऐप चेक टोकन के लिए एक कस्टम टाइम-टू-लाइव (टीटीएल) सेट करें। आप टीटीएल को 30 मिनट से 7 दिनों के बीच किसी भी मान पर सेट कर सकते हैं। इस मान को बदलते समय, निम्नलिखित ट्रेडऑफ़ से सावधान रहें:

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

    अधिकांश ऐप्स के लिए 1 घंटे का डिफ़ॉल्ट टीटीएल उचित है। ध्यान दें कि ऐप चेक लाइब्रेरी लगभग आधी टीटीएल अवधि पर टोकन को ताज़ा करती है।

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

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

Kotlin+KTX

dependencies {
    // Import the BoM for the Firebase platform
    implementation(platform("com.google.firebase:firebase-bom:32.3.1"))

    // 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")
implementation("com.google.firebase:firebase-appcheck-ktx")
}

फायरबेस एंड्रॉइड बीओएम का उपयोग करके, आपका ऐप हमेशा फायरबेस एंड्रॉइड लाइब्रेरी के संगत संस्करणों का उपयोग करेगा।

(वैकल्पिक) BoM का उपयोग किए बिना फायरबेस लाइब्रेरी निर्भरताएँ जोड़ें

यदि आप फायरबेस बीओएम का उपयोग नहीं करना चुनते हैं, तो आपको प्रत्येक फायरबेस लाइब्रेरी संस्करण को उसकी निर्भरता पंक्ति में निर्दिष्ट करना होगा।

ध्यान दें कि यदि आप अपने ऐप में एकाधिक फायरबेस लाइब्रेरी का उपयोग करते हैं, तो हम लाइब्रेरी संस्करणों को प्रबंधित करने के लिए 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:17.0.1")
implementation("com.google.firebase:firebase-appcheck-ktx:17.0.1")
}

Java

dependencies {
    // Import the BoM for the Firebase platform
    implementation(platform("com.google.firebase:firebase-bom:32.3.1"))

    // 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")
}

फायरबेस एंड्रॉइड बीओएम का उपयोग करके, आपका ऐप हमेशा फायरबेस एंड्रॉइड लाइब्रेरी के संगत संस्करणों का उपयोग करेगा।

(वैकल्पिक) BoM का उपयोग किए बिना फायरबेस लाइब्रेरी निर्भरताएँ जोड़ें

यदि आप फायरबेस बीओएम का उपयोग नहीं करना चुनते हैं, तो आपको प्रत्येक फायरबेस लाइब्रेरी संस्करण को उसकी निर्भरता पंक्ति में निर्दिष्ट करना होगा।

ध्यान दें कि यदि आप अपने ऐप में एकाधिक फायरबेस लाइब्रेरी का उपयोग करते हैं, तो हम लाइब्रेरी संस्करणों को प्रबंधित करने के लिए 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:17.0.1")
}

3. ऐप चेक आरंभ करें

अपने ऐप में निम्नलिखित आरंभीकरण कोड जोड़ें ताकि यह आपके द्वारा किसी अन्य फायरबेस एसडीके का उपयोग करने से पहले चले:

Kotlin+KTX

Firebase.initialize(context = this)
Firebase.appCheck.installAppCheckProviderFactory(
    PlayIntegrityAppCheckProviderFactory.getInstance(),
)

Java

FirebaseApp.initializeApp(/*context=*/ this);
FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance();
firebaseAppCheck.installAppCheckProviderFactory(
        PlayIntegrityAppCheckProviderFactory.getInstance());

अगले कदम

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

अपडेट किया गया क्लाइंट ऐप फायरबेस को किए गए प्रत्येक अनुरोध के साथ ऐप चेक टोकन भेजना शुरू कर देगा, लेकिन जब तक आप फायरबेस कंसोल के ऐप चेक अनुभाग में प्रवर्तन सक्षम नहीं करते हैं, तब तक फायरबेस उत्पादों को टोकन वैध होने की आवश्यकता नहीं होगी।

मेट्रिक्स की निगरानी करें और प्रवर्तन सक्षम करें

हालाँकि, प्रवर्तन सक्षम करने से पहले, आपको यह सुनिश्चित करना चाहिए कि ऐसा करने से आपके मौजूदा वैध उपयोगकर्ता बाधित नहीं होंगे। दूसरी ओर, यदि आप अपने ऐप संसाधनों का संदिग्ध उपयोग देख रहे हैं, तो आप जल्द ही प्रवर्तन सक्षम करना चाहेंगे।

यह निर्णय लेने में सहायता के लिए, आप अपने द्वारा उपयोग की जाने वाली सेवाओं के लिए ऐप चेक मेट्रिक्स देख सकते हैं:

ऐप जांच प्रवर्तन सक्षम करें

जब आप समझ जाते हैं कि ऐप चेक आपके उपयोगकर्ताओं को कैसे प्रभावित करेगा और आप आगे बढ़ने के लिए तैयार हैं, तो आप ऐप चेक प्रवर्तन सक्षम कर सकते हैं:

डिबग परिवेश में ऐप चेक का उपयोग करें

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

एंड्रॉइड पर डिबग प्रदाता के साथ ऐप चेक का उपयोग करें देखें।