Membuat Notifikasi Push Dengan Firebase Cloud Messaging Di Android

Diposting oleh Chandra pada Android & Db

Notifikasi push adalah salah satu fitur yang paling penting dalam aplikasi mobile modern. Notifikasi push memungkinkan aplikasi untuk mengirimkan pesan kepada pengguna bahkan ketika aplikasi tidak sedang berjalan. Dalam artikel ini, kami akan membahas cara membuat notifikasi push dengan Firebase Cloud Messaging (FCM) di Android.

Apa itu Firebase Cloud Messaging?

Firebase Cloud Messaging (FCM) adalah layanan notifikasi push yang disediakan oleh Google untuk aplikasi mobile. FCM memungkinkan pengembang untuk mengirimkan notifikasi push ke aplikasi mobile dengan mudah dan gratis. FCM juga memungkinkan pengembang untuk mengustomisasi notifikasi dengan menambahkan judul, pesan, gambar, dan lain-lain.

Keuntungan Menggunakan FCM

Berikut adalah beberapa keuntungan menggunakan FCM:

  • Gratis: FCM adalah layanan gratis yang disediakan oleh Google.
  • Mudah digunakan: FCM memiliki API yang sederhana dan mudah digunakan.
  • Fleksibel: FCM memungkinkan pengembang untuk mengustomisasi notifikasi dengan menambahkan judul, pesan, gambar, dan lain-lain.
  • Terintegrasi dengan Firebase: FCM dapat terintegrasi dengan layanan Firebase lainnya seperti Firebase Auth, Firebase Realtime Database, dan lain-lain.
  • Membuat Notifikasi Push dengan Firebase Cloud Messaging di Android

Membuat Proyek FCM di Android Studio

Berikut adalah langkah-langkah untuk membuat proyek FCM di Android Studio:

  1. Buka Android Studio dan pilih "Start a new Android Studio project".
  2. Membuat Notifikasi Push dengan Firebase Cloud Messaging di Android

  3. Pilih "Empty Activity" dan klik "Next".
  4. Beri nama proyek Anda dan klik "Finish".
  5. Tambahkan dependensi FCM ke file build.gradle (Module: app):
    dependencies 
    implementation 'com.google.firebase:firebase-messaging:22.0.1'Membuat Notifikasi Push dengan Firebase Cloud Messaging di Android
    
  6. Tambahkan konfigurasi FCM ke file AndroidManifest.xml:
    <application>
    ...
    <meta-data
        android:name="com.google.firebase.messaging.default_notification_icon"
        android:resource="@drawable/ic_notification" />
    <meta-data
        android:name="com.google.firebase.messaging.default_notification_color"
        android:resource="@color/colorAccent" />
    ...
    </application>

    Mendaftarkan Aplikasi ke FCM

Berikut adalah langkah-langkah untuk mendaftarkan aplikasi ke FCM:

  1. Buka Konsol Firebase dan pilih proyek Anda.
  2. Klik "Add Firebase to your Android app" dan ikuti instruksi.
  3. Tambahkan konfigurasi FCM ke file AndroidManifest.xml:
    <application>
    ...
    <meta-data
        android:name="com.google.firebase.messaging.default_notification_icon"
        android:resource="@drawable/ic_notification" />
    <meta-data
        android:name="com.google.firebase.messaging.default_notification_color"
        android:resource="@color/colorAccent" />
    ...
    </application>

    Membuat Notifikasi Push

Berikut adalah langkah-langkah untuk membuat notifikasi push:

  1. Tambahkan kode berikut ke file MainActivity.java:
    
    import android.os.Bundle;
    import android.util.Log;
    import android.view.View;
    import android.widget.Button;

import androidx.appcompat.app.AppCompatActivity;

import com.google.firebase.messaging.FirebaseMessaging;

public class MainActivity extends AppCompatActivity

private Button button;

@Override
protected void onCreate(Bundle savedInstanceState) 
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    button = findViewById(R.id.button);

    button.setOnClickListener(new View.OnClickListener() 
        @Override
        public void onClick(View v) 
            FirebaseMessaging.getInstance().subscribeToTopic("topicName");
            Log.d("TAG", "Berhasil subscribe ke topic");
        
    );

2. Tambahkan kode berikut ke file MyFirebaseMessagingService.java:
```java
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.media.RingtoneManager;
import android.net.Uri;
import android.os.Build;
import android.util.Log;

import androidx.core.app.NotificationCompat;

import com.google.firebase.messaging.FirebaseMessagingService;
import com.google.firebase.messaging.RemoteMessage;

public class MyFirebaseMessagingService extends FirebaseMessagingService 

    @Override
    public void onMessageReceived(RemoteMessage remoteMessage) 
        Log.d("TAG", "Menerima notifikasi push: " + remoteMessage.getNotification().getTitle());
        Log.d("TAG", "Menerima notifikasi push: " + remoteMessage.getNotification().getMessage());

        sendNotification(remoteMessage.getNotification().getTitle(), remoteMessage.getNotification().getMessage());
    

    private void sendNotification(String title, String message) 
        Intent intent = new Intent(this, MainActivity.class);
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_ONE_SHOT);

        Uri defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
        NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this, "channel_id");
        notificationBuilder.setSmallIcon(R.drawable.ic_notification);
        notificationBuilder.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.ic_notification));
        notificationBuilder.setContentTitle(title);
        notificationBuilder.setContentText(message);
        notificationBuilder.setAutoCancel(true);
        notificationBuilder.setSound(defaultSoundUri);
        notificationBuilder.setContentIntent(pendingIntent);

        NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) 
            String channelId = "channel_id";
            NotificationChannel channel = new NotificationChannel(channelId, "Channel Name", NotificationManager.IMPORTANCE_HIGH);
            notificationManager.createNotificationChannel(channel);
            notificationBuilder.setChannelId(channelId);
        

        notificationManager.notify(0, notificationBuilder.build());
    

Mengirimkan Notifikasi Push

Berikut adalah langkah-langkah untuk mengirimkan notifikasi push:

  1. Buka Konsol Firebase dan pilih proyek Anda.
  2. Klik "Cloud Messaging" dan pilih "New notification".
  3. Isi formulir yang tersedia, seperti judul, pesan, dan topik.
  4. Klik "Send" untuk mengirimkan notifikasi push.

Kesimpulan

Dalam artikel ini, kami telah membahas cara membuat notifikasi push dengan Firebase Cloud Messaging (FCM) di Android. FCM adalah layanan notifikasi push yang disediakan oleh Google untuk aplikasi mobile. Dengan FCM, pengembang dapat mengirimkan notifikasi push ke aplikasi mobile dengan mudah dan gratis. Kami juga telah menunjukkan contoh kode untuk membuat notifikasi push dan mengirimkan notifikasi push menggunakan Konsol Firebase. Dengan menggunakan FCM, pengembang dapat meningkatkan pengalaman pengguna dan membuat aplikasi mobile lebih menarik.

Membuat Notifikasi Push dengan Firebase Cloud Messaging di Android

Video tentang Membuat Notifikasi Push dengan Firebase Cloud Messaging di Android