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

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

منصات 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. افتح المنتج (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. في وحدة تحكّم Firebase، انتقِل إلى الأمان (Security) > فحص التطبيقات (App Check).

  5. سجِّل رمز تصحيح الأخطاء الذي سجّلته للتو.

    1. في علامة التبويب التطبيقات (Apps) ، ابحث عن تطبيقك.
    2. من القائمة الكاملة في تطبيقك، انقر على إدارة رموز تصحيح الأخطاء (Manage debug tokens).
    3. اتّبِع التعليمات الظاهرة على الشاشة لتسجيل رمز تصحيح الأخطاء.

    لقطة شاشة لعنصر القائمة &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. في وحدة تحكّم Firebase، انتقِل إلى الأمان (Security) > فحص التطبيقات (App Check).

  2. سجِّل رمز تصحيح الأخطاء الذي سجّلته للتو.

    1. في علامة التبويب التطبيقات (Apps) ، ابحث عن تطبيقك.
    2. من القائمة الكاملة في تطبيقك، انقر على إدارة رموز تصحيح الأخطاء (Manage debug tokens).
    3. اتّبِع التعليمات الظاهرة على الشاشة لتسجيل رمز تصحيح الأخطاء.

    لقطة شاشة لعنصر القائمة &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. في وحدة تحكّم Firebase، انتقِل إلى الأمان (Security) > فحص التطبيقات (App Check).

  4. سجِّل رمز تصحيح الأخطاء الذي سجّلته للتو.

    1. في علامة التبويب التطبيقات (Apps) ، ابحث عن تطبيقك.
    2. من القائمة الكاملة في تطبيقك، انقر على إدارة رموز تصحيح الأخطاء (Manage debug tokens).
    3. اتّبِع التعليمات الظاهرة على الشاشة لتسجيل رمز تصحيح الأخطاء.

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

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

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