Ikuti semua informasi yang diumumkan di Firebase Summit, dan pelajari bagaimana Firebase dapat membantu Anda mempercepat pengembangan aplikasi dan menjalankan aplikasi dengan percaya diri. Pelajari Lebih Lanjut

Gunakan App Check dengan penyedia debug di Android

Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

Jika, setelah mendaftarkan aplikasi untuk App Check, Anda ingin menjalankan aplikasi di lingkungan yang biasanya tidak diklasifikasikan oleh App Check sebagai valid, seperti emulator selama pengembangan, atau dari lingkungan continuous integration (CI), Anda bisa buat build debug aplikasi Anda yang menggunakan penyedia debug App Check, bukan penyedia pengesahan sebenarnya.

Gunakan penyedia debug di emulator

Untuk menggunakan penyedia debug saat menjalankan aplikasi Anda di emulator secara interaktif (misalnya, selama pengembangan), lakukan hal berikut:

  1. Dalam file Gradle modul (level aplikasi) Anda (biasanya app/build.gradle ), deklarasikan dependensi untuk library Android App Check:

    Kotlin+KTX

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

    Java

    dependencies {
        implementation 'com.google.firebase:firebase-appcheck-debug:16.1.1'
    }
    
  2. Dalam build debug Anda, konfigurasikan App Check untuk menggunakan pabrik penyedia debug:

    Kotlin+KTX

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

    Java

    FirebaseApp.initializeApp(/*context=*/ this);
    FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance();
    firebaseAppCheck.installAppCheckProviderFactory(
            DebugAppCheckProviderFactory.getInstance());
  3. Luncurkan aplikasi dan picu panggilan ke layanan backend Firebase. Token debug lokal akan dicatat saat SDK mencoba mengirim permintaan ke backend. Sebagai contoh:

    D DebugAppCheckProvider: Enter this debug secret into the allow list in
    the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678
  4. Di bagian App Check di Firebase console, pilih Manage debug tokens dari menu luapan aplikasi Anda. Kemudian, daftarkan token debug yang Anda login di langkah sebelumnya.

    Cuplikan layar item menu Kelola Token Debug

Setelah Anda mendaftarkan token, layanan backend Firebase akan menerimanya sebagai valid.

Karena token ini mengizinkan akses ke sumber daya Firebase Anda tanpa perangkat yang valid, Anda harus merahasiakannya. Jangan komit ke repositori publik, dan jika token terdaftar pernah disusupi, segera cabut di konsol Firebase.

Gunakan penyedia debug untuk pengujian unit di lingkungan CI

Untuk menggunakan penyedia debug untuk pengujian unit di lingkungan continuous integration (CI), lakukan hal berikut:

  1. Di bagian App Check di Firebase console, pilih Manage debug tokens dari menu luapan aplikasi Anda. Kemudian, buat token debug baru. Anda akan memerlukan token di langkah berikutnya.

    Karena token ini mengizinkan akses ke sumber daya Firebase Anda tanpa perangkat yang valid, Anda harus merahasiakannya. Jangan komit ke repositori publik, dan jika token terdaftar pernah disusupi, segera cabut di konsol Firebase.

    Cuplikan layar item menu Kelola Token Debug

  2. Tambahkan token debug yang baru saja Anda buat ke penyimpanan kunci aman sistem CI Anda (misalnya, rahasia terenkripsi GitHub Actions atau variabel terenkripsi Travis CI ).

  3. Jika perlu, konfigurasikan sistem CI Anda agar token debug tersedia dalam lingkungan CI sebagai variabel lingkungan. Beri nama variabel seperti APP_CHECK_DEBUG_TOKEN_FROM_CI .

  4. Dalam file Gradle modul (level aplikasi) Anda (biasanya app/build.gradle ):

    1. Deklarasikan dependensi pengujian untuk library debug Android App Check:

      Kotlin+KTX

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

      Java

      dependencies {
          androidTestImplementation 'com.google.firebase:firebase-appcheck-debug-testing:16.1.1'
      }
      
    2. Tambahkan berikut ini ke konfigurasi varian build CI Anda:

      testInstrumentationRunnerArgument "firebaseAppCheckDebugSecret", System.getenv("APP_CHECK_DEBUG_TOKEN_FROM_CI") ?: ''
      
  5. Di class pengujian Anda, gunakan DebugAppCheckTestHelper untuk menggabungkan kode apa pun yang memerlukan token App Check:

    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.
            }
        }
    }
    

    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.
                    });
        }
    }
    

Saat aplikasi Anda berjalan di lingkungan CI, layanan backend Firebase akan menerima token yang dikirimkannya sebagai valid.