Search packages, repositories and app categories

app_badge_plus cover
Package detailsv1.3.5

app_badge_plus

A Flutter plugin for adding badges to your app icon. Supports iOS, Android, and macOS.

AndroidiOSmacOS
30-day downloads
351K
Likes
171
Pub points
160

Install package

flutter pub add app_badge_plus

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

AppBadgePlus is a Flutter plugin that enables developers to display badges on their app's icon across Android, iOS, and macOS platforms. It provides a simple API to update badge counts dynamically, useful for notifications, messages, or task indicators. The plugin integrates seamlessly with existing Flutter apps and supports both integer and custom badge labels. Designed for cross-platform consistency, it ensures badge visibility where supported by each operating system. Ideal for apps requiring real-time status updates directly on the home screen icon.

Use cases

  • Displaying unread message counts
  • Showing pending task notifications
  • Indicating new content availability
  • Updating app icon badges in real time
  • Enhancing user engagement through visual cues

Key features

  • Cross-platform support (Android, iOS, macOS)
  • Simple API for badge updates
  • Support for integer and custom badge labels
  • Real-time badge rendering
  • Minimal setup and integration

Suitable for

  • Messaging and chat applications
  • Task and productivity apps
  • Notification-heavy apps
  • Apps with dynamic content updates
  • Developers targeting multiple platforms

Considerations

  • Badge support varies by platform and OS version
  • Some platforms may limit badge count size
  • Not all devices support custom badge text
  • Requires platform-specific permissions on some systems
  • Limited visual customization options

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

app_badge_plus

Pub Version Pub Points GitHub

A Flutter plugin for adding badges to your app icon. Supports iOS, Android, and macOS.

iOS pixel samsung macOS

Supported Platforms

  • iOS
  • Android
    • Samsung (pass)
    • Oppo (pass)
    • Vivo (pass)
    • Huawei (pass)
    • Xiaomi / POCO (HyperOS)
    • LG
    • Sony
    • HTC
    • ZTX
  • macOS

Mark

Android

Starting with Android 8.0 (API level 26), notification badges—also known as notification dots—appear on a launcher icon when the associated app has an active notification. Users can touch & hold the app icon to reveal the notifications, along with any app shortcuts.

https://developer.android.com/develop/ui/views/notifications/badges

Starting With Android13 (API level 33), notification runtime permission should be requested before setting the app badge.

On POCO / Xiaomi HyperOS, numeric badges are driven by active notifications (the old extraNotification API is unavailable). Grant notification permission and enable the numeric badge style in system settings.

Add the following permissions to AndroidManifest.xml according to the system you need to support:

<!-- Samsung -->
<uses-permission android:name="com.sec.android.provider.badge.permission.READ"/>
<uses-permission android:name="com.sec.android.provider.badge.permission.WRITE"/>

<!-- HTC -->
<uses-permission android:name="com.htc.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.htc.launcher.permission.UPDATE_SHORTCUT"/>

<!-- Sony -->
<uses-permission android:name="com.sonyericsson.home.permission.BROADCAST_BADGE"/>
<uses-permission android:name="com.sonymobile.home.permission.PROVIDER_INSERT_BADGE"/>

<!-- Apex -->
<uses-permission android:name="com.anddoes.launcher.permission.UPDATE_COUNT"/>

<!-- Solid -->
<uses-permission android:name="com.majeur.launcher.permission.UPDATE_BADGE"/>

<!-- Huawei -->
<uses-permission android:name="com.huawei.android.launcher.permission.CHANGE_BADGE" />
<uses-permission android:name="com.huawei.android.launcher.permission.READ_SETTINGS" />
<uses-permission android:name="com.huawei.android.launcher.permission.WRITE_SETTINGS" />
iOS

On iOS, when using with notification message, notification permission is required.

macOS

On macOS, when using with notification message, notification permission is required.

permission_handler

Using permission_handler package to manage permission on Android and iOS.

https://pub.dev/packages/permission_handler

Usage

To use this plugin, add app_badge_plus as a dependency in your pubspec.yaml file.

dependencies:
  app_badge_plus: ^1.1.2

Example

import 'package:app_badge_plus/app_badge_plus.dart';

// Set badge
AppBadgePlus.updateBadge(5);

// Remove badge
AppBadgePlus.updateBadge(0);

// Whether the launcher supports badges. It always returns true on iOS and it will return false on Android if the launcher doesn't support badges.
AppBadgePlus.isSupported();

Compare

flutter_app_badger

https://pub.dev/packages/flutter_app_badger

Set badge
FlutterAppBadger.updateBadgeCount(1);

replace to

AppBadgePlus.updateBadge(1);
Remove badge
FlutterAppBadger.removeBadge();

replace to

AppBadgePlus.updateBadge(0);
Device support
FlutterAppBadger.isAppBadgeSupported();

using dart API:

import 'dart:io';

Platform.isAndroid || Platform.isIOS

Categories

Dependencies

Dependency list 1 items

  • plugin_platform_interface^2.1.8

Source repository

Projects using this package