Android पर reCAPTCHA Enterprise के साथ App Check का इस्तेमाल शुरू करना

प्लैटफ़ॉर्म चुनें: iOS+ Android वेब Flutter


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

App Check के लिए, स्कोर पर आधारित reCAPTCHA कुंजियों का इस्तेमाल करना ज़रूरी है. इससे यह उपयोगकर्ताओं को नहीं दिखता. इसका मतलब है कि reCAPTCHA Enterprise provider को किसी भी समय उपयोगकर्ताओं से चुनौती हल कराने की ज़रूरत नहीं होगी.

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

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

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

  2. Google Cloud कंसोल में, धोखाधड़ी से बचाव पेज पर जाएं. इसके बाद, reCAPTCHA Enterprise सेवा देने वाली कंपनी के लिए यह तरीका अपनाएं:

    1. पक्का करें कि आपने सही प्रोजेक्ट चुना हो. इसके लिए, स्क्रीन पर सबसे ऊपर मौजूद प्रोजेक्ट पिकर देखें.

    2. अगर कहा जाए, तो reCAPTCHA Enterprise API चालू करें.

    3. Android टाइप का एक कुंजी बनाएं और अपने ऐप्लिकेशन का पैकेज नाम डालें. उदाहरण के लिए, com.example.my_app.

      • पक्का करें कि आपने वही पैकेज का नाम डाला हो जो आपने Firebase प्रोजेक्ट में Firebase Android ऐप्लिकेशन बनाते समय डाला था. पैकेज के नाम की वैल्यू केस-सेंसिटिव होती है.

      • App Check के लिए, हर पैकेज का नाम सिर्फ़ एक reCAPTCHA पासकोड से जुड़ा हो सकता है.

      ज़्यादा जानकारी के लिए, स्कोर के आधार पर reCAPTCHA कुंजियां बनाना लेख पढ़ें.

    4. इस कुंजी को नोट कर लें. आपको इसे Firebase कंसोल में रजिस्ट्रेशन फ़्लो में जोड़ना होगा.

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

  4. ऐप्लिकेशन टैब में जाकर, अपने Android ऐप्लिकेशन रजिस्टर करें, ताकि reCAPTCHA Enterprise की सेवा देने वाली कंपनी के साथ App Check का इस्तेमाल किया जा सके. आपको Google Cloud कंसोल में मिली कुंजी देनी होगी.

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

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

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

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

  6. ज़रूरी नहीं: ऐडवांस सेटिंग कॉन्फ़िगर करें.

  7. सेव करें पर क्लिक करें.

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

जब कोई उपयोगकर्ता आपका ऐप्लिकेशन खोलता है, तो reCAPTCHA Enterprise मुख्य पोज़ के हिसाब से उपयोगकर्ता के इंटरैक्शन के जोखिम का आकलन करता है. इसके बाद, 0.0 से 1.0 के बीच का स्कोर दिखाता है. यह स्कोर 0.1 के अंतर में होता है.

  • 0.0 स्कोर का मतलब है कि इंटरैक्शन से ज़्यादा जोखिम है और यह धोखाधड़ी वाला हो सकता है.
  • स्कोर 1.0 का मतलब है कि इंटरैक्शन से कम जोखिम है और यह बहुत हद तक सही है.

App Check की मदद से, ऐप्लिकेशन के जोखिम का थ्रेशोल्ड कॉन्फ़िगर किया जा सकता है. इससे, इस जोखिम के लिए अपनी सीमा तय की जा सकती है.

ज़्यादातर इस्तेमाल के मामलों के लिए, थ्रेशोल्ड की डिफ़ॉल्ट वैल्यू 0.5 इस्तेमाल करने का सुझाव दिया जाता है. अगर आपको इस्तेमाल के उदाहरण के हिसाब से इस वैल्यू में बदलाव करना है, तो Firebase Console में जाकर, अपने हर ऐप्लिकेशन के लिए इस वैल्यू को कॉन्फ़िगर किया जा सकता है. इसके लिए, सुरक्षा > App Check पर जाएं. नीचे दिए गए, ऐप्लिकेशन के जोखिम थ्रेशोल्ड को कॉन्फ़िगर करने से जुड़ी कुछ अहम बातों को बड़ा करके उनकी समीक्षा करना न भूलें.

2. अपने ऐप्लिकेशन में App Check SDK टूल जोड़ना

reCAPTCHA Enterprise प्रोवाइडर का इस्तेमाल करने के लिए, आपको इससे जुड़ी डिपेंडेंसी जोड़नी होगी.

<0<project>/<app-module>/build.gradle.kts<project>/<app-module>/build.gradleApp CheckreCAPTCHA हमारा सुझाव है कि लाइब्रेरी के वर्शन को कंट्रोल करने के लिए, Firebase Android BoM का इस्तेमाल करें.

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

    // Add the dependency for the App Check reCAPTCHA library
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-appcheck-recaptcha")
}

Firebase Android BoM का इस्तेमाल करने पर, आपका ऐप्लिकेशन हमेशा Firebase Android लाइब्रेरी के साथ काम करने वाले वर्शन का इस्तेमाल करेगा.

(वैकल्पिक)  BoM का इस्तेमाल किए बिना, Firebase लाइब्रेरी की डिपेंडेंसी जोड़ें

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

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

dependencies {
    // Add the dependency for the App Check reCAPTCHA library
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-appcheck-recaptcha:19.2.1")
}

3. App Check शुरू करें

अपने ऐप्लिकेशन में, Firebase की किसी भी अन्य सेवा का इस्तेमाल करने से पहले, आपको App Check को शुरू करना होगा.

Kotlin

Firebase.initialize(context = this)
Firebase.appCheck.installAppCheckProviderFactory(
    RecaptchaAppCheckProviderFactory.getInstance("SITE_KEY")
)

Java

FirebaseApp.initializeApp(/*context=*/ this);
FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance();
firebaseAppCheck.installAppCheckProviderFactory(
      RecaptchaAppCheckProviderFactory.getInstance("SITE_KEY"));

4. मेट्रिक मॉनिटर करना और उल्लंघन ठीक करने के तरीके लागू करना

अपने ऐप्लिकेशन में App Check सेट अप करने के बाद, अपडेट किए गए ऐप्लिकेशन को उपयोगकर्ताओं के लिए रिलीज़ करें.

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

मेट्रिक मॉनिटर करना

नीति उल्लंघन ठीक करने के लिए कार्रवाई लागू करने से पहले, पक्का करें कि ऐसा करने से, आपके मौजूदा असली उपयोगकर्ताओं को कोई परेशानी न हो. हालांकि, अगर आपको लगता है कि आपके ऐप्लिकेशन के संसाधनों का संदिग्ध तरीके से इस्तेमाल किया जा रहा है, तो आपको नीति उल्लंघन ठीक करने के लिए, जल्द कार्रवाई करने की सुविधा चालू करनी चाहिए.

यह फ़ैसला लेने के लिए, इस्तेमाल की जा रही सेवाओं के लिए App Check मेट्रिक देखी जा सकती हैं:

App Check लागू करने की सुविधा चालू करना

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

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

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

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

ज़्यादा जानकारी के लिए, Android पर डीबग प्रोवाइडर के साथ App Check का इस्तेमाल करना लेख पढ़ें.

कीमत

App Check आपकी ओर से एक आकलन बनाता है, ताकि उपयोगकर्ता के रिस्पॉन्स टोकन की पुष्टि की जा सके. ऐसा तब होता है, जब आपका ऐप्लिकेशन अपने App Check टोकन को रीफ़्रेश करता है. बिना किसी शुल्क के उपलब्ध कोटे से ज़्यादा आकलन बनाने पर, आपके Firebase प्रोजेक्ट से शुल्क लिया जाएगा. ज़्यादा जानकारी के लिए, reCAPTCHA की कीमत देखें.

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