@reason-react-native/push-notification-ios
v1.7.2
Published
ReScript bindings for @react-native-community/push-notification-ios.
Downloads
10
Readme
@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 typeReactNativePushNotificationIOS.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 => boolReactNativePushNotificationIOS.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 => unitReactNativePushNotificationIOS.scheduleLocalNotification
localNotification => unitReactNativePushNotificationIOS.cancelAllLocalNotifications
unit => unitReactNativePushNotificationIOS.removeAllDeliveredNotifications
unit => unitReactNativePushNotificationIOS.getDeliveredNotifications
(array(deliveredNotification) => unit)ReactNativePushNotificationIOS.removeDeliveredNotifications
(~identifiers: array(string)) => unitReactNativePushNotificationIOS.setApplicationIconBadgeNumber
int => unitReactNativePushNotificationIOS.getApplicationIconBadgeNumber
(int => unit) => unitReactNativePushNotificationIOS.cancelLocalNotifications
unit => unitReactNativePushNotificationIOS.cancelLocalNotificationsWithUserInfo
Js.Json.t => unitReactNativePushNotificationIOS.getScheduledLocalNotifications
(array(formattedLocalNotification) => unit) => unitReactNativePushNotificationIOS.addEventListener
(
[@bs.string]
[
| `notification(Notification.t => unit)
| `localNotification(Notification.t => unit)
| `register((~deviceToken: string) => unit)
| `registrationError(registrationError('a) => unit)
]
) =>
unitReactNativePushNotificationIOS.removeEventListener
(
[@bs.string]
[
| `notification(Notification.t => unit)
| `localNotification(Notification.t => unit)
| `register((~deviceToken: string) => unit)
| `registrationError(registrationError('a) => unit)
]
) =>
unitReactNativePushNotificationIOS.requestPermissions
unit => Js.Promise.t(permissions)ReactNativePushNotificationIOS.requestPermissionsWithOptions
requestPermissionsOptions => Js.Promise.t(permissions)ReactNativePushNotificationIOS.abandonPermissions
unit => unitReactNativePushNotificationIOS.checkPermissions
(unit => permissions) => unitReactNativePushNotificationIOS.finish
fetchResult => unitReactNativePushNotificationIOS.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.
