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

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

एप्पल प्लेटफार्म

अपने ऐप को सिम्युलेटर में इंटरैक्टिव रूप से चलाने के दौरान (उदाहरण के लिए, विकास के दौरान) डिबग प्रदाता का उपयोग करने के लिए, निम्न कार्य करें:

  1. अपना फायरबेस ऐप आरंभ करने के तुरंत बाद डिबग प्रदाता के साथ ऐप चेक सक्रिय करें:

    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(
        // Set appleProvider to `AppleProvider.debug`
        appleProvider: AppleProvider.debug,
      );
      runApp(App());
    }
    
  2. अपने Xcode प्रोजेक्ट में डिबग लॉगिंग सक्षम करें (v11.0 या नया):

    1. उत्पाद > योजना > योजना संपादित करें खोलें।
    2. बाएं मेनू से रन चुनें, फिर तर्क टैब चुनें।
    3. लॉन्च अनुभाग पर पारित तर्क में, -FIRDebugEnabled जोड़ें।
  3. Xcode के साथ ios/Runner.xcworkspace खोलें और सिम्युलेटर में अपना ऐप चलाएं। जब फायरबेस बैकएंड पर अनुरोध भेजने का प्रयास करेगा तो आपका ऐप डिबग आउटपुट पर एक स्थानीय डिबग टोकन प्रिंट करेगा। उदाहरण के लिए:

    Firebase App Check Debug Token:
    123a4567-b89c-12d3-e456-789012345678
  4. फायरबेस कंसोल के ऐप चेक अनुभाग में, अपने ऐप के ओवरफ़्लो मेनू से डिबग टोकन प्रबंधित करें चुनें। फिर, पिछले चरण में आपके द्वारा लॉग किए गए डिबग टोकन को पंजीकृत करें।

    डिबग टोकन प्रबंधित करें मेनू आइटम का स्क्रीनशॉट

आपके द्वारा टोकन पंजीकृत करने के बाद, फायरबेस बैकएंड सेवाएं इसे वैध मान लेंगी।

क्योंकि यह टोकन किसी वैध डिवाइस के बिना आपके फायरबेस संसाधनों तक पहुंच की अनुमति देता है, इसलिए यह महत्वपूर्ण है कि आप इसे निजी रखें। इसे किसी सार्वजनिक रिपॉजिटरी के लिए प्रतिबद्ध न करें, और यदि किसी पंजीकृत टोकन के साथ कभी छेड़छाड़ की जाती है, तो इसे तुरंत फायरबेस कंसोल में रद्द कर दें।

एंड्रॉयड

एंड्रॉइड वातावरण में अपना फ़्लटर ऐप चलाते समय डिबग प्रदाता का उपयोग करने के लिए, अपने फ़्लटर एप्लिकेशन में निम्नलिखित कोड लागू करें:

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(
    webRecaptchaSiteKey: 'recaptcha-v3-site-key',
    // Set androidProvider to `AndroidProvider.debug`
    androidProvider: AndroidProvider.debug,
  );
  runApp(App());
}

जब फायरबेस बैकएंड पर अनुरोध भेजने का प्रयास करेगा तो आपका ऐप डिबग आउटपुट पर एक स्थानीय डिबग टोकन प्रिंट करेगा। उदाहरण के लिए:

D DebugAppCheckProvider: Enter this debug secret into the allow list in
the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678
  1. फायरबेस कंसोल के ऐप चेक अनुभाग में, अपने ऐप के ओवरफ्लो मेनू से डिबग टोकन प्रबंधित करें चुनें। फिर, पिछले चरण में आपके द्वारा लॉग किए गए डिबग टोकन को पंजीकृत करें।

    डिबग टोकन प्रबंधित करें मेनू आइटम का स्क्रीनशॉट

आपके द्वारा टोकन पंजीकृत करने के बाद, फायरबेस बैकएंड सेवाएं इसे वैध मान लेंगी।

वेब

localhost से अपना ऐप चलाते समय (उदाहरण के लिए, विकास के दौरान) डिबग प्रदाता का उपयोग करने के लिए, निम्न कार्य करें:

  1. फ़ाइल web/index.html में self.FIREBASE_APPCHECK_DEBUG_TOKEN को true पर सेट करके डिबग मोड सक्षम करें:

    <body>
      <script>
        self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
      </script>
    
      ...
    
    </body>
    
  2. अपना वेब ऐप स्थानीय रूप से चलाएं और ब्राउज़र का डेवलपर टूल खोलें। डिबग कंसोल में, आपको एक डिबग टोकन दिखाई देगा:

    AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678". You will
    need to safelist it in the Firebase console for it to work.

    यह टोकन आपके ब्राउज़र में स्थानीय रूप से संग्रहीत है और जब भी आप उसी मशीन पर उसी ब्राउज़र में अपने ऐप का उपयोग करेंगे तो इसका उपयोग किया जाएगा। यदि आप किसी अन्य ब्राउज़र या किसी अन्य मशीन पर टोकन का उपयोग करना चाहते हैं, तो true के बजाय self.FIREBASE_APPCHECK_DEBUG_TOKEN को टोकन स्ट्रिंग पर सेट करें।

  3. फायरबेस कंसोल के ऐप चेक अनुभाग में, अपने ऐप के ओवरफ्लो मेनू से डिबग टोकन प्रबंधित करें चुनें। फिर, पिछले चरण में आपके द्वारा लॉग किए गए डिबग टोकन को पंजीकृत करें।

    डिबग टोकन प्रबंधित करें मेनू आइटम का स्क्रीनशॉट

आपके द्वारा टोकन पंजीकृत करने के बाद, फायरबेस बैकएंड सेवाएं इसे वैध मान लेंगी।

क्योंकि यह टोकन किसी वैध डिवाइस के बिना आपके फायरबेस संसाधनों तक पहुंच की अनुमति देता है, इसलिए यह महत्वपूर्ण है कि आप इसे निजी रखें। इसे किसी सार्वजनिक रिपॉजिटरी के लिए प्रतिबद्ध न करें, और यदि किसी पंजीकृत टोकन के साथ कभी छेड़छाड़ की जाती है, तो इसे तुरंत फायरबेस कंसोल में रद्द कर दें।