Catch up on highlights from Firebase at Google I/O 2023. Learn more

ابدأ باستخدام App Check with Play Integrity على Android

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

حاليًا ، يدعم موفر Play Integrity المدمج فقط تطبيقات Android الموزعة بواسطة Google Play. لاستخدام ميزات Play Integrity خارج التشغيل ، أو لاستخدام التحقق من التطبيق مع الموفر المخصص الخاص بك ، راجع تنفيذ موفر فحص التطبيق المخصص .

1. قم بإعداد مشروع Firebase

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

  2. تفعيل Play Integrity API:

    1. في Google Play Console ، حدد التطبيق الخاص بك ، أو قم بإضافته إذا لم تكن قد قمت بذلك بالفعل.

    2. في قسم الإصدار ، انقر فوق إعداد> تكامل التطبيق .

    3. في صفحة Integrity API ، انقر على ربط المشروع ، ثم حدد مشروع Firebase من قائمة مشاريع Google Cloud.

      يجب أن يكون المشروع الذي تحدده هنا هو نفس مشروع Firebase الذي سجلت فيه تطبيقك (انظر الخطوة التالية).

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

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

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

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

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

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

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

Kotlin+KTX

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

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

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

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

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

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

dependencies {
    // Add the dependency for the App Check library
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-appcheck-playintegrity:17.0.1'
}

Java

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

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

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

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

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

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

dependencies {
    // Add the dependency for the App Check library
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-appcheck-playintegrity:17.0.1'
}

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

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

Kotlin+KTX

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

Java

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

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

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

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

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

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

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

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

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

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

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

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