Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

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

تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.

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

استخدم موفر التصحيح في محاكي

لاستخدام موفر تصحيح الأخطاء أثناء تشغيل تطبيقك في محاكي بشكل تفاعلي (أثناء التطوير ، على سبيل المثال) ، قم بما يلي:

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

    Java

    dependencies {
        implementation 'com.google.firebase:firebase-appcheck-debug:16.1.0'
    }
    

    Kotlin+KTX

    dependencies {
        implementation 'com.google.firebase:firebase-appcheck-debug:16.1.0'
    }
    
  2. في إصدار التصحيح الخاص بك ، قم بتكوين التحقق من التطبيق لاستخدام مصنع موفر تصحيح الأخطاء:

    Java

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

    Kotlin+KTX

    FirebaseApp.initializeApp(/*context=*/this)
    val firebaseAppCheck = FirebaseAppCheck.getInstance()
    firebaseAppCheck.installAppCheckProviderFactory(
        DebugAppCheckProviderFactory.getInstance()
    )
  3. شغّل التطبيق وأطلق مكالمة إلى خدمة Firebase الخلفية. سيتم تسجيل رمز تصحيح أخطاء محلي عندما يحاول SDK إرسال طلب إلى الواجهة الخلفية. فمثلا:

    D DebugAppCheckProvider: Enter this debug secret into the allow list in
    the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678
  4. في قسم التحقق من التطبيق في وحدة تحكم Firebase ، اختر إدارة الرموز المميزة لتصحيح الأخطاء من القائمة الكاملة لتطبيقك. بعد ذلك ، قم بتسجيل رمز التصحيح المميز الذي قمت بتسجيل الدخول إليه في الخطوة السابقة.

    لقطة شاشة لعنصر القائمة Manage Debug Tokens

بعد تسجيل الرمز المميز ، ستقبله خدمات Firebase الخلفية على أنه صالح.

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

استخدم موفر التصحيح لاختبار الوحدة في بيئة CI

لاستخدام موفر تصحيح الأخطاء لاختبار الوحدة في بيئة تكامل مستمر (CI) ، قم بما يلي:

  1. في قسم التحقق من التطبيق في وحدة تحكم Firebase ، اختر إدارة الرموز المميزة لتصحيح الأخطاء من القائمة الكاملة لتطبيقك. ثم قم بإنشاء رمز مميز جديد لتصحيح الأخطاء. ستحتاج إلى الرمز المميز في الخطوة التالية.

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

    لقطة شاشة لعنصر القائمة Manage Debug Tokens

  2. أضف رمز تصحيح الأخطاء الذي أنشأته للتو إلى مخزن المفاتيح الآمن لنظام CI الخاص بك (على سبيل المثال ، الأسرار المشفرة لـ GitHub Actions أو المتغيرات المشفرة لـ Travis CI).

  3. إذا لزم الأمر ، قم بتكوين نظام CI الخاص بك لإتاحة رمز التصحيح المميز الخاص بك داخل بيئة CI كمتغير بيئة. قم بتسمية المتغير بشيء مثل APP_CHECK_DEBUG_TOKEN_FROM_CI .

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

    1. قم بتعريف تبعية الاختبار لمكتبة تصحيح أخطاء Android App Check:

      Java

      dependencies {
          androidTestImplementation 'com.google.firebase:firebase-appcheck-debug-testing:16.1.0'
      }
      

      Kotlin+KTX

      dependencies {
          androidTestImplementation 'com.google.firebase:firebase-appcheck-debug-testing:16.1.0'
      }
      
    2. أضف ما يلي إلى تكوين متغير بناء CI الخاص بك:

      testInstrumentationRunnerArgument "firebaseAppCheckDebugSecret", System.getenv("APP_CHECK_DEBUG_TOKEN_FROM_CI") ?: ''
      
  5. في فصول الاختبار الخاصة بك ، استخدم DebugAppCheckTestHelper لالتفاف أي كود يحتاج إلى رمز التحقق من التطبيق:

    Java

    @RunWith(AndroidJunit4.class)
    public class YourTests {
        private final DebugAppCheckTestHelper debugAppCheckTestHelper =
                DebugAppCheckTestHelper.fromInstrumentationArgs();
    
        @Test
        public void testWithDefaultApp() {
            debugAppCheckTestHelper.withDebugProvider(() -> {
                // Test code that requires a debug AppCheckToken.
            });
        }
    
        @Test
        public void testWithNonDefaultApp() {
            debugAppCheckTestHelper.withDebugProvider(
                    FirebaseApp.getInstance("nonDefaultApp"),
                    () -> {
                        // Test code that requires a debug AppCheckToken.
                    });
        }
    }
    

    Kotlin+KTX

    @RunWith(AndroidJunit4::class)
    class MyTests {
        private val debugAppCheckTestHelper =
            DebugAppCheckTestHelper.fromInstrumentationArgs()
    
        @Test
        fun testWithDefaultApp() {
            debugAppCheckTestHelper.withDebugProvider {
                // Test code that requires a debug AppCheckToken.
            }
        }
    
        @Test
        fun testWithNonDefaultApp() {
            debugAppCheckTestHelper.withDebugProvider(
                FirebaseApp.getInstance("nonDefaultApp")
            ) {
                // Test code that requires a debug AppCheckToken.
            }
        }
    }
    

عند تشغيل تطبيقك في بيئة CI ، ستقبل خدمات Firebase الخلفية الرمز المميز الذي يرسله على أنه صالح.