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

Mulailah menggunakan App Check dengan penyedia khusus di Android

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

Halaman ini menunjukkan kepada Anda cara mengaktifkan App Check di aplikasi Android, menggunakan penyedia App Check kustom Anda . Saat mengaktifkan App Check, Anda membantu memastikan bahwa hanya aplikasi Anda yang dapat mengakses sumber daya Firebase proyek Anda.

Jika Anda ingin menggunakan App Check dengan penyedia Play Integrity default, lihat Mengaktifkan App Check dengan Play Integrity di Android .

Sebelum kamu memulai

1. Tambahkan perpustakaan App Check ke aplikasi Anda

Dalam file Gradle modul (tingkat aplikasi) Anda (biasanya app/build.gradle ), nyatakan dependensi untuk pustaka Android App Check:

Java

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

Kotlin+KTX

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

2. Implementasikan antarmuka App Check

Pertama, Anda perlu membuat kelas yang mengimplementasikan antarmuka AppCheckProvider dan AppCheckProviderFactory .

Kelas AppCheckProvider Anda harus memiliki metode getToken() , yang mengumpulkan informasi apa pun yang diperlukan oleh penyedia App Check kustom Anda sebagai bukti keaslian, dan mengirimkannya ke layanan akuisisi token Anda sebagai ganti token App Check. App Check SDK menangani caching token, jadi selalu dapatkan token baru dalam implementasi getToken() Anda.

Java

public class YourCustomAppCheckToken extends AppCheckToken {
    private String token;
    private long expiration;

    YourCustomAppCheckToken(String token, long expiration) {
        this.token = token;
        this.expiration = expiration;
    }

    @NonNull
    @Override
    public String getToken() {
        return token;
    }

    @Override
    public long getExpireTimeMillis() {
        return expiration;
    }
}

public class YourCustomAppCheckProvider implements AppCheckProvider {
    @Override
    public Task<AppCheckToken> getToken() {
        // Logic to exchange proof of authenticity for an App Check token and
        //   expiration time.
        // ...

        // Refresh the token early to handle clock skew.
        long expMillis = expirationFromServer * 1000 - 60000;

        // Create AppCheckToken object.
        AppCheckToken appCheckToken =
                YourCustomAppCheckToken(tokenFromServer, expMillis);

        return appCheckToken;
    }
}

Kotlin+KTX

class YourCustomAppCheckToken(
    private val token: String,
    private val expiration: Long
) : AppCheckToken() {
    override fun getToken(): String {
        return token
    }

    override fun getExpireTimeMillis(): Long {
        return expiration
    }
}

class YourCustomAppCheckProvider : AppCheckProvider {
    val token: Task<AppCheckToken>
        get() {
            // Logic to exchange proof of authenticity for an App Check token.
            // ...

            // Refresh the token early to handle clock skew.
            val expMillis: Long = expirationFromServer * 1000 - 60000

            // Create AppCheckToken object.
            val appCheckToken: AppCheckToken =
                    YourCustomAppCheckToken(tokenFromServer, expMillis)

            return appCheckToken!
        }
}

Selain itu, terapkan kelas AppCheckProviderFactory yang membuat instance implementasi AppCheckProvider Anda:

Java

public class YourCustomAppCheckProviderFactory implements AppCheckProviderFactory {
  @Override
  public AppCheckProvider create(FirebaseApp firebaseApp) {
    // Create and return an AppCheckProvider object.
    return new YourCustomAppCheckProvider(firebaseApp);
  }
}

Kotlin+KTX

class YourCustomAppCheckProviderFactory : AppCheckProviderFactory {
    fun create(firebaseApp: FirebaseApp): AppCheckProvider {
        // Create and return an AppCheckProvider object.
        return YourCustomAppCheckProvider(firebaseApp)
    }
}

3. Inisialisasi Pemeriksaan Aplikasi

Tambahkan kode inisialisasi berikut ke aplikasi Anda agar dapat berjalan sebelum Anda menggunakan SDK Firebase lainnya:

Java

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

Kotlin+KTX

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

Langkah selanjutnya

Setelah pustaka App Check dipasang di aplikasi Anda, mulailah mendistribusikan aplikasi yang diperbarui kepada pengguna Anda.

Aplikasi klien yang diperbarui akan mulai mengirimkan token App Check bersama dengan setiap permintaan yang dibuatnya ke Firebase, tetapi produk Firebase tidak akan mengharuskan token valid sampai Anda mengaktifkan penerapan di bagian App Check di Firebase console.

Pantau metrik dan aktifkan penegakan

Namun, sebelum Anda mengaktifkan penegakan, Anda harus memastikan bahwa hal itu tidak akan mengganggu pengguna sah Anda yang sudah ada. Di sisi lain, jika Anda melihat penggunaan sumber daya aplikasi yang mencurigakan, Anda mungkin ingin mengaktifkan penegakan lebih cepat.

Untuk membantu membuat keputusan ini, Anda dapat melihat metrik Pemeriksaan Aplikasi untuk layanan yang Anda gunakan:

Aktifkan penegakan Pemeriksaan Aplikasi

Saat Anda memahami bagaimana App Check akan memengaruhi pengguna Anda dan Anda siap untuk melanjutkan, Anda dapat mengaktifkan penerapan App Check:

Gunakan App Check di lingkungan debug

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

Lihat Menggunakan Pemeriksaan Aplikasi dengan penyedia debug di Android .