/react-native-app-badge

Badge for the shortcut icon in your React Native Android Apps

Primary LanguageJavaMIT LicenseMIT

react-native-app-badge

Badge for the shortcut icon in your React Native App (Android & iOS).

iOS have native support for badges and this library uses the React Native PushNotificationIOS module.

In Android, this is a wrapper for the amazing ShortcutBadger library.

ShortcutBadger is included in many notification libraries for React Native, rn-shortcut-badge offers an API and updates that do not depend on any of these libraries, although it can present the same drawbacks (before Android 8 there is no native support for badges, in Android 8 and later the badge is defined by the notifications).

NOTE: This is Work In Progress, not fully tested.

Setup

$ yarn add react-native-app-badge
$ react-native link react-native-app-badge

If you are using Proguard, add this to your android/app/proguard-rules.pro

See leolin310148/ShortcutBadger#46

-keep class me.leolin.shortcutbadger.impl.** { <init>(...); }

Usage

import ShortcutBadge from 'react-native-app-badge';

ShortcutBadge.getCount((count) => {
    ShortcutBadge.setCount(count + 1);
});

Properties

Property Type Description
launcher string or null Name of the current launcher "home", or null if the launcher could not be detected.
supported boolean Does ShortcutBadge have support for the current launcher/device?

NOTE: The counter remains in the storage of the device even if the launcher is not supported.

Methods

  • setCount(count: number) => Promise<boolean>

    Set the counter and update the badge.

    Returns true if the operation succeeds.

  • getCount() => Promise<number>

    Returns the badge counter.

  • requestPermission(): Promise<boolean>

    Request permission for Badge, mainly for iOS.

    Return true if permission is granted.