Flutter সহ ডিবাগ প্রদানকারীর সাথে অ্যাপ চেক ব্যবহার করুন

অ্যাপ চেক-এর জন্য আপনার অ্যাপটি রেজিস্টার করার পর, সেটি সাধারণত কোনো এমুলেটর বা কন্টিনিউয়াস ইন্টিগ্রেশন (CI) এনভায়রনমেন্টে চলবে না, কারণ এই এনভায়রনমেন্টগুলো বৈধ ডিভাইস হিসেবে গণ্য হয় না। ডেভেলপমেন্ট এবং টেস্টিংয়ের সময় যদি আপনি এই ধরনের কোনো এনভায়রনমেন্টে আপনার অ্যাপটি চালাতে চান, তাহলে আপনি আসল অ্যাটেস্টেশন প্রোভাইডারের পরিবর্তে অ্যাপ চেক ডিবাগ প্রোভাইডার ব্যবহার করে আপনার অ্যাপের একটি ডিবাগ বিল্ড তৈরি করতে পারেন।

অ্যাপল প্ল্যাটফর্ম

সিমুলেটরে আপনার অ্যাপটি ইন্টারেক্টিভভাবে চালানোর সময় (উদাহরণস্বরূপ, ডেভেলপমেন্টের সময়) ডিবাগ প্রোভাইডার ব্যবহার করতে, নিম্নলিখিতগুলি করুন:

  1. আপনার Firebase অ্যাপটি চালু করার ঠিক পরেই ডিবাগ প্রোভাইডারের সাহায্যে অ্যাপ চেক সক্রিয় করুন:

    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. বাম দিকের মেনু থেকে রান (Run) নির্বাচন করুন, তারপর আর্গুমেন্টস (Arguments) ট্যাবটি নির্বাচন করুন।
    3. "Arguments Passed on Launch" বিভাগে, -FIRDebugEnabled " যোগ করুন।
  3. Xcode দিয়ে ios/Runner.xcworkspace খুলুন এবং সিমুলেটরে আপনার অ্যাপটি চালান। যখন Firebase ব্যাকএন্ডে কোনো অনুরোধ পাঠানোর চেষ্টা করবে, তখন আপনার অ্যাপটি ডিবাগ আউটপুটে একটি স্থানীয় ডিবাগ টোকেন প্রিন্ট করবে। উদাহরণস্বরূপ:

    Firebase App Check Debug Token:
    123a4567-b89c-12d3-e456-789012345678
  4. Firebase কনসোলে, Security > App Check- এ যান।

  5. আপনার এইমাত্র লগ করা ডিবাগ টোকেনটি নিবন্ধন করুন।

    1. অ্যাপস ট্যাবে আপনার অ্যাপটি খুঁজুন।
    2. আপনার অ্যাপের ওভারফ্লো মেনু থেকে, ‘ম্যানেজ ডিবাগ টোকেনস ’ নির্বাচন করুন।
    3. আপনার ডিবাগ টোকেন নিবন্ধন করতে স্ক্রিনে দেওয়া নির্দেশাবলী অনুসরণ করুন।

    ম্যানেজ ডিবাগ টোকেনস মেনু আইটেমের স্ক্রিনশট

টোকেনটি নিবন্ধন করার পর, ফায়ারবেস ব্যাকএন্ড পরিষেবাগুলো এটিকে বৈধ হিসেবে গ্রহণ করবে।

যেহেতু এই টোকেনটি একটি বৈধ ডিভাইস ছাড়াই আপনার ফায়ারবেস রিসোর্স অ্যাক্সেস করার সুযোগ দেয়, তাই এটিকে ব্যক্তিগত রাখা অত্যন্ত গুরুত্বপূর্ণ। এটিকে কোনো পাবলিক রিপোজিটরিতে কমিট করবেন না, এবং যদি কোনো নিবন্ধিত টোকেন কখনো অরক্ষিত হয়ে পড়ে, তাহলে ফায়ারবেস কনসোলে গিয়ে অবিলম্বে তা বাতিল করে দিন।

অ্যান্ড্রয়েড

অ্যান্ড্রয়েড পরিবেশে আপনার ফ্লাটার অ্যাপ চালানোর সময় ডিবাগ প্রোভাইডার ব্যবহার করতে, আপনার ফ্লাটার অ্যাপ্লিকেশনে নিম্নলিখিত কোডটি প্রয়োগ করুন:

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());
}

যখন Firebase ব্যাকএন্ডে কোনো অনুরোধ পাঠানোর চেষ্টা করবে, তখন আপনার অ্যাপটি ডিবাগ আউটপুটে একটি স্থানীয় ডিবাগ টোকেন প্রিন্ট করবে। উদাহরণস্বরূপ:

D DebugAppCheckProvider: Enter this debug secret into the allow list in
the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678
  1. Firebase কনসোলে, Security > App Check- এ যান।

  2. আপনার এইমাত্র লগ করা ডিবাগ টোকেনটি নিবন্ধন করুন।

    1. অ্যাপস ট্যাবে আপনার অ্যাপটি খুঁজুন।
    2. আপনার অ্যাপের ওভারফ্লো মেনু থেকে, ‘ম্যানেজ ডিবাগ টোকেনস ’ নির্বাচন করুন।
    3. আপনার ডিবাগ টোকেন নিবন্ধন করতে স্ক্রিনে দেওয়া নির্দেশাবলী অনুসরণ করুন।

    ম্যানেজ ডিবাগ টোকেনস মেনু আইটেমের স্ক্রিনশট

টোকেনটি নিবন্ধন করার পর, ফায়ারবেস ব্যাকএন্ড পরিষেবাগুলো এটিকে বৈধ হিসেবে গ্রহণ করবে।

ওয়েব

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. Firebase কনসোলে, Security > App Check- এ যান।

  4. আপনার এইমাত্র লগ করা ডিবাগ টোকেনটি নিবন্ধন করুন।

    1. অ্যাপস ট্যাবে আপনার অ্যাপটি খুঁজুন।
    2. আপনার অ্যাপের ওভারফ্লো মেনু থেকে, ‘ম্যানেজ ডিবাগ টোকেনস ’ নির্বাচন করুন।
    3. আপনার ডিবাগ টোকেন নিবন্ধন করতে স্ক্রিনে দেওয়া নির্দেশাবলী অনুসরণ করুন।

    ম্যানেজ ডিবাগ টোকেনস মেনু আইটেমের স্ক্রিনশট

টোকেনটি নিবন্ধন করার পর, ফায়ারবেস ব্যাকএন্ড পরিষেবাগুলো এটিকে বৈধ হিসেবে গ্রহণ করবে।

যেহেতু এই টোকেনটি একটি বৈধ ডিভাইস ছাড়াই আপনার ফায়ারবেস রিসোর্স অ্যাক্সেস করার সুযোগ দেয়, তাই এটিকে ব্যক্তিগত রাখা অত্যন্ত গুরুত্বপূর্ণ। এটিকে কোনো পাবলিক রিপোজিটরিতে কমিট করবেন না, এবং যদি কোনো নিবন্ধিত টোকেন কখনো অরক্ষিত হয়ে পড়ে, তাহলে ফায়ারবেস কনসোলে গিয়ে অবিলম্বে তা বাতিল করে দিন।