استخدام ميزة "التحقّق من التطبيقات" مع موفِّر تصحيح الأخطاء مع 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. في قسم 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.