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

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

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

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

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

  2. تمكين واجهة برمجة تطبيقات Play Integrity:

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

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

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

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

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

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

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

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

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

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

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

    // 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 ، سيستخدم تطبيقك دائمًا إصدارات متوافقة من مكتبات Firebase Android.

(بديل) أضف تبعيات مكتبة 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:17.1.2")
}
هل تبحث عن وحدة مكتبة خاصة بـ Kotlin؟ بدءًا من أكتوبر 2023 (Firebase BoM 32.5.0) ، يمكن لمطوري Kotlin وJava الاعتماد على وحدة المكتبة الرئيسية (لمزيد من التفاصيل، راجع الأسئلة الشائعة حول هذه المبادرة ).

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

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

Kotlin+KTX

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

Java

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

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

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

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

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

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

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

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

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

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

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

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