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

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

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

  1. अगर आपने अब तक FlutterFire इंस्टॉल और शुरू नहीं किया है, तो ऐसा करें.

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

  3. ऐप्लिकेशन टैब में, App Check का इस्तेमाल करने के लिए, Play Integrity, DeviceCheck, और reCAPTCHA प्रोवाइडर के साथ अपने ऐप्लिकेशन रजिस्टर करें.

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

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

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

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

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

  1. प्लग-इन इंस्टॉल करने के लिए, अपने Flutter प्रोजेक्ट के रूट से यह कमांड चलाएं:

    flutter pub add firebase_app_check
    
  2. यह प्रोसेस पूरी होने के बाद, अपना Flutter ऐप्लिकेशन फिर से बनाएं:

    flutter run
    

3. App Check शुरू करना

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

import 'package:flutter/material.dart';
import 'package:firebase_core/firebase_core.dart';

// Import the firebase_app_check plugin
import 'package:firebase_app_check/firebase_app_check.dart';

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  await FirebaseAppCheck.instance.activate(
    // You can also use a `ReCaptchaEnterpriseProvider` provider instance as an
    // argument for `webProvider`
    webProvider: ReCaptchaV3Provider('recaptcha-v3-site-key'),
    // Default provider for Android is the Play Integrity provider. You can use the "AndroidProvider" enum to choose
    // your preferred provider. Choose from:
    // 1. Debug provider
    // 2. Safety Net provider
    // 3. Play Integrity provider
    androidProvider: AndroidProvider.debug,
    // Default provider for iOS/macOS is the Device Check provider. You can use the "AppleProvider" enum to choose
        // your preferred provider. Choose from:
        // 1. Debug provider
        // 2. Device Check provider
        // 3. App Attest provider
        // 4. App Attest provider with fallback to Device Check provider (App Attest provider is only available on iOS 14.0+, macOS 14.0+)
    appleProvider: AppleProvider.appAttest,
  );
  runApp(App());
}

अगले चरण

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

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

मेट्रिक मॉनिटर करना और लागू करने की सुविधा चालू करना

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

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

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

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

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

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

Flutter ऐप्लिकेशन में, डीबग प्रोवाइडर के साथ App Check का इस्तेमाल करना लेख पढ़ें.