بدء استخدام ميزة "فحص التطبيق" مع ميزة Play Integrity على نظام Android

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

لا يتوافق حاليًا موفِّر Play Integrity المُدمَج إلا مع تطبيقات Android. يتم توزيعها من خلال Google Play. لاستخدام ميزات Play Integrity خارج Play، أو لاستخدام App Check باستخدام الموفِّر المخصّص الخاص بك، يُرجى الاطّلاع على تنفيذ موفِّر App Check مخصّص

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

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

  2. تفعيل واجهة برمجة التطبيقات Play Integrity API:

    1. في Google Play Console أو اختر تطبيقك أو أضِفه إذا لم يسبق لك إجراء ذلك.

    2. في قسم الإصدار، انقر على سلامة التطبيق.

    3. انتقِل إلى قسم واجهة برمجة التطبيقات Play Integrity API على الصفحة، وانقر على ربط مشروع على Cloud. ثم اختيار مشروعك على Firebase من قائمة مشاريع Google Cloud. يجب أن يكون المشروع الذي تختاره هنا هو مشروع Firebase نفسه الذي تم اختياره الذي تسجل فيه تطبيقك (راجع الخطوة التالية).

  3. سجِّل تطبيقاتك لاستخدام "App Check" لدى موفِّر Play Integrity في القسم App Check في وحدة تحكم Firebase. عليك تقديم الملف المرجعي لخوارزمية SHA-256. الخاصة بشهادة توقيع تطبيقك

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

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

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

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

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

في ملف Gradle للوحدة (على مستوى التطبيق) (عادةً <project>/<app-module>/build.gradle.kts أو <project>/<app-module>/build.gradle)، أضف التبعية لمكتبة App Check لنظام التشغيل Android. ننصح باستخدام Firebase Android BoM للتحكم في إصدارات المكتبة.

dependencies {
    // Import the BoM for the Firebase platform
    implementation(platform("com.google.firebase:firebase-bom:33.1.2"))

    // Add the dependencies for the App Check libraries
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-appcheck-playintegrity")
}

باستخدام Firebase Android BoM، سيستخدم تطبيقك دائمًا إصدارات متوافقة من مكتبات Android في Firebase.

(الطريقة البديلة) إضافة اعتماديات مكتبة Firebase بدون استخدام BoM

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

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

dependencies {
    // Add the dependencies for the App Check libraries
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-appcheck-playintegrity:18.0.0")
}
هل تبحث عن وحدة مكتبة خاصة بلغة Kotlin؟ ستبدأ بعد تشرين الأول (أكتوبر) 2023 (Firebase BoM 32.5.0)، بإمكان مطوّري البرامج بلغة Kotlin وJava. تعتمد على وحدة المكتبة الرئيسية (لمزيد من التفاصيل، راجع الأسئلة الشائعة حول هذه المبادرة).

3- إعداد App Check

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

Kotlin+KTX

Firebase.initialize(context = this)
Firebase.appCheck.installAppCheckProviderFactory(
    PlayIntegrityAppCheckProviderFactory.getInstance(),
)

Java

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

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

بعد تثبيت مكتبة "App Check" في تطبيقك، ابدأ في توزيع تحديث التطبيق للمستخدمين لديك.

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

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

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

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

تفعيل فرض App Check

عندما تفهم تأثير App Check في المستخدمين وتكون مستعدًا لذلك المتابعة، يمكنك تفعيل تنفيذ سياسة App Check:

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

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

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