استخدام ميزة "التحقّق من التطبيقات" مع موفِّر تصحيح الأخطاء مع Flutter

بعد تسجيل تطبيقك في App Check، لن يتم تشغيله عادةً في محاكي أو من بيئة دمج متواصل (CI)، لأنّ هذه البيئات لا تُعد أجهزة صالحة. إذا كنت تريد تشغيل تطبيقك في مثل هذه البيئة أثناء عملية التطوير والاختبار، يمكنك إنشاء إصدار تصحيح أخطاء من تطبيقك يستخدم موفّر تصحيح الأخطاء في App Check بدلاً من موفّر إثبات صحة حقيقي.

منصات Apple

لاستخدام موفّر تصحيح الأخطاء أثناء تشغيل تطبيقك في محاكي بشكل تفاعلي (أثناء التطوير مثلاً)، اتّبِع الخطوات التالية:

  1. فعِّل App Check باستخدام موفّر التصحيح مباشرةً بعد إعداد تطبيقك على 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 (الإصدار 11.0 أو إصدار أحدث):

    1. افتح المنتج (Product) > المخطّط (Scheme) > تعديل المخطّط (Edit scheme).
    2. انقر على تشغيل (Run) من القائمة اليمنى، ثمّ انقر على علامة التبويب الوسيطات (Arguments).
    3. في قسم المَعلمات التي تم ضبطها عند الإطلاق (Arguments Passed on Launch)، أضِف -FIRDebugEnabled.
  3. افتح ios/Runner.xcworkspace باستخدام Xcode وشغِّل تطبيقك في المحاكي. سيطبع تطبيقك رمز تصحيح أخطاء محليًا في ناتج تصحيح الأخطاء عندما تحاول Firebase إرسال طلب إلى الخلفية. على سبيل المثال:

    Firebase App Check Debug Token:
    123a4567-b89c-12d3-e456-789012345678
  4. في قسم App Check ضمن وحدة تحكّم Firebase، اختَر إدارة رموز تصحيح الأخطاء من قائمة الخيارات الإضافية في تطبيقك. بعد ذلك، سجِّل الرمز المميّز لتصحيح الأخطاء الذي سجّلته في الخطوة السابقة.

    لقطة شاشة لعنصر القائمة &quot;إدارة رموز تصحيح الأخطاء&quot;

بعد تسجيل الرمز المميّز، ستقبله خدمات الخلفية في Firebase على أنّه صالح.

بما أنّ هذا الرمز المميّز يتيح الوصول إلى موارد Firebase بدون جهاز صالح، من الضروري الحفاظ على خصوصيته. لا ترسِل الرمز المميّز إلى مستودع عام، وإذا تم اختراق رمز مميّز مسجّل، عليك إبطاله على الفور في وحدة تحكّم Firebase.

Android

لاستخدام موفّر تصحيح الأخطاء أثناء تشغيل تطبيق Flutter في بيئة Android، نفِّذ الرمز التالي في تطبيق Flutter:

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. في قسم App Check ضمن وحدة تحكّم Firebase، اختَر إدارة رموز تصحيح الأخطاء من قائمة الخيارات الإضافية في تطبيقك. بعد ذلك، سجِّل الرمز المميّز لتصحيح الأخطاء الذي سجّلته في الخطوة السابقة.

    لقطة شاشة لعنصر القائمة &quot;إدارة رموز تصحيح الأخطاء&quot;

بعد تسجيل الرمز المميّز، ستقبله خدمات الخلفية في Firebase على أنّه صالح.

الويب

لاستخدام موفّر تصحيح الأخطاء أثناء تشغيل تطبيقك من 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.

    يتم تخزين هذا الرمز المميز محليًا في متصفحك وسيتم استخدامه كلما استخدمت تطبيقك في المتصفح نفسه على الجهاز نفسه. إذا أردت استخدام الرمز المميّز في متصفّح آخر أو على جهاز آخر، اضبط قيمة self.FIREBASE_APPCHECK_DEBUG_TOKEN على سلسلة الرمز المميّز بدلاً من true.

  3. في قسم App Check ضمن وحدة تحكّم Firebase، اختَر إدارة رموز تصحيح الأخطاء من قائمة الخيارات الإضافية في تطبيقك. بعد ذلك، سجِّل الرمز المميّز لتصحيح الأخطاء الذي سجّلته في الخطوة السابقة.

    لقطة شاشة لعنصر القائمة &quot;إدارة رموز تصحيح الأخطاء&quot;

بعد تسجيل الرمز المميّز، ستقبله خدمات الخلفية في Firebase على أنّه صالح.

بما أنّ هذا الرمز المميّز يتيح الوصول إلى موارد Firebase بدون جهاز صالح، من الضروري الحفاظ على خصوصيته. لا ترسِل الرمز المميّز إلى مستودع عام، وإذا تم اختراق رمز مميّز مسجّل، عليك إبطاله على الفور في وحدة تحكّم Firebase.