React native 在后台使用Expo发送推送通知
Expo具有用于发送推送通知的通知API。然而,当应用程序位于后台时,如何发送推送通知?可以从服务器触发推送通知或提前安排推送通知吗?发送推送通知是从您的服务器完成的,因此您可以随时发送推送通知,并安排作业来处理推送通知 但是,如果应用程序是后台的,并且用户尚未选择通知,则您将无法在客户端处理通知的接收。根据: 您无法在后台处理推送通知。这是一本书 正在进行中React native 在后台使用Expo发送推送通知,react-native,expo,React Native,Expo,Expo具有用于发送推送通知的通知API。然而,当应用程序位于后台时,如何发送推送通知?可以从服务器触发推送通知或提前安排推送通知吗?发送推送通知是从您的服务器完成的,因此您可以随时发送推送通知,并安排作业来处理推送通知 但是,如果应用程序是后台的,并且用户尚未选择通知,则您将无法在客户端处理通知的接收。根据: 您无法在后台处理推送通知。这是一本书 正在进行中 但是,如果应用程序位于前台或用户选择了通知,则通知将传递给应用程序中的侦听器。发送推送通知是从服务器完成的,因此您可以随时发送推送通知,
但是,如果应用程序位于前台或用户选择了通知,则通知将传递给应用程序中的侦听器。发送推送通知是从服务器完成的,因此您可以随时发送推送通知,并安排作业来处理 但是,如果应用程序是后台的,并且用户尚未选择通知,则您将无法在客户端处理通知的接收。根据: 您无法在后台处理推送通知。这是一本书 正在进行中 但是,如果应用程序位于前台或用户选择了通知,则通知将传递给应用程序中的侦听器。我们可以在后台处理推送通知 为此,如果AppState为“活动”且origin==“已接收”,我们必须取消通知 这是完整的代码 我们可以在后台处理推送通知 为此,如果AppState为“活动”且origin==“已接收”,我们必须取消通知 这是完整的代码
谢谢什么时候准备好,或者如何为发展做出贡献?还有,你知道有什么解决办法吗?@Remeus,弹出式通知在托盘中也看不到?谢谢!什么时候准备好,或者如何为发展做出贡献?另外,你知道这有什么解决办法吗?@Remeus,弹出式通知在托盘中也看不到?你能解释一下它是如何工作的吗?您使用的是什么版本的expo SDK 36?您能解释一下它是如何工作的吗?您使用的是什么版本的expo SDK 36
import React from 'react';
import { Text, View, Vibration, AppState } from 'react-native';
import { Notifications } from 'expo';
export default class App extends React.Component {
constructor(props) {
super(props);
this.state = {
notification: {}
}
}
componentDidMount() {
this._notificationSubscription = Notifications.addListener(
this._handleNotification
);
}
_handleNotification = notification => {
if (AppState.currentState == 'active' && notification.origin === 'received') {
Notifications.dismissNotificationAsync(notification.notificationId);
} else {
Vibration.vibrate()
this.setState({ notification: notification });
}
};
render() {
return (
<View><Text>Push Notifications Sample</Text></View>
);
}
}