| اختيار المنصة: | iOS+ Android الويب Flutter |
توضّح لك هذه الصفحة كيفية إعداد App Check في تطبيق Android باستخدام مقدّم الخدمة reCAPTCHA Enterprise. تساعدك App Check في التأكّد من أنّ تطبيقك هو الوحيد الذي يمكنه الوصول إلى موارد الخلفية في مشروعك. لمزيد من المعلومات، يُرجى الاطّلاع على نظرة عامة على App Check.
يتطلّب App Check استخدام مفاتيح reCAPTCHA مستندة إلى النتائج، ما يجعلها غير مرئية للمستخدمين. يعني ذلك أنّ مقدّم خدمة reCAPTCHA Enterprise لن يطلب من المستخدمين حلّ اختبار في أي وقت.
إذا كانت حالة الاستخدام تتطلّب ميزات reCAPTCHA Enterprise لم يتم تنفيذها من خلال App Check، أو إذا أردت استخدام App Check مع مقدّم خدمة مخصّص، يُرجى الاطّلاع على تنفيذ مقدّم خدمة App Check مخصّص.
1. إعداد مشروع Firebase
أضِف Firebase إلى مشروع Android الخاص بك، في حال لم يسبق لك إجراء ذلك.
في وحدة تحكّم Google Cloud، انتقِل إلى صفحة "الحماية من الاحتيال"، واتّبِع الخطوات التالية لمقدّم الخدمة reCAPTCHA Enterprise:
تأكَّد من أنّك في المشروع الصحيح (راجِع أداة اختيار المشاريع في أعلى الشاشة).
فعِّل واجهة برمجة التطبيقات reCAPTCHA Enterprise إذا طُلب منك ذلك.
أنشئ مفتاحًا من نوع Android، وحدِّد اسم حزمة تطبيقك (على سبيل المثال،
com.example.my_app).تأكَّد من إدخال اسم الحزمة نفسه الذي قدّمته عند إنشاء تطبيق Android على Firebase في مشروع Firebase. قيمة اسم الحزمة حسّاسة لحالة الأحرف.
بالنسبة إلى "App Check"، يمكن أن يتوافق كل اسم حزمة مع مفتاح "reCAPTCHA" واحد فقط.
للحصول على تعليمات مفصّلة، يُرجى الاطّلاع على المقالة إنشاء مفاتيح reCAPTCHA مستندة إلى النتائج.
دوِّن هذا المفتاح. عليك إضافته إلى مسار التسجيل في وحدة تحكّم "Firebase".
في وحدة تحكّم Firebase، انتقِل إلى الأمان > فحص التطبيقات.
في علامة التبويب التطبيقات، سجِّل تطبيقات Android لاستخدام App Check مع موفّر خدمة reCAPTCHA Enterprise. يجب تقديم المفتاح الذي حصلت عليه في وحدة تحكّم Google Cloud.
اختياري: اضبط مدة بقاء الرمز المميّز (TTL).
في إعدادات تسجيل التطبيق، اضبط مدة بقاء (TTL) مخصّصة لرموز App Check المميّزة التي يصدرها مقدّم الخدمة. يمكنك ضبط مدة الصلاحية على أي قيمة تتراوح بين 30 دقيقة و7 أيام. عند تغيير هذه القيمة، يجب مراعاة المفاضلات التالية:
- الأمان: توفّر قيم TTL الأقصر أمانًا أقوى، لأنّها تقلّل من المدة التي يمكن فيها للمهاجم إساءة استخدام رمز مميّز تم تسريبه أو اعتراضه.
- الأداء: يعني قِصر مدة الصلاحية أنّ تطبيقك سيُجري عملية المصادقة بشكل متكرر. بما أنّ عملية مصادقة التطبيق تضيف وقت استجابة إلى طلبات الشبكة في كل مرة يتم إجراؤها، يمكن أن يؤثر قِصر مدة الصلاحية في أداء تطبيقك.
- الحصة والتكلفة: تؤدي فترات TTL الأقصر وإعادة المصادقة المتكررة إلى استنفاد حصتك بشكل أسرع، وقد تزيد التكلفة في الخدمات المدفوعة. يُرجى الاطّلاع على الحصص والحدود.
إنّ مدة الصلاحية التلقائية التي تبلغ ساعة واحدة مناسبة لمعظم التطبيقات. يُرجى العِلم أنّ مكتبة App Check تعيد تحميل الرموز المميزة في نصف مدة البقاء تقريبًا.
اختياري: اضبط الإعدادات المتقدّمة.
انقر على حفظ.
(اختياري) ضبط الإعدادات المتقدّمة
عندما يفتح مستخدم تطبيقك، تقيّم واجهة برمجة التطبيقات reCAPTCHA Enterprise مستوى الخطر الذي يشكّله تفاعل المستخدم ضمن المفتاح، وتعرض درجة تتراوح بين 0.0 و1.0، بزيادات قدرها 0.1.
- تشير النتيجة 0.0 إلى أنّ التفاعل يشكّل خطرًا كبيرًا وقد يكون احتياليًا.
- تشير النتيجة 1.0 إلى أنّ التفاعل يشكّل خطرًا منخفضًا ومن المرجّح جدًا أن يكون مشروعًا.
يتيح لك App Check ضبط الحدّ الأقصى لمستوى خطورة التطبيق لتتمكّن من تعديل مستوى تحمّلك لهذه المخاطر.
بالنسبة إلى معظم حالات الاستخدام، ننصح باستخدام قيمة الحدّ التلقائية التي تبلغ 0.5. إذا كانت حالة الاستخدام تتطلّب تعديل هذه القيمة، يمكنك ضبطها لكل تطبيق من تطبيقاتك في وحدة تحكّم Firebase (انتقِل إلى الأمان > فحص التطبيقات). احرص على توسيع ومراجعة بعض الاعتبارات المهمة حول ضبط الحدّ الأقصى لمستوى خطورة التطبيق أدناه.
2. إضافة حزمة تطوير البرامج (SDK) لـ "App Check" إلى تطبيقك
لاستخدام مقدّم الخدمة reCAPTCHA Enterprise، يجب إضافة التبعية المقابلة.
في ملف Gradle للوحدة (على مستوى التطبيق) (عادةً<project>/<app-module>/build.gradle.kts أو
<project>/<app-module>/build.gradle)،
أضِف الاعتمادية لمكتبة App Check reCAPTCHA لنظام التشغيل Android. ننصح باستخدام
Firebase Android BoM
للتحكّم في إصدارات المكتبة.
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:35.1.0")) // Add the dependency for the App Check reCAPTCHA library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-appcheck-recaptcha") }
باستخدام Firebase Android BoM، سيستخدم تطبيقك دائمًا إصدارات متوافقة من مكتبات Firebase لنظام التشغيل Android.
(بديل) إضافة تبعيات مكتبة Firebase بدون استخدام BoM
إذا اخترت عدم استخدام Firebase BoM، عليك تحديد كل إصدار من مكتبة Firebase في سطر التبعية الخاص به.
يُرجى العِلم أنّه في حال استخدام مكتبات Firebase متعددة في تطبيقك، ننصحك بشدة باستخدام BoM لإدارة إصدارات المكتبات، ما يضمن توافق جميع الإصدارات.
dependencies { // Add the dependency for the App Check reCAPTCHA library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-appcheck-recaptcha:20.0.0") }
3- إعداد App Check
في تطبيقك، عليك إعداد App Check قبل استخدام أي خدمات أخرى من Firebase.
Kotlin
Firebase.initialize(context = this)
Firebase.appCheck.installAppCheckProviderFactory(
RecaptchaAppCheckProviderFactory.getInstance("SITE_KEY")
)
Java
FirebaseApp.initializeApp(/*context=*/ this);
FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance();
firebaseAppCheck.installAppCheckProviderFactory(
RecaptchaAppCheckProviderFactory.getInstance("SITE_KEY"));
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 لنظام التشغيل 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 مع مقدّم خدمة تصحيح الأخطاء على Android.
الأسعار
تُنشئ App Check تقييمًا نيابةً عنك للتحقّق من صحة الرمز المميّز لاستجابة المستخدم في كل مرة يعيد فيها تطبيقك تحميل الرمز المميّز لـ App Check. سيتم تحصيل رسوم من مشروع Firebase الخاص بك مقابل كل تقييم يتم إنشاؤه فوق الحصة المجانية. لمعرفة التفاصيل، يُرجى الاطّلاع على أسعار reCAPTCHA.
سيعيد تطبيقك تلقائيًا تحميل هذا الرمز المميّز مرتين كل ساعة واحدة. للتحكّم في معدّل إعادة تحميل تطبيقك لرموز App Check المميّزة (وبالتالي معدّل إنشاء تقييمات جديدة)، يمكنك ضبط مدة صلاحية الرمز المميّز.