Skip to content

Android Notifications

After completing Firebase Setup, configure your Android app to receive and display Crisp push notifications.

Declare the Notification Service

You need to declare a FirebaseMessagingService in your AndroidManifest.xml to handle incoming Crisp notifications. The plugin provides two options:

Option A: Auto-Open ChatActivity

Use Crisp's built-in service. When the user taps a notification, the Crisp ChatActivity opens automatically.

xml
<!-- android/app/src/main/AndroidManifest.xml -->
<application>
    <!-- ... other declarations ... -->

    <service
        android:name="im.crisp.client.external.notification.CrispNotificationService"
        android:exported="false">
        <intent-filter>
            <action android:name="com.google.firebase.MESSAGING_EVENT" />
        </intent-filter>
    </service>
</application>

Behavior: Notification tap → MainActivity launches → ChatActivity opens automatically.

Use the plugin's custom service. When the user taps a notification, your app opens first — you decide when to show the chatbox.

xml
<!-- android/app/src/main/AndroidManifest.xml -->
<application>
    <!-- ... other declarations ... -->

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

Behavior: Notification tap → MainActivity launches → Your app UI shows → You call openChatboxFromNotification() when ready.

See Notification Handling for the Flutter code to handle Option B.

Which Option Should I Choose?

  • Option A is simpler — zero Flutter code needed for notification handling
  • Option B gives you control — useful if you want to show your app's home screen first, or run logic before opening the chat

Customize Notifications

Icon and Color

Customize the notification icon and color in AndroidManifest.xml:

xml
<application>
    <meta-data
        android:name="com.google.firebase.messaging.default_notification_icon"
        android:resource="@drawable/my_notification_icon"
        tools:replace="android:resource" />
    <meta-data
        android:name="com.google.firebase.messaging.default_notification_color"
        android:resource="@color/my_notification_color"
        tools:replace="android:resource" />
</application>

Sound

Add a raw audio resource named crisp_chat_message_receive to your app. This sound will play when a Crisp notification is received:

android/app/src/main/res/raw/crisp_chat_message_receive.mp3

Next Steps