ابدأ باستخدام App Check مع SafetyNet على Android

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

إذا كنت تريد استخدام التحقق من التطبيق مع الموفر المخصص الخاص بك، فراجع تنفيذ موفر التحقق من التطبيق المخصص .

1. قم بإعداد مشروع Firebase الخاص بك

  1. أضف Firebase إلى مشروع Android الخاص بك إذا لم تكن قد قمت بذلك بالفعل.

  2. قم بتسجيل تطبيقاتك لاستخدام App Check مع موفر SafetyNet في قسم App Check بوحدة تحكم Firebase. ستحتاج إلى تقديم بصمة SHA-256 لشهادة توقيع تطبيقك.

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

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

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

    يعد TTL الافتراضي الذي يبلغ ساعة واحدة معقولًا لمعظم التطبيقات. لاحظ أن مكتبة التحقق من التطبيق تقوم بتحديث الرموز المميزة بنصف مدة TTL تقريبًا.

2. أضف مكتبة التحقق من التطبيق إلى تطبيقك

في ملف Gradle الخاص بالوحدة النمطية (على مستوى التطبيق) (عادةً app/build.gradle )، أعلن عن تبعية مكتبة التحقق من التطبيق لنظام Android:

dependencies {
    implementation 'com.google.firebase:firebase-appcheck-safetynet:16.1.2'
}

3. تهيئة فحص التطبيق

أضف رمز التهيئة التالي إلى تطبيقك حتى يتم تشغيله قبل استخدام أي حزم Firebase SDK أخرى:

Kotlin+KTX

Firebase.initialize(context = this)
Firebase.appCheck.installAppCheckProviderFactory(
    SafetyNetAppCheckProviderFactory.getInstance()
)

Java

FirebaseApp.initializeApp(/*context=*/ this);
FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance();
firebaseAppCheck.installAppCheckProviderFactory(
        SafetyNetAppCheckProviderFactory.getInstance());

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

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

سيبدأ تطبيق العميل المحدث في إرسال رموز التحقق من التطبيق مع كل طلب يقدمه إلى Firebase، لكن منتجات Firebase لن تتطلب أن تكون الرموز المميزة صالحة حتى تقوم بتمكين التنفيذ في قسم التحقق من التطبيق في وحدة تحكم Firebase.

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

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

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

تمكين فرض التحقق من التطبيق

عندما تفهم كيف سيؤثر التحقق من التطبيق على المستخدمين لديك وتكون جاهزًا للمتابعة، يمكنك تمكين فرض التحقق من التطبيق:

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

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

راجع استخدام التحقق من التطبيق مع موفر تصحيح الأخطاء على نظام التشغيل Android .