توضّح لك هذه الصفحة كيفية تفعيل ميزة "فحص التطبيقات" في تطبيق Flutter، وذلك باستخدام مزوّدي الخدمة التلقائيين: Play Integrity على Android وميزة "التحقّق من الجهاز" على أنظمة Apple الأساسية الإصدار 3 من reCAPTCHA على الويب عند تفعيل ميزة "فحص التطبيقات"، أنت تساعد في التأكّد من أنّ يمكن لتطبيقك فقط الوصول إلى موارد Firebase لمشروعك. يمكنك الاطّلاع على نظرة عامة حول هذه الميزة
1- إعداد مشروع Firebase
تثبيت FlutterFire وإعداده إذا لم يسبق لك إجراء ذلك قمت بذلك بالفعل.
سجِّل تطبيقاتك لاستخدام ميزة "التحقّق من التطبيقات" مع مقدّمي خدمات Play Integrity و"فحص الجهاز" و" reCAPTCHA" في إعدادات المشروع > فحص التطبيقات ضمن "وحدة تحكُّم Firebase".
تحتاج عادةً إلى تسجيل جميع تطبيقات مشروعك، لأنه بمجرد تفعيل إجراءات التنفيذ لمنتج في Firebase، ستتمكّن التطبيقات المسجَّلة فقط للوصول إلى موارد الواجهة الخلفية للمنتج.
اختياري: في إعدادات تسجيل التطبيق، حدِّد فترة زمنية مخصّصة للانتشار (TTL) لرموز "فحص التطبيق" الصادرة عن موفّر الخدمة. يمكنك ضبط مدة البقاء (TTL) إلى أي قيمة بين 30 دقيقة و7 أيام. عند تغيير هذه القيمة، على دراية بالمفاضلات التالية:
- الأمان: توفر فترات TTL الأقصر مستوى أمان أعلى، لأنه يقلل من يمكن فيها إساءة استخدام رمز مميز تم تسريبه أو اعتراضه من خلال مهاجم.
- الأداء: تعني فترات TTL الأقصر أنّ تطبيقك سيجري المصادقة بمعدّل أكبر وبشكل متكرر. لأنّ عملية المصادقة على التطبيق تضيف وقت استجابة إلى الشبكة في كل مرة يتم فيها تنفيذها، يمكن أن تؤثر مدة البقاء القصيرة في الأداء لتطبيقك.
- الحصة والتكلفة: فترات بقاء أقصر وعمليات إعادة المصادقة المتكررة تؤدي إلى استنفاد حصة أكبر، وقد تكون تكلفة الخدمات المدفوعة أعلى. راجِع الحصص .
مدة البقاء الافتراضية معقول بالنسبة لمعظم التطبيقات. يُرجى العلم بأنّه تتم إعادة تحميل مكتبة فحص التطبيقات. في نصف مدة TTL تقريبًا.
2- إضافة مكتبة فحص التطبيقات إلى تطبيقك
من جذر مشروع Flutter، شغِّل الأمر التالي لتثبيت المكوِّن الإضافي:
flutter pub add firebase_app_check
بعد إكمال الخطوات، أعِد إنشاء تطبيق Flutter:
flutter run
3- إعداد فحص التطبيقات
أضِف رمز الإعداد التالي إلى تطبيقك ليتم تشغيله قبل
تستخدم أيًّا من خدمات Firebase، مثل التخزين، ولكن بعد طلب
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());
}
الخطوات التالية
بعد تثبيت مكتبة "فحص التطبيقات" في تطبيقك، ابدأ في توزيع تحديث التطبيق للمستخدمين لديك.
سيبدأ تطبيق العميل المحدَّث في إرسال رموز "فحص التطبيق" إلى جانب كل تطلبه إلى Firebase، إلا أنّ منتجات Firebase لن تتطلب الرموز المميزة صالحًا إلى أن تفعّل التنفيذ في قسم "فحص التطبيقات" في "وحدة تحكُّم Firebase".
مراقبة المقاييس وتفعيل التنفيذ
ومع ذلك، قبل تفعيل التنفيذ، يجب التأكّد من أنّ ذلك لن يؤدي إلى تعطيل المستخدمين الشرعيين الحاليين من ناحية أخرى، إذا رأيت أي استخدام مريب لموارد تطبيقك، قد تحتاج إلى تفعيل إجراءات التنفيذ قريبًا.
للمساعدة في اتخاذ هذا القرار، يمكنك الاطّلاع على مقاييس "فحص التطبيق" الخدمات التي تستخدمها:
- مراقبة مقاييس طلب فحص التطبيق من أجل قاعدة بيانات الوقت الفعلي، وCloud Firestore، وCloud Storage، والمصادقة.
- مراقبة مقاييس طلب "فحص التطبيق" لوظائف السحابة الإلكترونية
تفعيل فرض فحص التطبيقات
عندما تفهم تأثير فحص التطبيقات على المستخدمين وكنت مستعدًا لذلك للمتابعة، يمكنك تفعيل تنفيذ ميزة "فحص التطبيقات":
- تفعيل فرض ميزة "فحص التطبيقات" في قاعدة بيانات الوقت الفعلي، وCloud Firestore، وCloud Storage، والمصادقة.
- تفعيل فرض "التحقّق من التطبيقات" لوظائف السحابة الإلكترونية
استخدام ميزة "فحص التطبيقات" في بيئات تصحيح الأخطاء
بعد تسجيل تطبيقك في ميزة "فحص التطبيقات"، إذا كنت تريد تشغيل تطبيق في بيئة لا تصنفها أداة "فحص التطبيقات" عادةً على أنها صالحة، مثل المحاكي أثناء التطوير، أو من عمليات التكامل المستمر (CI) يمكنك إنشاء إصدار لتصحيح أخطاء تطبيقك يستخدم موفِّر خدمة تصحيح أخطاء فحص التطبيقات بدلاً من موفِّر تصديق حقيقي
يُرجى الاطّلاع على مقالة استخدام ميزة "فحص التطبيقات" مع موفِّر تصحيح الأخطاء في تطبيقات Flutter.