بدء استخدام ميزة "التحقّق من التطبيقات" مع SafetyNet على Android

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

وإذا كنت تريد استخدام ميزة "فحص التطبيق" مع مقدِّم خدمة مخصّص، اطّلِع على الاستعانة بموفِّر لخدمة "فحص التطبيقات"

1- إعداد مشروع Firebase

  1. أضِف منصة Firebase إلى مشروع Android إذا لم يسبق لك إجراء ذلك. قمت بذلك بالفعل.

  2. سجِّل تطبيقاتك لاستخدام ميزة "التحقّق من التطبيقات" مع موفِّر خدمة SafetyNet في قسم التحقّق من التطبيقات في "وحدة تحكُّم Firebase". عليك تقديم الملف المرجعي لخوارزمية SHA-256. الخاصة بشهادة توقيع تطبيقك

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

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

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

    وتمثل مدة البقاء الافتراضية ساعة واحدة معقول بالنسبة لمعظم التطبيقات. يُرجى العلم بأنّه تتم إعادة تحميل مكتبة فحص التطبيقات. في نصف مدة TTL تقريبًا.

2- إضافة مكتبة فحص التطبيقات إلى تطبيقك

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

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

3- إعداد فحص التطبيقات

أضِف رمز الإعداد التالي إلى تطبيقك لكي يتم تشغيله قبل استخدام التطبيق. أي حِزم تطوير برامج (SDK) أخرى لمنصّة Firebase:

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.