@reason-react-native/push-notification-ios
ReScript / Reason bindings for
@react-native-community/react-native-push-notification-ios
.
Exposed as ReactNativePushNotificationIOS
module.
@reason-react-native/push-notification-ios
X.y.* means it's compatible with
@react-native-community/react-native-push-notification-ios
X.y.*
Installation
When
@react-native-community/react-native-push-notification-ios
is properly installed & configured by following their installation instructions,
you can install the bindings:
npm install @reason-react-native/push-notification-ios
# or
yarn add @reason-react-native/push-notification-ios
@reason-react-native/push-notification-ios
should be added to
bs-dependencies
in your bsconfig.json
:
{
//...
"bs-dependencies": [
"reason-react",
"reason-react-native",
// ...
+ "@reason-react-native/push-notification-ios"
],
//...
}
Usage
Types
ReactNativePushNotificationIOS.Notification.t
type t; // abstract type
ReactNativePushNotificationIOS.localNotification
type localNotification;
[@bs.obj]
external localNotification:
(
~alertBody: string=?,
~alertTitle: string=?,
~alertAction: string=?,
~soundName: string=?,
~isSilent: bool=?,
~category: string=?,
~userInfo: Js.Json.t=?,
~applicationIconBadgeNumber: int=?,
~fireDate: Js.Date.t=?,
~repeatInterval: [@bs.string] [
| `minute
| `hour
| `day
| `week
| `month
| `year
]
=?,
unit
) =>
localNotification =
"";
ReactNativePushNotificationIOS.deliveredNotification
type deliveredNotification = {
identifier: string
date: option(string)
title: option(string)
body: option(string)
category: option(string)
threadId: option(string)
userInfo: option(Js.Json.t),
};
ReactNativePushNotificationIOS.formattedLocalNotification
type formattedLocalNotification = {
fireDate: option(string),
alertAction: option(string),
alertTitle: option(string),
alertBody: option(string),
applicationIconBadgeNumber: option(int),
category: option(string),
repeatInterval: option(string),
soundName: option(string),
userInfo: option(Js.Json.t),
};
ReactNativePushNotificationIOS.registrationError
type registrationError('a) = {
message: string,
code: int,
details: Js.t('a),
};
ReactNativePushNotificationIOS.permissions
type permissions = {
alert: bool,
badge: bool,
sound: bool,
lockScreen: bool,
notificationCenter: bool,
};
ReactNativePushNotificationIOS.requestPermissionsOptions
type requestPermissionsOptions;
[@bs.obj]
external requestPermissionsOptions:
(~alert: bool=?, ~badge: bool=?, ~sound: bool=?, unit) =>
requestPermissionsOptions =
"";
ReactNativePushNotificationIOS.fetchResult
type fetchResult;
[@bs.obj]
external fetchResult:
(~_NewData: string=?, ~_NoData: string=?, ~_ResultFailed: string=?, unit) =>
fetchResult =
"";
Methods
ReactNativePushNotificationIOS.Notification.getAlert
Notification.t => option(Js.Json.t)
ReactNativePushNotificationIOS.Notification.getTitle
Notification.t => option(string)
ReactNativePushNotificationIOS.Notification.getMessage
Notification.t => option(Js.Json.t)
ReactNativePushNotificationIOS.Notification.getSound
Notification.t => option(string)
ReactNativePushNotificationIOS.Notification.getCategory
Notification.t => option(string)
ReactNativePushNotificationIOS.Notification.getContentAvailable
Notification.t => bool
ReactNativePushNotificationIOS.Notification.getBadgeCount
Notification.t => option(int)
ReactNativePushNotificationIOS.Notification.getData
Notification.t => option(Js.Json.t)
ReactNativePushNotificationIOS.Notification.getThreadID
Notification.t => option(string)
ReactNativePushNotificationIOS.presentLocalNotification
localNotification => unit
ReactNativePushNotificationIOS.scheduleLocalNotification
localNotification => unit
ReactNativePushNotificationIOS.cancelAllLocalNotifications
unit => unit
ReactNativePushNotificationIOS.removeAllDeliveredNotifications
unit => unit
ReactNativePushNotificationIOS.getDeliveredNotifications
(array(deliveredNotification) => unit)
ReactNativePushNotificationIOS.removeDeliveredNotifications
(~identifiers: array(string)) => unit
ReactNativePushNotificationIOS.setApplicationIconBadgeNumber
int => unit
ReactNativePushNotificationIOS.getApplicationIconBadgeNumber
(int => unit) => unit
ReactNativePushNotificationIOS.cancelLocalNotifications
unit => unit
ReactNativePushNotificationIOS.cancelLocalNotificationsWithUserInfo
Js.Json.t => unit
ReactNativePushNotificationIOS.getScheduledLocalNotifications
(array(formattedLocalNotification) => unit) => unit
ReactNativePushNotificationIOS.addEventListener
(
[@bs.string]
[
| `notification(Notification.t => unit)
| `localNotification(Notification.t => unit)
| `register((~deviceToken: string) => unit)
| `registrationError(registrationError('a) => unit)
]
) =>
unit
ReactNativePushNotificationIOS.removeEventListener
(
[@bs.string]
[
| `notification(Notification.t => unit)
| `localNotification(Notification.t => unit)
| `register((~deviceToken: string) => unit)
| `registrationError(registrationError('a) => unit)
]
) =>
unit
ReactNativePushNotificationIOS.requestPermissions
unit => Js.Promise.t(permissions)
ReactNativePushNotificationIOS.requestPermissionsWithOptions
requestPermissionsOptions => Js.Promise.t(permissions)
ReactNativePushNotificationIOS.abandonPermissions
unit => unit
ReactNativePushNotificationIOS.checkPermissions
(unit => permissions) => unit
ReactNativePushNotificationIOS.finish
fetchResult => unit
ReactNativePushNotificationIOS.getInitialNotification
unit => Js.Promise.t(Js.Nullable.t(Notification.t))
Changelog
Check the changelog for more informations about recent releases.
Contribute
Read the contribution guidelines before contributing.
Code of Conduct
We want this community to be friendly and respectful to each other. Please read our full code of conduct so that you can understand what actions will and will not be tolerated.