Koneksi database realtime Firebase di Android Studio sekarang sangatlah mudah, tinggal klik-klik saja lalu sedikit koding.
Yang perlu disiapkan:
- Laptop yang telah terinstall Android Studio beserta komponen-komponen pendukungknya.
- Memiliki akun Google yang terdaftar.
- Handphone dengan OS Android atau Emulator Android.
- Kabel USB untuk debugging.
Artikel Terkait: Membangun Basic Smart Home Project Menggunakan Konsep IoT, Papan NodeMCU, Firebase Realtime Database, dan Aplikasi Android (berqas.com)
Langkah-langkahnya:
- Membuka konsole firebase https://console.firebase.google.com/ login dengan akun Google mu, lalu setujui Persyaratan Layanannya
- Klik pada Add Project, untuk membuat projek baru di Firebase, nantinya akan disambungkan ke Project Android
3. Lalu akan muncul jendela modal untuk mengisikan identitas project seperti nama, id, dan region, setelah itu klik tombol Create Project.
4. Kamu akan di arahkan ke halaman projectmu secara otomatis, setelah itu kita buka Android Studio nya, jangan tutup halaman console firebasenya
5. Membuat project baru, tulis nama aplikasi, company domain dan tentukan lokasi projeknya.
6. Tentukan
minimun SDK nya sesuai settingan yang biasa kamu pakai.
7. Pilih Empty Activity.
\
8. Nama activity biarkan default lalu tekan finish.
9. Tunggu sampai project selesai dibuat. Jika proses sudah, pilih menu tools — > Firebase
10. Muncul assitant di sisi kanan android studio, pilih yang Realtime Database, klik dan
Save and Retrieve data.
Akan muncul langkah-langkah untuk mengintegrasikan android studio dengan firebase
11. Ikuti langkah-langkahnya, klik tombol connect, jika kamu belum login pada Android Studio maka anda diharuskan login dengan akun google yang sama seperti akun google di Firebase.
12. Pilih yang Choose an existing Firebase or Google project. pilih project
yang baru dibuat lalu klik tombol Connect to Firebase.
Membutuhkan koneksi internet
13. Menuju langkah kedua
Add the Realtime Database to your app
Accept Changes, ini membutuhkan waktu dan koneksi internet. Jika proses telah slesai tanpa eror, maka project kamu sudah berhasil terintegrasi dengan Firebase, kita coba dengan
mengirimkan pesan dari android ke firebase
Uji Koneksi
- Menuju activity_main.xml, letaknya di foler res/layout
2. Edit kode xml nya untuk menambahkan 1 Edit Text, dan 1 Button, atau bisa kopi kode dibawah
3. Sekarang menuju ke MainActiviy.java, letaknya di folder java/(nama_paket_projek)
4. Inisialisasi komponen edit text dan button didalam method onCreate()
EditText edtPesan = (EditText)findViewById(R.id.edt_pesan);
Button btnSend = (Button)findViewById(R.id.btn_pesan);
5. Tambahkan listener pada button btnSend
btnSend.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
6. Tambahkan kode dibawah kedalam fungsi onClick()
String data = edtPesan.getText().toString();
sendData(data);
Toast.makeText(MainActivity.this, "terkirim", Toast.LENGTH_SHORT).show();
7. Buat method baru dengan nama sendData berparameter satu string di dalam kelas MainActivity.java
private void sendData(String pesan) {
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("pesan"); myRef.setValue(pesan);
}
8. Sehingga keseluruhan kode
menjadi seperti ini:
9. Kembali ke halaman console firebase, pilih menu Database
10. klik tombol Get Started pada Realtime Database
11. Pilih yang test mode karena kita belum memberi authentikasi pada aplikasi kita
Klik Enable
12. Kembali ke Android Studio, lalu jalankan
(run) aplikasinya di HP Android atau Emulator
13. Ketikkan pesan sesuatu pada Edit Text lalu tekan tombol Kirim
14. Periksa firebase console nya apakah pesan sampai
15. Jika terkirim, maka integrasi firebase dengan android kamu telah berhasil.
Itu dulu dari saya, jika ada kesalahan maka maafkan saya, Terima Kasih.
Layanan penginstalan Firebase (FIS) menyediakan ID penginstalan Firebase (FID) untuk setiap instance aplikasi Firebase yang diinstal. ID penginstalan Firebase digunakan secara internal oleh layanan Firebase ini:
Layanan Firebase | Fungsionalitas penginstalan Firebase |
---|
Perpesanan Cloud Firebase
| Firebase Cloud Messaging menggunakan ID penginstalan Firebase untuk menargetkan perangkat untuk pengiriman pesan.
|
Perpesanan Dalam Aplikasi Firebase
| Firebase In-App Messaging menggunakan ID penginstalan Firebase untuk menargetkan perangkat untuk pengiriman pesan.
|
Pemantauan Kinerja Firebase
| Performance Monitoring menggunakan ID penginstalan Firebase untuk menghitung jumlah penginstalan Firebase unik yang mengakses sumber daya jaringan, untuk memastikan bahwa pola akses cukup anonim. Ini juga menggunakan ID penginstalan Firebase dengan Firebase Remote Config untuk mengelola tingkat pelaporan peristiwa kinerja.
|
Konfigurasi Jarak Jauh Firebase
| Remote Config menggunakan ID penginstalan Firebase untuk memilih nilai konfigurasi yang akan dikembalikan ke perangkat pengguna akhir.
|
Firebase ML
| Kredensial yang disebut token autentikasi penginstalan digunakan oleh Firebase ML untuk autentikasi perangkat saat berinteraksi dengan instance aplikasi, misalnya, untuk mendistribusikan model developer ke instance aplikasi.
|
Penyimpanan Segmentasi Pengguna Firebase
| Penyimpanan Segmentasi Pengguna Firebase menyimpan ID penginstalan Firebase dan atribut serta segmen terkait untuk memberikan informasi penargetan ke layanan Firebase lain yang menggunakannya.
|
Biasanya, layanan Firebase menggunakan layanan penginstalan Firebase tanpa mengharuskan pengembang berinteraksi langsung dengan FIS API. Namun, ada kasus di mana pengembang aplikasi mungkin ingin langsung memanggil FIS API, seperti:
- Untuk menghapus instalasi Firebase dan data yang terkait dengan instalasi.
- Untuk mengambil pengidentifikasi (ID penginstalan Firebase) untuk menargetkan penginstalan aplikasi tertentu.
- Untuk mengambil token
autentikasi penginstalan untuk mengautentikasi penginstalan Firebase.
Untuk mulai memanggil FIS API secara langsung, tambahkan SDK ke aplikasi Anda.
Tambahkan SDK instalasi Firebase ke aplikasi Anda
iOS+
- Tambahkan dependensi untuk instalasi Firebase ke Podfile Anda: l10n
pod 'FirebaseInstallations'
-
Jalankan
pod install
dan buka file .xcworkspace
yang dibuat. - Impor modul
FirebaseCore
di UIApplicationDelegate
Anda, serta modul Firebase lain yang digunakan delegasi aplikasi Anda. Misalnya, untuk menggunakan Cloud Firestore dan Otentikasi: Cepat
import FirebaseCore
import FirebaseFirestore
import FirebaseAuth
// ...
Objective-C
@import FirebaseCore;
@import FirebaseFirestore;
@import FirebaseAuth;
// ...
- Konfigurasikan instance bersama
FirebaseApp
dalam metode application(_:didFinishLaunchingWithOptions:)
delegasi aplikasi Anda: Cepat
// Use Firebase library to configure APIs
FirebaseApp.configure()
Objective-C
// Use Firebase library to configure APIs
[FIRApp configure];
Android
Tambahkan dependensi untuk instalasi Firebase Android SDK ke modul Anda (tingkat aplikasi) file Gradle (biasanya app/build.gradle
):
implementation 'com.google.firebase:firebase-installations:17.1.0'
JavaScript
Bergantung pada cara aplikasi web Anda dihosting, konfigurasi Anda mungkin ditangani secara otomatis atau Anda mungkin perlu memperbarui
objek konfigurasi Firebase .
Misalnya, jika dependensi Anda ditambahkan di index.html, tambahkan dependensi di elemen
:
Berdebar
Dari direktori root proyek Flutter Anda, jalankan perintah berikut untuk menginstal plugin instalasi Firebase:
flutter pub add firebase_app_installations
Bangun kembali proyek
Anda:
flutter run
Impor plugin instalasi Firebase:
import 'package:firebase_app_installations/firebase_app_installations.dart';
Hapus penginstalan Firebase
Data yang terkait dengan penginstalan Firebase umumnya tidak mengidentifikasi secara pribadi. Namun, memberikan opsi kepada pengguna untuk mengelola dan menghapus data ini dapat membantu.
ID penginstalan Firebase berbeda untuk setiap penginstalan setiap aplikasi; aplikasi yang
berbeda pada perangkat yang sama memiliki ID penginstalan Firebase yang berbeda. ID penginstalan Firebase mengidentifikasi penginstalan aplikasi dan data yang terkait dengan penginstalan aplikasi tersebut.
Saat Anda menghapus ID penginstalan, data yang terkait dengan ID penginstalan tersebut akan dihapus dari sistem aktif dan cadangan semua layanan Firebase yang menggunakan ID penginstalan Firebase untuk mengidentifikasi penginstalan dalam 180 hari. Proses ini dijelaskan pada tingkat
tinggi dalam pernyataan Google tentang penghapusan dan retensi .
Kecuali Anda menonaktifkan semua layanan penghasil FID di aplikasi Anda, FIS membuat ID baru dalam beberapa hari. Firebase menganggap ID yang baru dibuat sebagai penginstalan Firebase baru, dan tidak mengaitkannya dengan ID atau data sebelumnya dengan cara apa pun.
Hapus FID dengan panggilan API klien
Untuk menghapus FID yang dihasilkan oleh layanan Firebase, panggil metode yang sesuai dari SDK instalasi Firebase:
Cepat
Installations.installations().delete { error in
if let error = error {
print("Error deleting installation: \(error)")
return
}
print("Installation deleted");
}
Objective-C
[[FIRInstallations installations] deleteWithCompletion:^(NSError *error) {
if (error != nil) {
NSLog(@"Error deleting Installation %@", error);
return;
}
NSLog(@"Installation deleted");
}];
Java
FirebaseInstallations.getInstance().delete()
.addOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(@NonNull Task task) {
if (task.isSuccessful()) {
Log.d("Installations", "Installation deleted");
} else {
Log.e("Installations", "Unable to delete Installation");
}
}
});
Kotlin+KTX
FirebaseInstallations.getInstance().delete().addOnCompleteListener { task ->
if (task.isComplete) {
Log.d("Installations", "Installation deleted")
} else {
Log.e("Installations", "Unable to delete Installation")
}
}
JavaScript
await firebase.installations().delete();
Dart
await FirebaseInstallations.instance.delete();
Hapus FID dengan panggilan API server
Untuk menghapus FID dengan panggilan API server,
tambahkan Firebase Admin SDK ke server Anda , jika Anda belum melakukannya.
Setelah SDK ditambahkan, hapus FID melalui panggilan ke fungsi penghapusan dalam bahasa pilihan Anda (catatan: Kecuali untuk Node.js, metode ini mencerminkan penamaan ID Instance. Namun, semuanya benar-benar menghapus FID saat dipanggil dengan Firebase saat ini SDK).
Node.js
// An FIDsent from a client service SDK
const idToDelete = 'eyJhbGciOiJFUzI1N_iIs5';
admin.installations().deleteInstallation(idToDelete);
Java
// An FID sent from a client service SDK
String idToDelete = "eyJhbGciOiJFUzI1N_iIs5";
FirebaseInstanceId.getInstance().deleteInstanceIdAsync(idToDelete).get();
Python
from firebase_admin import instance_id
# An FID sent from a client service SDK
id_to_delete = 'eyJhbGciOiJFUzI1N_iIs5'
instance_id.delete_instance_id(id_to_delete)
Pergi
client, err := app.InstanceId(ctx)
if err != nil {
log.Fatalln("error initializing client", err)
}
iidToDelete := "eyJhbGciOiJFUzI1N_iIs5"
if err := client.DeleteInstanceId(ctx, iidToDelete); err != nil {
log.Fatalln("error deleting FID", err)
}
Saat Anda menghapus ID penginstalan Firebase dengan panggilan API server, layanan Firebase memulai proses untuk menghapus data yang terkait dengan ID penginstalan tersebut, berhenti
menerima data baru untuk ID tersebut selama 1-2 hari, lalu memberi tahu aplikasi klien bahwa ID telah dihapus. Hingga Firebase memberi tahu aplikasi klien, beberapa layanan aplikasi mungkin masih menargetkan ID—misalnya, penginstalan Firebase mungkin terus menerima notifikasi FCM selama beberapa jam.
Jika Anda ingin menghapus ID penginstalan Firebase saat ini dan segera menggunakan layanan Firebase dengan ID baru yang tidak terkait, gunakan API klien untuk menangani penghapusan.
Ambil pengidentifikasi klien
Jika Anda memiliki persyaratan untuk mengidentifikasi penginstalan aplikasi tertentu, Anda dapat melakukannya dengan mengambil ID penginstalan Firebase. Misalnya, untuk melakukan pengujian selama pengembangan Firebase In-App Messaging, Anda dapat mengidentifikasi dan menargetkan perangkat pengujian yang benar menggunakan ID penginstalan Firebase-nya.
Untuk mengambil ID
penginstalan Firebase:
Cepat
Installations.installations().installationID { (id, error) in
if let error = error {
print("Error fetching id: \(error)")
return
}
guard let id = id else { return }
print("Installation ID: \(id)")
}
Objective-C
[[FIRInstallations installations] installationIDWithCompletion:^(NSString *identifier, NSError *error) {
if (error != nil) {
NSLog(@"Error fetching Installation ID %@", error);
return;
}
NSLog(@"Installation ID: %@", identifier);
}];
Java
FirebaseInstallations.getInstance().getId()
.addOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(@NonNull Task task) {
if (task.isSuccessful()) {
Log.d("Installations", "Installation ID: " + task.getResult());
} else {
Log.e("Installations", "Unable to get Installation ID");
}
}
});
Kotlin+KTX
FirebaseInstallations.getInstance().id.addOnCompleteListener { task ->
if (task.isSuccessful) {
Log.d("Installations", "Installation ID: " + task.result)
} else {
Log.e("Installations", "Unable to get Installation ID")
}
}
JavaScript
const installationId = await firebase.installations().getId();
console.log(installationId);
Dart
String id = await FirebaseInstallations.instance.getId();
Ambil token autentikasi penginstalan
Layanan Firebase dapat mengautentikasi penginstalan Firebase dengan token autentikasi yang diambil dari FIS. Misalnya, saat mendesain pengujian A/B untuk Remote Config, Anda dapat
mengautentikasi perangkat pengujian yang ditargetkan menggunakan token autentikasi penginstalan.
Token autentikasi penginstalan adalah token pembawa berumur pendek dalam format token web JSON (JWT) yang berisi informasi berikut untuk penginstalan:
- ID penginstalan Firebase
- Proyek terkait (
projectNumber
) - ID aplikasi Firebase yang terkait (
appId
) - Tanggal kedaluwarsa token
Token autentikasi penginstalan tidak dapat dicabut, dan tetap valid
hingga tanggal kedaluwarsanya. Masa pakai token default adalah satu minggu.
Untuk mengambil token autentikasi penginstalan:
Cepat
Installations.installations().authTokenForcingRefresh(true, completion: { (result, error) in
if let error = error {
print("Error fetching token: \(error)")
return
}
guard let result = result else { return }
print("Installation auth token: \(result.authToken)")
})
Objective-C
[[FIRInstallations installations] authTokenForcingRefresh:true
completion:^(FIRInstallationsAuthTokenResult *result, NSError *error) {
if (error != nil) {
NSLog(@"Error fetching Installation token %@", error);
return;
}
NSLog(@"Installation auth token: %@", [result authToken]);
}];
Java
FirebaseInstallations.getInstance().getToken(/* forceRefresh */true)
.addOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(@NonNull Task task) {
if (task.isSuccessful() && task.getResult() != null) {
Log.d("Installations", "Installation auth token: " + task.getResult().getToken());
} else {
Log.e("Installations", "Unable to get Installation auth token");
}
}
});
Kotlin+KTX
FirebaseInstallations.getInstance().getToken(/* forceRefresh */ true)
.addOnCompleteListener { task ->
if (task.isSuccessful) {
Log.d("Installations", "Installation auth token: " + task.result?.token)
} else {
Log.e("Installations", "Unable to get Installation auth token")
}
}
JavaScript
const installationToken = await firebase.installations()
.getToken(/* forceRefresh */ true);
console.log(installationToken);
Dart
String token = await FirebaseInstallations.instance.getToken();
Pantau siklus hidup ID penginstalan Firebase
Selama operasi normal aplikasi, Firebase installation ID
(FID) tidak memerlukan pemantauan khusus. Namun, aplikasi yang secara eksplisit mengambil dan menggunakan FID harus menambahkan logika untuk memantau potensi penghapusan atau rotasi FID. Berikut adalah beberapa kasus di mana FID dapat dihapus atau diputar:
- Mencopot pemasangan atau memasang ulang aplikasi, misalnya saat pengguna akhir memasang di perangkat baru.
- Pengguna akhir mengosongkan cache aplikasi atau perangkat.
- Penghapusan FID dipicu di backend karena
aplikasi tidak aktif (saat ini ambang batas untuk ini adalah 270 hari tidak aktif).
Saat aplikasi mengalami rotasi atau penghapusan FID dalam kasus semacam ini, aplikasi tersebut diberi FID baru. Selain itu, token autentikasi penginstalan yang terkait dengan FID yang dihapus akan dihapus, terlepas dari jatuh temponya sendiri, dan diganti dengan token autentikasi penginstalan baru.
Aplikasi dapat memantau perubahan ini dan meresponsnya.
Untuk memantau rotasi FID:
Cepat
installationIDObserver = NotificationCenter.default.addObserver(
forName: .InstallationIDDidChange,
object: nil,
queue: nil
) { (notification) in
// Fetch new Installation ID
self.fetchInstallationToken()
}
Objective-C
__weak __auto_type weakSelf = self;
self.installationIDObserver = [[NSNotificationCenter defaultCenter]
addObserverForName: FIRInstallationIDDidChangeNotification
object:nil
queue:nil
usingBlock:^(NSNotification * _Nonnull notification) {
// Fetch new Installation ID
[weakSelf fetchInstallationsID];
}];
NSNotification bernama NSNotificationName.InstallationIDDidChange
diposting ke NSNotificationCenter default setiap kali FID baru ditetapkan.
Android
Klien Kotlin dan Java harus menambahkan logika coba lagi untuk merespons panggilan yang gagal untuk mengambil FID baru.
JavaScript
Aplikasi web dapat berlangganan hook onIdChange
.
Setiap kali FID baru dibuat, panggilan balik berlangganan dipicu:
await firebase.installations().onIdChange((newId) => {
console.log(newId);
// TODO: Handle new installation ID.
});
Dart
FirebaseInstallations.instance.onIdChange.listen((token) {
print('FID token: $token');
});
Bermigrasi dari ID Instance ke penginstalan Firebase
Sebelum
pengenalan penginstalan Firebase, Firebase mengandalkan SDK ID Instance untuk pengidentifikasi penginstalan aplikasi. Penginstalan Firebase memberikan keunggulan signifikan dibandingkan ID Instance dalam keandalan, performa, dan keamanan. Aplikasi Firebase yang bergantung pada SDK ID Instance harus bermigrasi ke penginstalan Firebase.
Proses migrasi berbeda berdasarkan aplikasi Anda:
Aplikasi yang tidak secara langsung memanggil API ID Instance dapat bermigrasi dengan
memperbarui versi SDK- nya . Sebagian besar aplikasi Firebase termasuk dalam kategori ini.
Aplikasi yang secara eksplisit membuat panggilan API ke ID Instance harus memperbarui versi SDK dan membuat perubahan kode untuk mengganti metode
ID Instance dengan penginstalan Firebase atau yang setara dengan FCM. Jika aplikasi Anda menggunakan ID Instance untuk mengambil token pendaftaran FCM atau secara eksplisit menggunakan ID Instance untuk menargetkan instance aplikasi atau untuk tujuan lain apa pun, Anda harus memperbarui kode aplikasi.
Saat ini, FIS kompatibel dengan pengidentifikasi lama ID Instance Firebase.
Menghapus IID adalah metode alternatif untuk meminta penghapusan data dengan SDK Firebase ini:
- iOS 6.14.0 dan lebih rendah
- SDK Android lebih awal dari 27 Februari 2020
Ini berarti aplikasi tidak perlu bermigrasi ke penginstalan Firebase; namun, sangat disarankan untuk melakukannya.
Mengupgrade ke versi SDK minimum untuk penginstalan Firebase
Untuk bermigrasi dari ID Instance ke penginstalan Firebase, pastikan aplikasi Anda menggunakan setidaknya nomor versi minimum yang tercantum dari SDK Firebase berikut:
SDK Firebase
| Versi Android minimal
| Versi iOS minimal
|
Perpesanan Cloud Firebase
| v2.3.0
| v6.34.0
|
Konfigurasi Jarak Jauh
| v19.2.0
| v6.24.0
|
Google Analytics for Firebase \ (SDK Pengukuran)
| v17.4.4
| v6.18.0
|
Pesan Dalam Aplikasi
| v19.0.7
| v6.24.0
|
Pemantauan Kinerja
| v19.0.8
| v6.21.0
|
Crashlytics
| v17.2.1
| v6.23.0
|
Paket ML
| v22.1.2
| v6.28.0
|
Memperbarui kode yang secara eksplisit memanggil API ID Instance
Jika aplikasi Android atau Apple Anda secara langsung menggunakan metode SDK ID Instance, Anda dapat mengganti penggunaan tersebut dengan alternatif yang identik di SDK penginstalan Firebase atau SDK FCM.
Mengambil
pengidentifikasi
Metode untuk mendapatkan ID Instance diganti dengan metode untuk mendapatkan ID penginstalan. Sebagai contoh:
Sebelum
Cepat
Messaging.messaging().token { token, error in
if let error = error {
print("Error fetching remote FCM registration token: \(error)")
} else if let token = token {
print("Remote instance ID token: \(token)")
self.remoteFCMTokenMessage.text = "Remote FCM registration token: \(token)"
}
}
Objective-C
[[FIRMessaging messaging] tokenWithCompletion:^(NSString * _Nullable token, NSError * _Nullable error) {
if (error != nil) {
NSLog(@"Error fetching the remote FCM registration token: %@", error);
} else {
NSLog(@"Remote FCM registration token: %@", token);
NSString* message =
[NSString stringWithFormat:@"FCM registration token: %@", token];
self.remoteFCMTokenMessage.text = message;
}
}];
Java
FirebaseInstanceId.getInstance().getInstanceId()
.addOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(@NonNull Task task) {
Log.d("IID_TOKEN", task.getResult().getToken());
}
});
Kotlin+KTX
FirebaseInstanceId.getInstance().instanceId
.addOnSuccessListener { result ->
Log.d("IID_TOKEN", result.token)
}
Setelah
Cepat
Installations.installations().installationID { (id, error) in
if let error = error {
print("Error fetching id: \(error)")
return
}
guard let id = id else { return }
print("Installation ID: \(id)")
}
Objective-C
[[FIRInstallations installations] installationIDWithCompletion:^(NSString *identifier, NSError *error) {
if (error != nil) {
NSLog(@"Error fetching Installation ID %@", error);
return;
}
NSLog(@"Installation ID: %@", identifier);
}];
Java
FirebaseInstallations.getInstance().getId()
.addOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(@NonNull Task task) {
if (task.isSuccessful()) {
Log.d("Installations", "Installation ID: " + task.getResult());
} else {
Log.e("Installations", "Unable to get Installation ID");
}
}
});
Kotlin+KTX
FirebaseInstallations.getInstance().id.addOnCompleteListener { task ->
if (task.isSuccessful) {
Log.d("Installations", "Installation ID: " + task.result)
} else {
Log.e("Installations", "Unable to get Installation ID")
}
}
Menghapus pengidentifikasi
Metode untuk menghapus ID Instance diganti dengan metode untuk menghapus ID penginstalan Firebase. Sebagai contoh:
Sebelum
Cepat
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();
Setelah
Cepat
func delete(completion: @escaping (Error?) -> Void)
Objective-C
- (void)deleteWithCompletion:(nonnull void (^)(NSError *_Nullable))completion;
Java
FirebaseInstallations.getInstance().delete()
.addOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(@NonNull Task task) {
if (task.isSuccessful()) {
Log.d("Installations", "Installation deleted");
} else {
Log.e("Installations", "Unable to delete Installation");
}
}
});
Kotlin+KTX
FirebaseInstallations.getInstance().delete().addOnCompleteListener { task ->
if (task.isComplete) {
Log.d("Installations", "Installation deleted")
} else {
Log.e("Installations", "Unable to delete Installation")
}
}
Mengambil token pendaftaran FCM
Sebelum pengenalan Instalasi Firebase, klien FCM mengambil token pendaftaran dari ID Instance. Sekarang, FCM SDK menyediakan metode untuk mengambil token
pendaftaran.
Sebelum
Java
FirebaseInstanceId.getInstance().getInstanceId()
.addOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(@NonNull Task task) {
if (!task.isSuccessful()) {
Log.w(TAG, "getInstanceId failed", task.getException());
return;
}
// Get new Instance ID token
String token = task.getResult().getToken();
// Log and toast
String msg = getString(R.string.msg_token_fmt, token);
Log.d(TAG, msg);
Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show();
}
});
Kotlin+KTX
FirebaseInstanceId.getInstance().instanceId
.addOnCompleteListener(OnCompleteListener { task ->
if (!task.isSuccessful) {
Log.w(TAG, "getInstanceId failed", task.exception)
return@OnCompleteListener
}
// Get new Instance ID token
val token = task.result?.token
// Log and toast
val msg = getString(R.string.msg_token_fmt, token)
Log.d(TAG, msg)
Toast.makeText(baseContext, msg, Toast.LENGTH_SHORT).show()
})
Cepat
Messaging.messaging().token { token, error in
if let error = error {
print("Error fetching remote FCM registration token: \(error)")
} else if let token = token {
print("Remote instance ID token: \(token)")
self.remoteFCMTokenMessage.text = "Remote FCM registration token: \(token)"
}
}
Objective-C
[[FIRMessaging messaging] tokenWithCompletion:^(NSString * _Nullable token, NSError * _Nullable error) {
if (error != nil) {
NSLog(@"Error fetching the remote FCM registration token: %@", error);
} else {
NSLog(@"Remote FCM registration token: %@", token);
NSString* message =
[NSString stringWithFormat:@"FCM registration token: %@", token];
self.remoteFCMTokenMessage.text = message;
}
}];
Setelah
Java
FirebaseMessaging.getInstance().getToken()
.addOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(@NonNull Task task) {
if (!task.isSuccessful()) {
Log.w(TAG, "Fetching FCM registration token failed", task.getException());
return;
}
// Get new FCM registration token
String token = task.getResult();
// Log and toast
String msg = getString(R.string.msg_token_fmt, token);
Log.d(TAG, msg);
Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show();
}
});
Kotlin+KTX
FirebaseMessaging.getInstance().token.addOnCompleteListener(OnCompleteListener { task ->
if (!task.isSuccessful) {
Log.w(TAG, "Fetching FCM registration token failed", task.exception)
return@OnCompleteListener
}
// Get new FCM registration token
val token = task.result
// Log and toast
val msg = getString(R.string.msg_token_fmt, token)
Log.d(TAG, msg)
Toast.makeText(baseContext, msg, Toast.LENGTH_SHORT).show()
})
Cepat
Messaging.messaging().token { token, error in
if let error = error {
print("Error fetching FCM registration token: \(error)")
} else if let token = token {
print("FCM registration token: \(token)")
self.fcmRegTokenMessage.text = "Remote FCM registration token: \(token)"
}
}
Objective-C
[[FIRMessaging messaging] tokenWithCompletion:^(NSString *token, NSError *error) {
if (error != nil) {
NSLog(@"Error getting FCM registration token: %@", error);
} else {
NSLog(@"FCM registration token: %@", token);
self.fcmRegTokenMessage.text = token;
}
}];