Panduan Migrasi Admin SDK

Versi Admin SDK berikut menyebabkan sejumlah perubahan yang dapat menyebabkan gangguan:

  • Java SDK 6.0.0
  • Go SDK 3.0.0

Perubahan dengan dampak terluas adalah penghapusan antarmuka Task Java, yang digantikan oleh antarmuka ApiFuture.

Selain itu, ada beberapa perubahan terhadap fitur ini:

  • Menentukan kredensial otorisasi untuk Java SDK
  • Mengonfigurasi level log Realtime Database
  • Membuat token kustom dan memverifikasi token di Go

Admin Java SDK (6.0.0)

Gunakan ApiFuture, bukan Task

Antarmuka Task yang tidak digunakan lagi telah dihapus. Jika aplikasi Anda menggunakan antarmuka ini, update untuk menggunakan antarmuka ApiFutures. Contoh:

Sebelum

Task<String> customToken = FirebaseAuth.getInstance()
    .createCustomToken("uid");

Sesudah

String customToken = FirebaseAuth.getInstance()
    .createCustomToken("uid");

// Or

ApiFuture<String> customToken = FirebaseAuth.getInstance()
    .createCustomTokenAsync("uid");

Untuk mengetahui pembahasan mendetail tentang perubahan ini beserta contoh kasus penggunaan lanjutan, lihat Operasi Asinkron dengan Admin Java SDK.

Migrasikan FirebaseCredentials ke GoogleCredentials

FirebaseCredential dan FirebaseCredentials tidak lagi tersedia. Untuk menentukan kredensial otorisasi untuk SDK, gunakan GoogleCredentials. Contoh:

Sebelum

FirebaseCredential credential = FirebaseCredentials.fromCertificate(stream);
FirebaseOptions options = new FirebaseOptions.Builder()
    .setCredential(credential)
    .build();

FirebaseCredential credential = FirebaseCredentials.applicationDefault();
FirebaseOptions options = new FirebaseOptions.Builder()
    .setCredential(credential)
    .build();

Sesudah

GoogleCredentials credentials = GoogleCredentials.fromStream(stream);
FirebaseOptions options = new FirebaseOptions.Builder()
    .setCredentials(credentials)
    .build();

GoogleCredentials credentials = GoogleCredentials.getApplicationDefault();
FirebaseOptions options = new FirebaseOptions.Builder()
    .setCredentials(credentials)
    .build();

Menggunakan SLF4J untuk mengonfigurasi logging

API FirebaseDatabase.setLogLevel() tidak tersedia lagi. Gunakan SLF4J secara langsung guna mengonfigurasi logging untuk keseluruhan SDK.

Perubahan ini berarti bahwa sekarang logging dapat dikonfigurasi tanpa mengubah kode. Untuk mengetahui informasi lebih lanjut, baca Logging di library Java untuk Firebase dan Google Cloud.

Sebelum

FirebaseDatabase.getInstance()
 .setLogLevel(Logger.Level.DEBUG);

Sesudah

  • Tambahkan slf4j-simple.jar ke classpath project.
  • Tetapkan properti sistem -Dorg.slf4j.simpleLogger.defaultLogLevel=debug untuk JVM.
  • Baca dokumentasi SLF4J untuk mengetahui detail tentang cara menggunakan framework logging lain, seperti Log4J dan java.util.logging.

Admin Go SDK 3.0.0

Perubahan auth.Client untuk Go

Metode CustomToken dan CustomTokeWithClaims sekarang menggunakan argumen konteks, seperti sebagian besar Go API yang ada.

Sebelum

token, err := CustomToken("uid")

token, err := CustomToken("uid", claimsMap)

result, err := VerifyIDToken(idToken)

Sesudah

token, err := CustomToken(context.Background(), "uid")

token, err := CustomTokenWithClaims(context.Background(), "uid", claimsMap)

result, err := VerifyIDToken(context.Background(), idToken)