بدء استخدام ميزة "التحقّق من التطبيقات" في تطبيقات Flutter

توضّح لك هذه الصفحة كيفية تفعيل ميزة "فحص التطبيقات" في تطبيق Flutter باستخدام موفّري الخدمة التلقائيين: Play Integrity على Android وDevice Check على منصات Apple وreCAPTCHA الإصدار 3 على الويب. عند تفعيل App Check، يمكنك المساعدة في ضمان عدم إمكانية وصول أي تطبيق آخر إلى موارد Firebase الخاصة بمشروعك. يمكنك الاطّلاع على نظرة عامة حول هذه الميزة.

1. إعداد مشروعك على Firebase

  1. ثبِّت FlutterFire وأعِد تهيئتها إذا لم يسبق لك إجراء ذلك.

  2. في وحدة تحكّم Firebase، انتقِل إلى الأمان > فحص التطبيقات.

  3. في علامة التبويب التطبيقات، سجِّل تطبيقاتك لاستخدام App Check مع مقدّمي خدمات Play Integrity وDeviceCheck وreCAPTCHA.

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

  4. اختياري: في إعدادات تسجيل التطبيق، اضبط مدة بقاء (TTL) مخصّصة لرموز App Check المميزة التي يصدرها مقدّم الخدمة. يمكنك ضبط قيمة TTL على أي قيمة تتراوح بين 30 دقيقة و7 أيام. عند تغيير هذه القيمة، يجب الانتباه إلى المفاضلات التالية:

    • الأمان: توفّر قيم TTL الأقصر مستوى أمان أعلى، لأنّها تقلّل من الفترة الزمنية التي يمكن للمهاجم إساءة استخدام الرمز المميز المسروق أو الذي تم اعتراضه خلالها.
    • الأداء: تشير مدة البقاء (TTL) الأقصر إلى أنّ تطبيقك سيجري عملية إثبات صحة البيانات بشكل متكرّر. بما أنّ عملية إثبات صحة التطبيق تضيف وقت استجابة إلى طلبات الشبكة في كل مرة يتم تنفيذها، يمكن أن تؤثّر مدة البقاء القصيرة في أداء تطبيقك.
    • الحصة والتكلفة: تؤدي قيم TTL الأقصر وعمليات إعادة التصديق المتكررة إلى استنفاد حصتك بشكل أسرع، وقد تؤدي إلى زيادة التكلفة بالنسبة إلى الخدمات المدفوعة. الحصص والحدود

    إنّ قيمة TTL التلقائية مناسبة لمعظم التطبيقات. يُرجى العِلم أنّ مكتبة App Check تعيد إنشاء الرموز المميّزة كل نصف مدة البقاء (TTL) تقريبًا.

2. إضافة مكتبة App Check إلى تطبيقك

  1. من جذر مشروع Flutter، نفِّذ الأمر التالي لتثبيت المكوّن الإضافي:

    flutter pub add firebase_app_check
    
  2. بعد الانتهاء، أعِد إنشاء تطبيق Flutter باتّباع الخطوات التالية:

    flutter run
    

3- إعداد App Check

أضِف رمز الإعداد التالي إلى تطبيقك ليتم تنفيذه قبل استخدام أي من خدمات Firebase، مثل Storage، ولكن بعد استدعاء Firebase.initializeApp():

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(
    // You can also use a `ReCaptchaEnterpriseProvider` provider instance as an
    // argument for `webProvider`
    webProvider: ReCaptchaV3Provider('recaptcha-v3-site-key'),
    // Default provider for Android is the Play Integrity provider. You can use the "AndroidProvider" enum to choose
    // your preferred provider. Choose from:
    // 1. Debug provider
    // 2. Safety Net provider
    // 3. Play Integrity provider
    androidProvider: AndroidProvider.debug,
    // Default provider for iOS/macOS is the Device Check provider. You can use the "AppleProvider" enum to choose
        // your preferred provider. Choose from:
        // 1. Debug provider
        // 2. Device Check provider
        // 3. App Attest provider
        // 4. App Attest provider with fallback to Device Check provider (App Attest provider is only available on iOS 14.0+, macOS 14.0+)
    appleProvider: AppleProvider.appAttest,
  );
  runApp(App());
}

الخطوات التالية

بعد تثبيت مكتبة App Check في تطبيقك، ابدأ في توزيع التطبيق المحدَّث على المستخدمين.

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

مراقبة المقاييس وتفعيل التنفيذ

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

للمساعدة في اتّخاذ هذا القرار، يمكنك الاطّلاع على مقاييس App Check للخدمات التي تستخدمها:

تفعيل فرض استخدام App Check

عندما تفهم كيف سيؤثّر App Check في المستخدمين وتصبح مستعدًا للمتابعة، يمكنك تفعيل فرض استخدام App Check باتّباع الخطوات التالية:

استخدام App Check في بيئات تصحيح الأخطاء

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

اطّلِع على استخدام App Check مع موفّر التصحيح في تطبيقات Flutter.