Android Push Notification Example . If you want to know about Android Push Notification Example , then this article is for you. You will find a lot of information about Android Push Notification Example in this article. We hope you find the information useful and informative. You can find more articles on the website.

What is Android?

Android, the widely popular operating system, is the beating heart behind millions of smartphones and tablets globally. Developed by Google, Android is an open-source platform that powers a diverse range of devices, offering users an intuitive and customizable experience. With its user-friendly interface, Android provides easy access to a plethora of applications through the Google Play Store, catering to every need imaginable. From social media and gaming to productivity and entertainment, Android seamlessly integrates into our daily lives, ensuring that the world is at our fingertips. Whether you're a tech enthusiast or a casual user, Android's versatility and accessibility make it a cornerstone of modern mobile technology.

Android Push Notification Example: A Step-by-Step Guide to Implementing Firebase Cloud Messaging (FCM)

Table of Contents:

  1. Introduction
  2. Setting Up Firebase for Push Notifications
    • 2.1 Creating a Firebase Project
    • 2.2 Adding Firebase to Your Android App
  3. Sending Push Notifications Using Firebase Cloud Messaging
  4. Handling Notifications on the Android App
  5. Displaying Notifications in the Notification Tray
  6. Conclusion

1. Introduction

Push notifications are a powerful feature in Android apps, helping you to keep your users engaged even when they are not actively using your app. Whether it's for new updates, messages, reminders, or promotions, push notifications allow you to send timely messages to your users' devices.

In this guide, we'll walk you through the process of implementing push notifications in your Android app using Firebase Cloud Messaging (FCM). We’ll cover everything from setting up Firebase to sending notifications and handling them on the app side.


2. Setting Up Firebase for Push Notifications

To get started, Firebase Cloud Messaging (FCM) is the service provided by Firebase for sending push notifications. Before we dive into code, let’s first set up Firebase for your Android project.

2.1 Creating a Firebase Project

  1. Go to the Firebase Console.
  2. Click Add Project to create a new project.
  3. Follow the prompts to set up your project. You’ll need to accept the terms and conditions and select a billing account (for some Firebase features).
  4. Once the project is created, you’ll be directed to your project dashboard.

2.2 Adding Firebase to Your Android App

To integrate Firebase with your Android app, follow these steps:

  1. In the Firebase Console, click Add App and choose the Android platform.
  2. Enter your app’s package name (you can find this in the AndroidManifest.xml file).
  3. Download the google-services.json file and add it to the app directory of your Android project.
  4. In your build.gradle (project-level) file, ensure you have the classpath for Firebase services:
    buildscript {
        repositories {
            google()  // Required for Firebase
            mavenCentral()
        }
        dependencies {
            classpath 'com.google.gms:google-services:4.3.15'  // Add this line
        }
    }
    
  5. In your build.gradle (app-level) file, add the Firebase dependencies:
    dependencies {
        implementation 'com.google.firebase:firebase-messaging:23.0.0'  // FCM dependency
    }
    
  6. Sync your project with Gradle.

3. Sending Push Notifications Using Firebase Cloud Messaging

Now that Firebase is set up, let’s look at how to send push notifications.

Step 1: Obtain Server Key

  1. Go to the Firebase Console.
  2. Select your project and navigate to Project Settings > Cloud Messaging.
  3. Copy your Server Key — this key will be used to send notifications from your server to Firebase.

Step 2: Sending a Push Notification Using cURL

To send a push notification to a user, you can use Firebase’s HTTP API. Here's a simple example using cURL:

curl -X POST --header "Authorization: key=YOUR_SERVER_KEY" \
--Header "Content-Type: application/json" \
-d "{
    \"to\": \"USER_DEVICE_TOKEN\",
    \"notification\": {
        \"title\": \"Hello User!\",
        \"body\": \"You have a new message.\"
    }
}" "https://fcm.googleapis.com/fcm/send"
  • Replace YOUR_SERVER_KEY with the key you copied from Firebase.
  • Replace USER_DEVICE_TOKEN with the device token of the user who should receive the notification.

This sends a simple notification with a title and body. You can add additional data or customize the message further.


4. Handling Notifications on the Android App

Now let’s handle incoming push notifications on the Android side. We will create a service that listens for notifications and processes them when they arrive.

Step 1: Create a Firebase Messaging Service

Create a new Java class MyFirebaseMessagingService.java to extend FirebaseMessagingService.

import com.google.firebase.messaging.FirebaseMessagingService;
import com.google.firebase.messaging.RemoteMessage;
import android.util.Log;

public class MyFirebaseMessagingService extends FirebaseMessagingService {

    @Override
    public void onMessageReceived(RemoteMessage remoteMessage) {
        // Handle the received message
        if (remoteMessage.getNotification() != null) {
            String title = remoteMessage.getNotification().getTitle();
            String body = remoteMessage.getNotification().getBody();

            Log.d("FCM", "Message Notification Title: " + title);
            Log.d("FCM", "Message Notification Body: " + body);
            
            // Call method to display notification
            showNotification(title, body);
        }
    }

    private void showNotification(String title, String body) {
        // Code to display notification in the notification tray
    }
}

Step 2: Register the Service in AndroidManifest.xml

Add your custom service to the AndroidManifest file:

<service
    android:name=".MyFirebaseMessagingService"
    android:permission="com.google.android.c2dm.permission.SEND">
    <intent-filter>
        <action android:name="com.google.firebase.MESSAGING_EVENT" />
    </intent-filter>
</service>

This registers your service to receive push notifications.


5. Displaying Notifications in the Notification Tray

Next, we’ll handle how the push notifications are displayed to the user. To display the notification in the notification tray, you’ll use Android’s NotificationManager.

Add the following code inside the showNotification() method in your MyFirebaseMessagingService:

import android.app.Notification;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.content.Context;
import android.os.Build;

public void showNotification(String title, String body) {
    NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
    
    // Create Notification Channel for Android O and above
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        NotificationChannel channel = new NotificationChannel(
            "default_channel_id", 
            "Default Channel", 
            NotificationManager.IMPORTANCE_DEFAULT
        );
        notificationManager.createNotificationChannel(channel);
    }

    // Build the notification
    Notification notification = new Notification.Builder(this, "default_channel_id")
        .setContentTitle(title)
        .setContentText(body)
        .setSmallIcon(R.drawable.ic_notification)
        .setAutoCancel(true)
        .build();

    // Show the notification
    notificationManager.notify(0, notification);
}
  • Replace R.drawable.ic_notification with your app’s icon resource for the notification.
  • setAutoCancel(true) makes the notification disappear once clicked.

6. Conclusion

Congratulations! You’ve now successfully implemented push notifications in your Android app using Firebase Cloud Messaging (FCM). Push notifications are a great way to keep your users engaged with your app, even when they’re not actively using it.

To recap:

  1. Set up Firebase in your Android app.
  2. Obtain a Server Key from Firebase to send notifications.
  3. Create a service (FirebaseMessagingService) to receive and handle push notifications.
  4. Display the notifications using Android’s NotificationManager.

By following these steps, you can now send timely and targeted notifications to your app users, helping to enhance user experience and engagement.