| اختيار المنصة: | iOS+ Android الويب Flutter |
توضّح لك هذه الصفحة كيفية إعداد App Check في تطبيق Flutter باستخدام مقدّم خدمة reCAPTCHA Enterprise. تساعد App Check في ضمان عدم تمكّن أي تطبيق آخر من الوصول إلى موارد الخلفية الخاصة بمشروعك. لمزيد من المعلومات، يُرجى الاطّلاع على نظرتنا العامة حول App Check.
يتطلّب App Check استخدام مفاتيح reCAPTCHA المستندة إلى النتائج، ما يجعلها غير مرئية للمستخدمين. يعني ذلك أنّ مقدّم خدمة reCAPTCHA Enterprise لن يطلب من المستخدمين حلّ اختبار في أي وقت.
إذا كانت حالة الاستخدام تتطلّب ميزات "reCAPTCHA Enterprise" غير مضمّنة في "App Check"، أو إذا أردت استخدام "App Check" مع مقدّم خدمة مخصّص، يُرجى الاطّلاع على تنفيذ مقدّم خدمة "App Check" مخصّص.
1. إعداد مشروع Firebase
ثبِّت Firebase وأعدَّه في مشروع Flutter، في حال لم يسبق لك إجراء ذلك.
في وحدة تحكّم Google Cloud، انتقِل إلى صفحة "الحماية من الاحتيال"، واتّبِع الخطوات التالية لمقدّم الخدمة reCAPTCHA Enterprise:
تأكَّد من أنّك في المشروع الصحيح (راجِع أداة اختيار المشاريع في أعلى الشاشة).
فعِّل واجهة برمجة التطبيقات reCAPTCHA Enterprise إذا طُلب منك ذلك.
أنشئ مفتاحًا استنادًا إلى المنصة المستهدَفة:
iOS+
أنشئ مفتاحًا من نوع iOS، وحدِّد معرّف حزمة تطبيقك (على سبيل المثال،
com.example.my_app).تأكَّد من إدخال معرّف الحزمة نفسه الذي قدّمته عند إنشاء تطبيق Firebase Apple في مشروعك على Firebase. قيمة معرّف الحزمة حسّاسة لحالة الأحرف.
بالنسبة إلى App Check، يمكن أن يتوافق كل معرّف حزمة مع مفتاح reCAPTCHA واحد فقط.
Android
أنشئ مفتاحًا من نوع Android، وحدِّد اسم حزمة تطبيقك (على سبيل المثال،
com.example.my_app).تأكَّد من إدخال اسم الحزمة نفسه الذي قدّمته عند إنشاء تطبيق Android على Firebase في مشروعك على Firebase. قيمة اسم الحزمة حسّاسة لحالة الأحرف.
بالنسبة إلى App Check، يمكن أن يتطابق كل اسم حزمة مع reCAPTCHA مفتاح واحد فقط.
الويب
أنشئ مفتاحًا من النوع ويب، وحدِّد كل نطاق من نطاقات تطبيقات الويب.
App Check لا يتيح استخدام تطبيقات الويب التي تعمل على أكثر من 250 نطاقًا.
لا تُضِف
localhostمطلقًا كنطاق إلى مفتاح reCAPTCHA تم نشره (أو سيتم نشره) في الإصدار العلني.اترك الخيار "استخدام تحدّي مربّع الاختيار" بدون تحديد.
للحصول على تعليمات مفصّلة، يُرجى الاطّلاع على مقالة إنشاء مفاتيح reCAPTCHA مستندة إلى النتائج.
دوِّن كل مفتاح. عليك إضافتها إلى عملية التسجيل في وحدة تحكّم "Firebase".
في Firebase، انتقِل إلى الأمان > فحص التطبيقات.
في علامة التبويب التطبيقات، سجِّل كل تطبيق من تطبيقات المنصة المستهدَفة لاستخدام App Check مع مقدّم خدمة reCAPTCHA Enterprise. عليك تقديم المفتاح الذي حصلت عليه في وحدة تحكّم Google Cloud.
اختياري: اضبط مدة بقاء الرمز المميّز (TTL).
في إعدادات تسجيل التطبيق، اضبط مدة بقاء (TTL) مخصّصة لرموز App Check المميزة الصادرة عن مقدّم الخدمة. يمكنك ضبط قيمة TTL على أي قيمة تتراوح بين 30 دقيقة و7 أيام. عند تغيير هذه القيمة، يجب الانتباه إلى المفاضلات التالية:
- الأمان: توفّر قيم TTL الأقصر أمانًا أقوى، لأنّها تقلّل من المدة التي يمكن فيها للمهاجم إساءة استخدام رمز مميّز تم تسريبه أو اعتراضه.
- الأداء: تعني قيم TTL الأقصر أنّ تطبيقك سيُجري عملية المصادقة بشكل متكرر أكثر. بما أنّ عملية إثبات سلامة التطبيق تضيف وقت استجابة إلى طلبات الشبكة في كل مرة يتم تنفيذها، يمكن أن يؤثّر وقت البقاء على قيد الحياة القصير في أداء تطبيقك.
- الحصة والتكلفة: تؤدي فترات TTL الأقصر وإعادة المصادقة المتكررة إلى استنفاد حصتك بشكل أسرع، وقد تزيد التكلفة في الخدمات المدفوعة. يُرجى الاطّلاع على الحصص والحدود.
إنّ مدة الصلاحية التلقائية التي تبلغ ساعة واحدة مناسبة لمعظم التطبيقات. يُرجى العِلم أنّ مكتبة App Check تعيد تحميل الرموز المميزة في نصف مدة البقاء تقريبًا.
اختياري: ضبط الإعدادات المتقدّمة
انقر على حفظ.
(اختياري) ضبط الإعدادات المتقدّمة
عندما يفتح المستخدم تطبيقك، تقيِّم reCAPTCHA Enterprise مستوى خطورة تفاعل المستخدم ضمن الوضعيات الرئيسية، وتعرض نتيجة تتراوح بين 0.0 و1.0، بزيادات قدرها 0.1.
- تشير النتيجة 0.0 إلى أنّ التفاعل يشكّل خطرًا كبيرًا وقد يكون احتياليًا.
- تشير النتيجة 1.0 إلى أنّ التفاعل يشكّل خطرًا منخفضًا ومن المرجّح جدًا أن يكون مشروعًا.
تتيح لك App Check ضبط حدّ مخاطر التطبيق لتتمكّن من تعديل درجة تحمّلك لهذه المخاطر.
بالنسبة إلى معظم حالات الاستخدام، ننصح باستخدام قيمة الحدّ التلقائية التي تبلغ 0.5. إذا كانت حالة الاستخدام تتطلّب تعديل هذه القيمة، يمكنك ضبطها لكل تطبيق من تطبيقاتك في وحدة تحكّم Firebase (انتقِل إلى الأمان > فحص التطبيقات). احرص على توسيع بعض الاعتبارات المهمة حول ضبط الحد الأدنى لمستوى خطورة التطبيق ومراجعتها أدناه.
2. إضافة المكوّن الإضافي "App Check" إلى تطبيقك
لاستخدام مقدّم الخدمة reCAPTCHA Enterprise، عليك إضافة المكوّن الإضافي App Check ذي الصلة.
من جذر مشروع Flutter، نفِّذ الأمر التالي لتثبيت المكوّن الإضافي:
flutter pub add firebase_app_checkبعد اكتمال عملية التثبيت، أعِد إنشاء مشروع Flutter:
flutter run
3- إعداد App Check
في تطبيقك، عليك إعداد App Check قبل استخدام أي خدمات أخرى من Firebase.
import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_app_check/firebase_app_check.dart';
import 'firebase_options.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform);
await FirebaseAppCheck.instance.activate(
providerWeb: ReCaptchaEnterpriseProvider(WEB_SITE_KEY),
providerAndroid: const AndroidReCaptchaProvider(ANDROID_SITE_KEY),
providerApple: const AppleReCaptchaProvider(IOS_SITE_KEY),
);
runApp(App());
}
4. مراقبة المقاييس وتفعيل إجراءات التنفيذ
بعد إعداد App Check في تطبيقك، ابدأ بتوزيع التطبيق المحدَّث على المستخدمين.
سيبدأ تطبيق العميل المحدَّث في إرسال رموز App Check المميّزة مع كل طلب يرسله إلى Firebase. ومع ذلك، لن يحظر App Check الطلبات التي تحتوي على رموز مميّزة غير صالحة إلى أن يتم فرض App Check.
مراقبة المقاييس
قبل تفعيل إجراءات التنفيذ، تأكَّد من أنّ ذلك لن يؤدي إلى تعطيل المستخدمين الشرعيين الحاليين. ومع ذلك، إذا لاحظت استخدامًا مريبًا لموارد تطبيقك، ننصحك بتفعيل هذا الخيار في أقرب وقت.
للمساعدة في اتخاذ هذا القرار، يمكنك مراجعة مقاييس App Check للخدمات التي تستخدمها:
- مراقبة مقاييس طلبات App Check لكل من Firebase AI Logic وSQL Connect وRealtime Database وCloud Firestore وCloud Storage وAuthentication وGoogle Identity for iOS وMaps JavaScript API وPlaces API (جديد)
- تتبُّع مقاييس طلبات App Check في Cloud Functions
تفعيل إجراءات التنفيذ في App Check
عندما تفهم كيف سيؤثر App Check في المستخدمين وتكون مستعدًا للمتابعة، يمكنك تفعيل إجراء تنفيذ App Check:
- تفعيل إجراء التنفيذ في App Check لكل من Firebase AI Logic وSQL Connect وRealtime Database وCloud Firestore وCloud Storage وAuthentication وGoogle Identity لأجهزة iOS وMaps JavaScript API وPlaces API (الإصدار الجديد).
- تفعيل إجراء التنفيذ "App Check" لـ "Cloud Functions"
استخدام App Check في بيئات تصحيح الأخطاء
يصنّف App Check بعض البيئات على أنّها غير صالحة، مثل الطلبات الواردة من محاكي أو مضيف محلي أثناء عملية التطوير أو من بيئة تكامل مستمر (CI).
لتشغيل تطبيقك في هذه الأنواع من البيئات بعد فرض استخدام App Check، عليك إنشاء إصدار مخصص لتصحيح الأخطاء من تطبيقك يستخدم App Check مقدّم خدمة تصحيح الأخطاء بدلاً من مقدّم خدمة المصادقة في الإصدار العلني.
لمزيد من التفاصيل، يُرجى الاطّلاع على مقالة استخدام App Check مع مقدّم خدمة تصحيح الأخطاء في تطبيقات Flutter.
الأسعار
تنشئ App Check تقييمًا نيابةً عنك للتحقّق من صحة الرمز المميز الخاص برد المستخدم في كل مرة يجدّد فيها تطبيقك الرمز المميز الخاص بـ App Check. سيتم تحصيل رسوم من مشروع Firebase الخاص بك مقابل كل تقييم يتم إنشاؤه بما يتجاوز الحصة المجانية. لمعرفة التفاصيل، يُرجى الاطّلاع على أسعار reCAPTCHA.
سيُعيد تطبيقك ضبط هذا الرمز المميّز تلقائيًا مرّتين كل ساعة واحدة. للتحكّم في معدّل إعادة تحميل تطبيقك لرموز App Check المميّزة (وبالتالي معدّل إنشاء تقييمات جديدة)، يمكنك ضبط مدة صلاحية الرمز المميّز.