在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:react-native-push-notification/ios开源软件地址:https://github.com/react-native-push-notification/ios开源编程语言:Objective-C 49.8%开源软件介绍:@react-native-community/push-notification-iosReact Native Push Notification API for iOS.
Getting startedInstallUsing npm: npm i @react-native-community/push-notification-ios --save or using Yarn: yarn add @react-native-community/push-notification-ios LinkReact Native v0.60+The package is automatically linked when building the app. All you need to do is: npx pod-install For android, the package will be linked automatically on build. For React Native version 0.59 or olderReact Native <= v0.59react-native link @react-native-community/push-notification-ios
First, unlink the library. Then follow the instructions above. react-native unlink @react-native-community/push-notification-ios
If you don't want to use the methods above, you can always link the library manually. Add Capabilities : Background Mode - Remote NotificationsGo into your MyReactProject/ios dir and open MyProject.xcworkspace workspace. Select the top project "MyProject" and select the "Signing & Capabilities" tab. Add a 2 new Capabilities using "+" button:
Augment |
Name | Type | Required | Description |
---|---|---|---|
details | object | Yes | See below. |
details is an object containing:
alertBody
: The message displayed in the notification alert.alertAction
: The "action" displayed beneath an actionable notification. Defaults to "view". Note that Apple no longer shows this in iOS 10 +alertTitle
: The text displayed as the title of the notification alert.soundName
: The sound played when the notification is fired (optional).isSilent
: If true, the notification will appear without sound (optional).category
: The category of this notification, required for actionable notifications (optional).userInfo
: An object containing additional notification data (optional).applicationIconBadgeNumber
The number to display as the app's icon badge. The default value of this property is 0, which means that no badge is displayed (optional).scheduleLocalNotification()
PushNotificationIOS.scheduleLocalNotification(details);
Deprecated - use addNotificationRequest
instead.
Schedules the localNotification for future presentation.
Parameters:
Name | Type | Required | Description |
---|---|---|---|
details | object | Yes | See below. |
details is an object containing:
fireDate
: The date and time when the system should deliver the notification.alertTitle
: The text displayed as the title of the notification alert.alertBody
: The message displayed in the notification alert.alertAction
: The "action" displayed beneath an actionable notification. Defaults to "view". Note that Apple no longer shows this in iOS 10 +soundName
: The sound played when the notification is fired (optional).isSilent
: If true, the notification will appear without sound (optional).category
: The category of this notification, required for actionable notifications (optional).userInfo
: An object containing additional notification data (optional).
image
: It's useful if you need to diplay rich notification (optional).applicationIconBadgeNumber
The number to display as the app's icon badge. Setting the number to 0 removes the icon badge (optional).repeatInterval
: The interval to repeat as a string. Possible values: minute
, hour
, day
, week
, month
, year
(optional).addNotificationRequest()
PushNotificationIOS.addNotificationRequest(request);
Sends notificationRequest to notification center at specified firedate. Fires immediately if firedate is not set.
Parameters:
Name | Type | Required | Description |
---|---|---|---|
request | object | Yes | See below. |
request is an object containing:
id
: Identifier of the notification. Required in order to be able to retrieve specific notification. (required)title
: A short description of the reason for the alert.subtitle
: A secondary description of the reason for the alert.body
: The message displayed in the notification alert.badge
The number to display as the app's icon badge. Setting the number to 0 removes the icon badge.fireDate
: The date and time when the system should deliver the notification.repeats
: Sets notification to repeat. Must be used with fireDate and repeatsComponent.repeatsComponent
: An object indicating which parts of fireDate should be repeated.sound
: The sound played when the notification is fired.category
: The category of this notification, required for actionable notifications.isSilent
: If true, the notification will appear without sound.isCritical
: If true, the notification sound be played even when the device is locked, muted, or has Do Not Disturb enabled.criticalSoundVolume
: A number between 0 and 1 for volume of critical notification. Default volume will be used if not specified.userInfo
: An object containing additional notification data.request.repeatsComponent is an object containing (each field is optionnal):
year
: Will repeat every selected year in your fireDate.month
: Will repeat every selected month in your fireDate.day
: Will repeat every selected day in your fireDate.dayOfWeek
: Will repeat every selected day of the week in your fireDate.hour
: Will repeat every selected hour in your fireDate.minute
: Will repeat every selected minute in your fireDate.second
: Will repeat every selected second in your fireDate.For example, let’s say you want to have a notification repeating every day at 23:54, starting tomorrow, you will use something like this:
const getCorrectDate = () => {
const date = new Date();
date.setDate(date.getDate() + 1);
date.setHours(23);
date.setMinutes(54);
return date;
};
PushNotificationIOS.addNotificationRequest({
fireDate: getCorrectDate(),
repeats: true,
repeatsComponent: {
hour: true,
minute: true,
},
});
If you want to repeat every time the clock reach 54 minutes (like 00:54, 01:54, and so on), just switch hour to false. Every field is used to indicate at what time the notification should be repeated, exactly like you could do on iOS.
setNotificationCategories()
PushNotificationIOS.setNotificationCategories(categories);
Sets category for the notification center. Allows you to add specific actions for notification with specific category.
Parameters:
Name | Type | Required | Description |
---|---|---|---|
categories | object[] | Yes | See below. |
category
is an object containing:
id
: Identifier of the notification category. Notification with this category will have the specified actions. (required)actions
: An array of notification actions to be attached to the notification of category id.action
is an object containing:
id
: Identifier of Action. This value will be returned as actionIdentifier when notification is received.title
: Text to be shown on notification action button.options
: Options for notification action.
foreground
: If true
, action will be displayed on notification.destructive
: If true
, action will be displayed as destructive notification.authenticationRequired
: If true
, action will only be displayed for authenticated user.textInput
: Option for textInput action. If textInput prop exists, then user action will automatically become a text input action. The text user inputs will be in the userText field of the received notification.
buttonTitle
: Text to be shown on button when user finishes text input. Default is "Send" or its equivalent word in user's language setting.placeholder
: Placeholder for text input for text input action.removePendingNotificationRequests()
PushNotificationIOS.removePendingNotificationRequests(identifiers);
Removes the specified pending notifications from Notification Center
Parameters:
Name | Type | Required | Description |
---|---|---|---|
identifiers | string[] | Yes | Array of notification identifiers. |
removeAllPendingNotificationRequests()
PushNotificationIOS.removeAllPendingNotificationRequests();
Removes all pending notification requests in the notification center.
removeAllDeliveredNotifications()
PushNotificationIOS.removeAllDeliveredNotifications();
Remove all delivered notifications from Notification Center
getDeliveredNotifications()
PushNotificationIOS.getDeliveredNotifications(callback);
Provides you with a list of the app’s notifications that are still displayed in Notification Center
Parameters:
Name | Type | Required | Description |
---|---|---|---|
callback | function | Yes | Function which receive an array of delivered notifications. |
A delivered notification is an object containing:
identifier
: The identifier of this notification.title
: The title of this notification.body
: The body of this notification.category
: The category of this notification (optional).userInfo
: An object containing additional notification data (optional).thread-id
: The thread identifier of this notification, if has one.removeDeliveredNotifications()
PushNotificationIOS.removeDeliveredNotifications(identifiers);
Removes the specified delivered notifications from Notification Center
Parameters:
Name | Type | Required | Description |
---|---|---|---|
identifiers | string[] | Yes | Array of notification identifiers. |
setApplicationIconBadgeNumber()
PushNotificationIOS.setApplicationIconBadgeNumber(number);
Sets the badge number for the app icon on the home screen
Parameters:
Name | Type | Required | Description |
---|---|---|---|
number | number | Yes | Badge number for the app icon. |
getApplicationIconBadgeNumber()
PushNotificationIOS.getApplicationIconBadgeNumber(callback);
Gets the current badge number for the app icon on the home screen
Parameters:
Name | Type | Required | Description |
---|---|---|---|
callback | function | Yes | A function that will be passed the current badge number. |
cancelLocalNotifications()
PushNotificationIOS.cancelLocalNotifications(userInfo);
Cancel local notifications.
Optionally restricts the set of canceled notifications to those notifications whose userInfo
fields match the corresponding fields in the userInfo
argument.
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论