Swiftorial Logo
Home
Swift Lessons
Matchups
CodeSnaps
Tutorials
Career
Resources

Push Notifications - Android Development

Introduction to Push Notifications

Push notifications are messages that pop up on a user’s device. App publishers can send them at any time; users don’t have to be in the app or using their devices to receive them. Push notifications can be used for a variety of purposes such as displaying information, reminders, or alerts directly to the user.

Enabling Push Notifications

To enable push notifications in an Android app, you'll need to integrate a push notification service. Firebase Cloud Messaging (FCM) is a popular choice for this purpose. Follow these steps to enable push notifications in your Android app using FCM:

Step 1: Set Up Firebase

First, you need to set up a Firebase project:

  • Go to the Firebase Console.
  • Click on "Add project" and follow the on-screen instructions to create a new project.

Adding Firebase to Your Android Project

Step 2: Add Firebase SDK

To add Firebase to your Android project, follow these steps:

  • In the Firebase console, click on "Add app" and select "Android".
  • Register your app with the package name and download the google-services.json file.
  • Move the google-services.json file to the app directory of your project.

Next, add the following dependencies to your build.gradle files:

Project-level build.gradle:

// Add this line under dependencies
classpath 'com.google.gms:google-services:4.3.10'

App-level build.gradle:

// Add these lines under dependencies
implementation platform('com.google.firebase:firebase-bom:28.4.1')
implementation 'com.google.firebase:firebase-messaging'

Add the following line at the bottom of the app-level build.gradle:

apply plugin: 'com.google.gms.google-services'

Implementing Push Notifications

Step 3: Create a Service to Handle Push Notifications

To handle push notifications, create a service by extending FirebaseMessagingService. Override the onMessageReceived method to handle incoming messages:

public class MyFirebaseMessagingService extends FirebaseMessagingService {
    @Override
    public void onMessageReceived(RemoteMessage remoteMessage) {
        // Handle FCM messages here.
        if (remoteMessage.getNotification() != null) {
            showNotification(remoteMessage.getNotification().getBody());
        }
    }

    private void showNotification(String messageBody) {
        NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this, "default_channel_id")
                .setContentTitle("FCM Message")
                .setContentText(messageBody)
                .setPriority(NotificationCompat.PRIORITY_DEFAULT);

        NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this);
        notificationManager.notify(0, notificationBuilder.build());
    }
}

Step 4: Register the Service in the Manifest

Register the service in your AndroidManifest.xml file:

<service
    android:name=".MyFirebaseMessagingService"
    android:exported="false">
    <intent-filter>
        <action android:name="com.google.firebase.MESSAGING_EVENT"/>
    </intent-filter>
</service>

Testing Push Notifications

To test push notifications, you can use the Firebase console:

  • Go to the Firebase console and select your project.
  • Navigate to "Cloud Messaging" in the left-hand menu.
  • Click on "Send your first message".
  • Fill in the notification details and click "Send".

Conclusion

By following this tutorial, you have successfully integrated and implemented push notifications in your Android app using Firebase Cloud Messaging. Push notifications are a powerful tool to keep users engaged and informed about important updates and features in your app.