gpt4 book ai didi

android - 在 react native 应用程序中启用/禁用 Firebase 推送通知

转载 作者:行者123 更新时间:2023-12-01 16:12:28 25 4
gpt4 key购买 nike

我有一个带有设置屏幕的 react 应用程序,它允许禁用所有类型的通知。 react native documentation 中并不清楚如何实现这一点。 .我可以在他注册时请求用户许可,但是如何从设置屏幕禁用此许可,这样他就不会收到任何通知,但用户可以在将来再次启用它们。

我可以使用主题来做到这一点,但这非常有限。我想使用来自 Firebase 控制台的受众来定位。
任何帮助表示赞赏。

最佳答案

你可以做这样的事情。您需要检查平台并分别进行配置。
要让 Android 检查通知状态,您需要 react-native-permissions library .import {checkNotifications} from 'react-native-permissions';取决于 notification您可以启用和禁用该按钮。

async checkNotificationStatus(){
if(Platform.OS === 'ios'){
const authStatus = await messaging().hasPermission();
if(authStatus === messaging.AuthorizationStatus.AUTHORIZED) {
this.setState({
notification: true
})
}else{
this.setState({
notification: false
})
}
}else{
checkNotifications().then(({status}) => {
if(status === 'granted'){
this.setState({
notification: true
})
}else{
this.setState({
notification: false
})
}
});
}
}
单击按钮时启用和禁用。您可以简单地将用户导航到系统设置
   async toggleNotification(){
if(Platform.OS === 'ios'){
const authStatus = await messaging().hasPermission();
if (authStatus === messaging.AuthorizationStatus.NOT_DETERMINED) {
const authorizationStatus = await messaging().requestPermission();
if (authorizationStatus === messaging.AuthorizationStatus.AUTHORIZED) {
this.setState({
notification: true
})
}
} else{
Linking.openURL('app-settings://')
}
}else{
Linking.openSettings();
}
}

关于android - 在 react native 应用程序中启用/禁用 Firebase 推送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61370418/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com