Mengirim Notifikasi Menggunakan Firebase Cloud Messaging


Assalamualaikum Warahmatullahi Wabarakatuh.

Firebase Cloud Messaging atau disingkat FCM adalah platform yang memungkinkan kita mengirim pesan notifikasi pada perangkat klien dengan cepat, FCM memudahkan para developer ataupun pengguna untuk mengirimpan informasi, misalnya untuk memberitahukan update terbaru atau untuk aplikasi semacam Messenger yang memberitahukan ada pesan masuk. dsb.


Selain gratis, dengan FCM, kita dapat mengirim pesan notifikasi pada semua device yang menggunakan aplikasi kita secara langsung atau hanya beberapa device saja yang terpilih, itu merupakan salah satu kelebihan yang dimiliki FCM.

Materi lainnya yang direkomendasikan:

Sebenarnya masih banyak lagi kemampuan yang dimiliki oleh FCM, Pada tutorial ini kita akan belajar dari dasar dalam penggunaan FCM, yaitu mengirim pesan singkat pada klien yang menggunakan aplikasi kita. untuk itu mari kita simak tutorial berikut ini.

Mengirim Notifikasi Menggunakan Firebase Cloud Messaging

1) Pertama-tama, kita harus menambahkan Firebase kedalam Project Aplikasi,Untuk Tutorialnya kalian bisa lihat Disini

2) Selanjutnya buka file build.gradle (module:app), tambahkan library FCM berikut ini kedalam dependencies.
dependencies {
     compile 'com.google.firebase:firebase-messaging:11.6.2'
}
3) Karena Firebase memerlukan koneksi Internet, maka dari itu kita perlu menambahkan permission, untuk mengijinkan aplikasi membuka socket jaringan. Buka AndroidManifest.xml, lalu tambahkan permission berikut ini.
<uses-permission android:name="android.permission.INTERNET" />
4) Selanjutnya buka FIrebase konsol, pada dashboard firebase, buka menu Notification, lalu klik tombol, "KirimPesan Pertama Anda". seperti pada gambar berikut ini.

Pesan akan terkirim saat aplikasi berada di belakang layar, jadi saya sarankan buka aplikasi tersebut di perangkat android kalian, lalu tutup/simpan dibelakang layar dengan menekan tombol home.

5) Pada bagian Text Pesan, kalian dapat menuliskan pesan yang akan dikirim, disana kita memilih Target Segmen pengguna, yang artinya pesan akan terkirim pada semua perangkat yang menggunakan aplikasi kita.

Lalu pilih aplikasi untuk target penggunanya, sebelum mengirim pesan, kalian juga dapat memilih opsi lanjutan, untuk menambahkan beberapa atribut pesan, misalnya Judul (nama pengirim). Jika sudah, klik Kirim Pesan.


6) Jangan lupa, aplikasi harus berada dibelakang layar, jika berhasil, maka akan muncul pesan notifikasi seperti ini.


Mengirim Pesan ke Perangkat Spesifik

Pada contoh sebelumnya, kita sudah belajar bagaimana cara mengirim pesan dengan FCM, pada semua perangkat yang menggunakan aplikasi kita, tapi bagaimana jika kita ingin mengirim pesan tersebut pada perangkat tertentu saja.

1) Pertama buka Firebase konsol kalian, seperti sebelumnya, pada Notification, Buat Pesan Baru.

2) Pada bagian target, pilih Satu Perangkat. disini kalian diharuskan untuk mengisi Token pendaftaran FCM, yang digunakan untuk menentukan perangkat yang akan dipilih.


3) Untuk mendapatkan dan mengakses Token Pendaftaran perangkat, pertama kita harus membuat sebuah class yang mengekstends FirebaseInstanceIdService.

4) Buat class baru, berinama, misalnya "MyFirebaseInstanceIdService", pada class tersebut masukan source code berikut ini.
package cianjur.developer.net.firebaseexample;

import android.util.Log;

import com.google.firebase.iid.FirebaseInstanceId;
import com.google.firebase.iid.FirebaseInstanceIdService;

public class MyFirebaseInstanceIdService extends FirebaseInstanceIdService {

    final String TAG = MyFirebaseInstanceIdService.class.getSimpleName();

    @Override
    public void onTokenRefresh() {
        //Mendapatkan Instance dan Memperoleh Token
        String refreshedToken = FirebaseInstanceId.getInstance().getToken();

        //Menampilkan Token pada Log
        Log.d(TAG, "Token Saya : "+ refreshedToken);

        //Method berikut ini digunakan untuk memperoleh token dan mennyimpannya ke server aplikasi
        sendRegistrationToServer(refreshedToken);
    }

    private void sendRegistrationToServer(String refreshedToken) {
        //Disini kita biarkan kosong saja
    }
}
Disana kita menggunakan method onTokenRefresh() yang di warisi dari class FirebaseInstanceIdService, method tersebut akan aktif ketika token baru dibuat, perlu kalian ingat, Token baru akan didapat ketika aplikasi pertama kali dibuat atau terinstall pada perangkat android. Jadi hanya akan muncul satu kali.

Untuk itu kita menggunakan Log, untuk menampilkan Token sudah kita terima, jadi saya sarankan kalian untuk mentimpan token tersebut kedalam database atau server.

Token pendaftaran dapat berubah jika:
  • Aplikasi menghapus ID Instance
  • Aplikasi diaktifkan kembali di perangkat baru
  • Pengguna melakukan uninstal/instal ulang aplikasi
  • Pengguna menghapus data aplikasi.

5) Selanjutnya buka File AndroidManifest.xml pada project kalian, disini kita perlu mendaftarkan class MyFirebaseInstanceIdService, untuk menangani pembuatan, rotasi, dan update token pendaftaran.

Didalam Tag <application>, masukan baris kode berikut ini.
<service
    android:name=".MyFirebaseInstanceIdService">
    <intent-filter>
        <action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
    </intent-filter>
</service>
6) Jalankan project tersebut, menggunakan Emulator atau Perangkat android, jangan lupa untuk membuka Logcat, ,maka akan muncul Token ID dari FCM.


7) Salin Token ID tersebut, lalu tempelkan pada Firebase Konsol Notification, dengan begitu pesan yang kalian buat hanya akan terkirim pada perangkat dengan Token ID itu saja.

Terimakasih atas kunjungannya, semoga tutorial yang saya berikan bisa bermanfaat untuk kalian semua, selebihnya, mohon maaf bila ada kesalahan.

Wassalamualaikum Warahmatullahi Wabarakatuh.

Wildan M Athoillah
Wildan M Athoillah Blogger dan spesialis pembuat aplikasi android.