Files
react-native-notifications/docs/localNotifications.md
Yogev Ben David 006e4ab86f V3 (#437)
* Add typescript support

* Add unit tests

* Splits requestPermissionsWithCategories to two functions

* Done converting the js part to typescript

* typescript WIP

* Fix unit

* Fix e2e

* Identical API for Android and iOS

* Fix bundle

* build typescript before test-e2e-ios

* build typescript before test-e2e-ios

* Add docousaurus documentation

* Fix rebase from master

* Move android and ios folders into lib folder

* Split Notification.ts, Fix android example module

* Add test coverage for Notification.ts, clean old js files

* Updated docs

* Move ios and android commands to designated classes

* Remove package.json unused packages

* Fix e2e

* Fix docs, remove circleci config file

* 3.0.0-alpha.0

* Update README.md

* Fix js tests

* Add missing flavors

* Update release script

* Add pretest scripts

* Update release script

* Revert manual version change

* Fix release build

* Gradle resolve react-native version flavor

* Fix documentation website

* Add identical registerRemoteNotifications api for iOS and Android

* Finish API documentation

* Merge from master branch

* Fix build

* Remove NOTIFICATION_RECEIVED_FOREGROUND_EVENT_NAME

* Fix iOS example project

* Split specific iOS events, Update docs

* Add subscription documentation guide

* Add Local Notifications documentation guide

* Fix handling actions, Add event handling documentation guide

* Fix platforms logo

* Fix iOS unit tests

* Update package.json version to 3.0.0-beta.0 and generate CHANGELOG.gren.md [ci skip]

* Fix documentation

* Add prerelease script

* Update package.json version to 3.0.0-beta.1 and generate CHANGELOG.gren.md [ci skip]

* Add npm run docusaurus

* Add removeAllDeliveredNotifications support for both iOS and Android

* Add CI tag support

* Fix podspec

* Update iOS installation

* Fix android installation

* fix build.gradle rn package.json path

* Fix iOS

* Add NotificationFactory

* Fix tests

* Fix resolving gradle react native version

* find rn package.json by checking if the file exists instead of an exception in JsonSlurper

* Fix e2e

* Update package.json version to 3.0.0-beta.2 and generate CHANGELOG.gren.md [ci skip]

* Rename setBadgesCount to setBadgeCount

* add ios and android Notifications object getters

* Update package.json version to 3.0.0-beta.3 and generate CHANGELOG.gren.md [ci skip]

* Fix android token registration

* Update package.json version to 3.0.0-beta.4 and generate CHANGELOG.gren.md [ci skip]

Co-authored-by: wixmobile <41264282+wixmobile@users.noreply.github.com>
Co-authored-by: Artal Druk <artald@wix.com>
2020-01-15 17:13:07 +02:00

3.6 KiB

id, title, sidebar_label
id title sidebar_label
localNotifications Local Notifications Local Notifications

iOS

You can manually trigger local notifications in your JS code, to be posted immediately or in the future. Triggering local notifications is fully compatible with React Native PushNotificationsIOS library.

Example:

let localNotification = Notifications.postLocalNotification({
	body: "Local notificiation!",
	title: "Local Notification Title",
	sound: "chime.aiff",
    silent: false,
	category: "SOME_CATEGORY",
	userInfo: { }
});

Notification object contains:

  • fireDate- The date and time when the system should deliver the notification (optinal - default is immidiate dispatch).
  • body- The message displayed in the notification alert.
  • title- The title of the notification, displayed in the notifications center.
  • alertAction- The "action" displayed beneath an actionable notification on the lockscreen (e.g. "Slide to open"). Note that Apple no longer shows this in iOS 10.
  • sound- The sound played when the notification is fired (optional -- will play default sound if unspecified). This must be the filename of a sound included in the application bundle; the sound must be 30 seconds or less and should be encoded with linear PCM or IMA4.
  • silent- Whether the notification sound should be suppressed (optional).
  • category- The category of this notification, required for interactive notifications (optional).
  • userInfo- An optional object containing additional notification data.

Cancel Scheduled Local Notifications

The Notifications.postLocalNotification() method return unique notificationId values, which can be used in order to cancel specific local notifications that were scheduled for delivery on fireDate and have not yet been delivered. You can cancel local notification by calling Notifications.cancelLocalNotification(notificationId).

Example:

let someLocalNotification = Notifications.postLocalNotification({
	body: "Local notificiation!",
	title: "Local Notification Title",
	sound: "chime.aiff",
	category: "SOME_CATEGORY",
	userInfo: { }
});

Notifications.cancelLocalNotification(someLocalNotification);

To cancel all local notifications (iOS only!), use cancelAllLocalNotifications():

Notifications.ios.cancelAllLocalNotifications();

Cancel Delivered Local Notifications (iOS 10+ only)

To dismiss notifications from the notification center that have already been shown to the user, call Notifications.ios.removeDeliveredNotifications([notificationId]):

let someLocalNotification = Notifications.postLocalNotification({...});

Notifications.ios.removeDeliveredNotifications([someLocalNotification]);

Call removeAllDeliveredNotifications() to dismiss all delivered notifications (note that this will dismiss push notifications in addition to local notifications).

Android

Much like on iOS, notifications can be triggered locally. The API to do so is a simplified version of the iOS equivalent that works more natually with the Android perception of push (remote) notifications:

Notifications.postLocalNotification({
	title: "Local notification",
	body: "This notification was generated by the app!",
	extra: "data"
});

Upon notification opening (tapping by the device user), all data fields will be delivered as-is).