Mengelola data ID Instance

ID Instance mengidentifikasi setiap penginstalan aplikasi Anda. Karena setiap ID Instance unik bagi aplikasi dan perangkat tertentu, ID Instance tersebut memberikan cara merujuk ke instance aplikasi tertentu kepada layanan Firebase. Misalnya, Cloud Messaging menggunakan ID Instance untuk menentukan perangkat mana yang akan dikirimi pesan.

Beberapa layanan Firebase menggunakan ID Instance untuk mengaktifkan fiturnya:

  • Analytics
  • Crash Reporting
  • Cloud Messaging
  • Predictions
  • Remote Config

Mengelola data aplikasi yang berkaitan dengan ID Instance

Layanan yang menggunakan ID Instance untuk mengidentifikasi penginstalan juga menggunakannya sebagai kunci untuk menghubungkan data yang relevan dengan perangkat tersebut. Misalnya, Crashlytics menggunakan ID Instance untuk mencatat error yang terjadi pada perangkat, Remote Config menggunakannya untuk mengambil konfigurasi, dan Analytics menggunakan ID Instance untuk melacak audience tertentu.

Data yang berkaitan dengan ID Instance umumnya tidak mengidentifikasi secara pribadi, tetapi tetap dapat membantu memberi pengguna opsi untuk mengelolanya. Untuk itu, Firebase menyediakan 2 cara untuk mengelola pengumpulan data terkait ID Instance:

  • Penghapusan ID Instance. Anda dapat menghapus ID Instance dengan panggilan API server atau API sisi klien. Menghapus Instance ID akan menghapus ID itu sendiri dan semua data yang terkait.
  • Penonaktifan layanan yang menghasilkan ID. Sebagian besar layanan Firebase yang menggunakan ID Instance secara otomatis menghasilkan ID baru jika belum ada ID yang tersedia pada perangkat saat layanan itu dimulai. Untuk memastikan aplikasi Anda tidak membuat ID Instance yang tidak diinginkan, nonaktifkan inisialisasi otomatis untuk layanan tersebut.

Menghapus ID Instance

Dengan menghapus ID Instance, data yang terkait dengan ID tersebut pada layanan Firebase mana pun yang tercantum di atas juga akan dihapus. Hal itu memang membuat penghapusan ID sebagai fitur yang berguna dalam menghapus data pengguna, tetapi harap diperhatikan: jika Anda menggunakan beberapa layanan yang bergantung pada ID Instance, menghapus salah 1 ID akan menghapus data dari semuanya.

Layanan ID Instance membuat ID baru dalam beberapa hari, kecuali Anda menonaktifkan semua layanan pembuat ID Instance pada aplikasi. Firebase menganggap ID yang baru dibuat sebagai instance aplikasi baru dan tidak mengaitkannya dengan ID sebelumnya dengan cara apa pun.

Menghapus ID dengan panggilan API klien

Untuk menghapus ID yang dihasilkan oleh layanan Firebase, panggil metode yang sesuai dari API ID Instance Firebase:

Swift

InstanceID.instanceID().deleteID { error in
  if let error = error {
    print("Error deleting instance ID: \(error)")
  }
}

Objective-C

[FIRInstanceID instanceID] deleteIDWithHandler:^(NSError *error) {
  if error != nil {
    NSLog(@"Error deleting instance ID: %@", error);
  }
}];

Android

FirebaseInstanceId.deleteInstanceId();

Menghapus ID dengan panggilan API server

Untuk menghapus ID Instance dengan panggilan API server, tambahkan Firebase Admin SDK ke server jika Anda belum melakukannya.

Setelah ditambahkan, hapus ID melalui panggilan ke fungsi penghapusan ID Instance dalam bahasa pilihan Anda:

Node.js

// An Instance ID sent from a client service SDK
const idToDelete = 'INSTANCE_ID';

admin.instanceId().deleteInstanceId(idToDelete);

Java

// An Instance ID sent from a client service SDK
String idToDelete = "INSTANCE_ID";

FirebaseInstanceId.getInstance().deleteInstanceIdAsync(idToDelete).get();

Python

  from firebase_admin import instance_id

  # An Instance ID sent from a client service SDK
  id_to_delete = 'INSTANCE_ID'

  instance_id.delete_instance_id(id_to_delete)

Go

client, err := app.InstanceId(ctx)
if err != nil {
  log.Fatalln("error initializing client", err)
}

iidToDelete := "INSTANCE_ID"
if err := client.DeleteInstanceId(ctx, iidToDelete); err != nil {
  log.Fatalln("error deleting iid", err)
}

Saat Anda menghapus ID Instance dengan panggilan API server, layanan Firebase menghapus data terkait, menghentikan penerimaan data baru untuk ID tersebut, dan memberi tahu aplikasi klien bahwa ID telah dihapus dalam waktu beberapa hari. Beberapa layanan aplikasi mungkin mengalami penurunan fungsionalitas hingga Firebase memberi tahu aplikasi klien.

Jika Anda ingin menghapus ID Instance yang ada saat ini dan segera menggunakan layanan Firebase dengan ID baru dan independen, gunakan salah satu API Klien di atas untuk menangani penghapusan.

Menonaktifkan pembuatan ID Instance

Layanan yang menggunakan ID Instance secara otomatis menghasilkan ID baru ketika diinisialisasi dalam aplikasi yang belum memiliki ID. Biasanya, layanan tersebut juga otomatis melakukan inisialisasi saat aplikasi Anda diluncurkan. Untuk menonaktifkan pembuatan ID Instance, Anda harus menonaktifkan inisialisasi otomatis untuk layanan yang menggunakannya.

Salah 1 pendekatan yang umum adalah memberi pengguna opsi untuk ikut serta dalam pengumpulan data: menonaktifkan inisialisasi otomatis untuk layanan yang menggunakan ID Instance, mengimplementasikan dialog yang meminta pengguna memberikan persetujuan mereka terkait pengumpulan data, dan mengaktifkan kembali layanan secara manual begitu Anda mendapat izin.

Baca panduan di bawah ini untuk mencari tahu cara menonaktifkan inisialisasi otomatis untuk layanan yang menggunakan ID Instance dan melakukan inisialisasi secara manual:

Kirim masukan tentang...

Butuh bantuan? Kunjungi halaman dukungan kami.