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

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

منصات Apple

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

  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 (الإصدار 11.0 أو إصدار أحدث):

    1. افتح المنتج > المخطّط > تعديل المخطّط.
    2. اختَر تشغيل من القائمة اليمنى، ثمّ اختَر علامة التبويب الوسيطات.
    3. في قسم المَعلمات التي تم تمريرها عند الإطلاق، أضِف -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، اختَر إدارة الرموز المميّزة لتصحيح الأخطاء من قائمةoverflow (العناصر الإضافية) في تطبيقك. بعد ذلك، سجِّل الرمز المميّز لتصحيح الأخطاء الذي سجّلت الدخول باستخدامه في الخطوة السابقة.

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

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

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

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