फ़्लटर ऐप्स में ऐप चेक का उपयोग शुरू करें

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

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

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

  2. Firebase कंसोल के प्रोजेक्ट सेटिंग्स > ऐप चेक सेक्शन में Play Integrity, Device Check, और reCAPTCHA प्रदाताओं के साथ ऐप चेक का उपयोग करने के लिए अपने ऐप को पंजीकृत करें।

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

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

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

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

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

  1. अपने स्पंदन प्रोजेक्ट की जड़ से, प्लगइन स्थापित करने के लिए निम्नलिखित कमांड चलाएँ:

    flutter pub add firebase_app_check
    
  2. एक बार पूरा हो जाने पर, अपने स्पंदन एप्लिकेशन का पुनर्निर्माण करें:

    flutter run
    

3. ऐप चेक को इनिशियलाइज़ करें

अपने ऐप में निम्नलिखित इनिशियलाइज़ेशन कोड जोड़ें ताकि यह आपके द्वारा स्टोरेज जैसी किसी भी फायरबेस सेवाओं का उपयोग करने से पहले चले, लेकिन 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());
}

अगले कदम

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

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

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

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

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

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

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

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

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

फ़्लटर ऐप्स में डिबग प्रदाता के साथ ऐप चेक का उपयोग देखें।