[Android] Apa itu Firebase ?

Firebase

Firebase adalah BaaS (Backend as a Service) yang saat ini dimiliki oleh Google. Firebase ini merupakan solusi yang ditawarkan oleh Google untuk mempermudah pekerjaan Mobile Apps Developer. Dengan adanya Firebase, apps developer bisa fokus mengembangkan aplikasi tanpa harus memberikan effort yang besar untuk urusan backend. So it’s awesome right 🙂

Beberapa fitur yang dimiliki oleh Firebase adalah sebagai berikut :

1. Firebase Analytics.
2. Firebase Cloud Messaging dan Notifications.
3. Firebase Authentication.
4. Firebase Remote Config.
5. Firebase Real Time Database.
6. Firebase Crash Reporting.

Dua fitur yang menarik adalah Firebase Remote Config dan Firebase Real Time Database. Secara sederhananya, Remote Config adalah fitur yang memungkinkan developer mengganti / mengubah beberapa konfigurasi aplikasi Android / iOS tanpa harus memberikan update aplikasi via Play Store / App Store. Salah satu konfigurasi yang bisa dimanipulasi adalah seperti warna / tema aplikasi.

Sedangkan Firebase Real Time Database adalah fitur yang memberikan sebuah NoSQL database yang bisa diakses secara Real Time oleh pengguna aplikasi. Dan hebatnya adalah aplikasi bisa menyimpan data secara lokal ketika tidak ada akses internet, kemudian melakukan sync data segera setelah mendapatkan akses internet.

Nah disini kita akan membahas fitur-fitur yang disebutkan di atas, untuk mengenal lebih dalam mengenai Firebase.

1. Firebase Analytics

Analytics

Document | Video : www.youtube.com/watch?v=iT6EaIwtonY

Sebenarnya Analytics dari Firebase tidak jauh berbeda dengan Analytics yang digunakan oleh Google Analytics. Hanya saja Firebase menyediakan dashboard yang dirasa lebih sederhana dibandingkan dashboard yang digunakan oleh Google Analytics.

Firebase menawarkan fitur Analytics untuk keperluan koleksi data dan reporting untuk aplikasi Android / iOS. Koleksi data yang bisa digunakan pun bervariasi. Beberapa contohnya adalah kita bisa membuat report untuk pengguna aplikasi di negara Indonesia saja, atau negara Jepang saja, dll.

Selain itu kita bisa melihat fungsi / bagian mana dari aplikasi kita yang paling sering digunakan oleh user. Salah satu hal yang paling menarik dari Analytics ini adalah kita bisa membuat segmentasi user berdasarkan ‘user attribute’. User attribute ini adalah parameter yang bisa kita gunakan sebagai filter untuk reporting dan notifikasi. Contoh sederhananya diibaratkan untuk aplikasi online shop. Dengan ‘user attribute’, kita bisa mencari tahu berapa jumlah user yang membeli handphone dengan merk ‘A’, atau berapa jumlah user yang membeli sepeda. Atau kita bahkan bisa mencari tahu pada jam berapa paling banyak terjadi transaksi yang dilakukan user.

Nah dengan data-data ini kita juga bisa memberikan notifikasi kepada segmentasi user yang kita inginkan, contohnya kita hanya ingin mengirimkan notifikasi untuk user yang telah membeli handphone dengan merk ‘A’. Selain itu masih ada banyak fitur-fitur dari Analytics yang ditawarkan oleh Firebase.

2. Firebase Cloud Messaging dan Notifications.

FCM

Document | Video : www.youtube.com/watch?v=sioEY4tWmLI

Firebase Cloud Messaging / FCM, adalah layanan yang diberikan oleh Firebase untuk menggantikan Google Cloud Messaging (GCM). Pihak Google menyarankan untuk aplikasi yang masih menggunakan GCM untuk segera migrasi ke FCM.

Fitur-fitur yang diberikan oleh GCM sebenarnya tidak terlalu jauh berbeda dengan GCM. Dengan FCM kita bisa memberikan push notification dan membuat komunikasi dua arah antara device. Teknologi yang digunakan terbagi menjadi dua :

  • XMPP (Extensible Messaging and Presence Protocol)
  • HTTP (Hypertext Transfer Protocol).

Untuk XMPP kita harus membangun server XMPP terlebih dahulu, sedangkan untuk HTTP kita bisa menggunakan console yang disediakan oleh Firebase. Kita juga bisa mengatur push notification yang ingin kita kirim, contohnya kita hanya ingin mengirimkan notifikasi kepada segmentasi user / audience yang membeli handphone dengan merk ‘A’. Atau kita ingin mengirimkan notifikasi hanya kepada user yang menggunakan aplikasi dengan versi 1.0. Selain itu ada juga fitur untuk mengirimkan notifikasi berdasarkan ‘topic’. Fitur ini mirip dengan ‘user attribute’, tetapi dengan ‘topic’, user bisa melakukan kegiatan ‘subscribe’ dan ‘unsubscribe’.

3. Firebase Authentication

Auth

Document | Video : www.youtube.com/watch?v=8sGY55yxicA

Firebase authentication adalah layanan yang diberikan oleh Firebase untuk fungsi user membership. Fitur-fitur yang diberikan adalah register / login dengan beberapa metode :
– Alamat email dan password.
– Akun Google.
– Akun Facebook.
– Akun Twitter.
– Akun GitHub.
– Akun Anonymous.

Fitur yang menarik adalah fitur login dengan akun anonymous. Contohnya adalah user bisa melakukan login secara sementara ketika melihat-lihat barang di aplikasi online shop kita. Nah ketika user ingin melakukan pembelian, maka user tersebut diharuskan untuk login dengan salah satu metode yang didukung Firebase (email-password, Google, Facebook, Twitter, GitHub). Setelah user tersebut login, kita bisa mengumpulkan data-data yang dilihat oleh user tersebut ketika masih menggunakan akun anonymous, kemudian menggabungkannya dengan user yang sekarang telah login dengan salah satu metode login yang dipilih.

Salah satu tujuan penggunaan akun anonymous adalah supaya kita tidak perlu memaksa user untuk login, sebelum user tersebut ingin melakukan transaksi.

4. Firebase Remote Config.

Remote Config

Document | Video : www.youtube.com/watch?v=_CXXVFPO6f0

Remote Config adalah fitur yang memungkinkan kita untuk melakukan perubahan konfigurasi di dalam aplikasi Android / iOS, tanpa harus melakukan update aplikasi di Play Store / App Store. Salah satu contohnya adalah ketika hari Natal, kita bisa mengganti tema aplikasi dengan warna merah-putih. Atau ketika hari tahun baru, kita bisa mengganti tema aplikasi dengan warna hijau-silver, dll.

Cara kerja dari Remote Config adalah aplikasi menyimpan terlebih dahulu file XML yang berisi parameter-parameter yang nilainya akan bisa diganti melalui console Firebase. Kemudian objek firebase di dalam aplikasi akan melakukan request data dari server, kemudian me’load data-data tersebut. Secara default, objek firebase di dalam aplikasi akan melakukan request 12 jam / 1x, tetapi kita bisa mengubahnya bila kita inginkan.

Salah satu catatan dari Google adalah kita tidak boleh menggunakan Remote Config untuk melakukan perubahan yang krusial, seperti mengubah permission yang dibutuhkan oleh aplikasi.

5. Firebase Real Time Database.

Real Time Database

Document | Video : www.youtube.com/watch?v=U5aeM5dvUpA

Real Time Database adalah sebuah NoSQL database yang disediakan oleh Firebase. NoSQL database adalah database yang tidak menggunakan sistem relasi layaknya pada database tradisional (MySQL dll.). Metode penyimpanan data di dalam NoSQL menggunakan objek yang menggunakan format JSON (JavaScript Object Notation).

Firebase memungkinkan kita untuk menggunakan NoSQL database yang di’share kepada semua user, dan ketika terjadi perubahan data pada database tersebut, user akan segera mendapatkan update data secara real time. Tetapi bukan berarti database ini tidak mempunyai unsur keamanan, karena kita bisa mengatur hak akses yang berbeda untuk setiap user.

Salah satu fitur yang menarik adalah aplikasi bisa menyimpan data secara lokal ketika tidak ada koneksi internet, kemudian melakukan sync data segera setelah mendapatkan kembali koneksi internet. Real Time database ini sepertinya cocok untuk aplikasi instant messaging.

6. Firebase Crash Reporting

Crash Reporting

Document | Video : www.youtube.com/watch?v=B7mlLVAkcfU

Crash Reporting adalah layanan yang diberikan oleh Firebase untuk keperluan merekam setiap exception yang terjadi pada aplikasi. Report yang diberikan cukup detail dengan beberapa filter seperti yang digunakan pada Analytics. Crash reporting ini juga dibagi menjadi dua bagian :
– Non Fatal exception, untuk exception yang tidak berdampak fatal (kita bisa membuat custom exception).
– Fatal exception, untuk exception yang fatal (aplikasi crash).

And that’s it kira-kira pengenalan beberapa fitur pada Firebase. Sebenarnya masih ada beberapa fitur lain yang belum dibahas di postingan kali ini, seperti Firebase App Indexing untuk men’indeks aplikasi kita pada pencarian Google. Dan Firebase Dynamic Links untuk membuat link untuk aplikasi kita, dan dengan link tersebut user akan bisa langsung masuk ke bagian yang dituju oleh link tersebut (tanpa harus masuk ke halaman awal aplikasi). Well mungkin di lain kesempatan akan dibahas mengenai dua fitur tersebut hehehe.

Thanks for reading 🙂


Posted

in

by

Tags:

Comments

19 tanggapan untuk “[Android] Apa itu Firebase ?”

  1. eleaina Avatar

    I hope firebase can change my future
    bcoz i use this for my work project and school

    Suka

  2. Achmad Nuryasin Avatar

    keren sekali boss, sangat enak di fahami

    Suka

    1. boni octavianus Avatar

      Terimakasih atas kunjungannya 🙂

      Suka

  3. Kitab Kuning Avatar

    wah bahasanya belum menjangkau akal saya …kalo di beri source kode satu2 pada penerapanya pirebase …mungkin saya bisa bisa oprex oprex he he…suwun agan penjabaranya

    Suka

    1. boni octavianus Avatar

      Terimakasih atas kunjungannya 🙂

      Suka

  4. Dedy Yasriady Avatar

    Uraiannya sangat nyaman dan mudah dipahami ….. terima kasih telah berbagi ilmu …. semoga berkah selalu …

    Suka

    1. boni octavianus Avatar

      Terima kasih atas kunjungannya 🙂

      Suka

  5. Stevany Melinda Avatar

    Sebelumnya boleh nanya ga..firebase itu pengganti database ya??
    Jadi pas buat aplikasi android di android studio tanpa buat back end website pakai firebase aja bisa jdi databasenya??
    Terima kasih..

    Suka

    1. boni octavianus Avatar

      Terimakasih sudah berkunjung 🙂

      Yup, salah satu kegunaan dari firebase yaitu sebagai backend untuk aplikasi mobile.. untuk database kita bisa menggunakan firebase realtime database, tapi database yg digunakan dalam bentuk NoSQL.. database ini juga bisa diakses dengan menggunakan REST 🙂

      Suka

  6. Apa itu Firebase?? – MR . R.O.B.O.T Avatar

    […] Sumber : coolnetkid.wordpress.com […]

    Suka

  7. junabinrusdi Avatar
    junabinrusdi

    sangat informatif, terimakasih banyak telah share, semoga sukses selalu

    Suka

    1. boni octavianus Avatar

      terimakasih untuk kunjungannya 🙂

      Suka

  8. om rudi Avatar

    sangat lengkap pembahsannya sob…
    thanks segala informasi yg diberikan..

    Suka

    1. boni octavianus Avatar

      Terima kasih sudah berkunjung 🙂

      Suka

  9. Kama Costik Avatar

    thanks informasinya

    Suka

Tinggalkan komentar

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.