用户注销 React Native 应用程序时如何删除 Firebase Cloud Messaging Token?
How to delete Firebase Cloud Messaging Token when user Log-Out of the React Native application?
我使用 React Native FCM 进行消息传递,当用户注销应用程序时,我想删除 FCM 令牌,这样用户就不会再次收到通知。
下面是我的注销代码。
_signOutAsync = async () => {
this.logoutEvent()
API.post('customer/auth/logout', null, {
headers: {
Authorization:
'Bearer ' + (await AsyncStorage.getItem(Config.ACCESS_TOKEN))
}
}).then((response) => {
console.log(response)
})
this.clearData()
}
谢谢。
只需在注销函数中添加以下给定代码即可。
firebase.messaging().deleteToken()
await firebase.messaging().deleteToken();
是解决方案。
但是,如果您在删除后仍获得相同的令牌,请安装 npm 包 react-native-restart
,然后执行以下步骤以获取新令牌
messaging()
.deleteToken(undefined,'*')
.then(() => {
RNRestart.Restart();
安装 npm 包 react-native-restart 并像这样简单地调用 :-
const logoutAndClearAsyncStorage = async () => {
try {
await AsyncStorage.clear()
await firebase.messaging().deleteToken().then(() => {
RNRestart.Restart()
navigation.replace('LoginStack', { screen: 'WelcomeScreen' });
})
} catch (error) {
console.log(error, 'logout')
}
};
希望对您有所帮助。
我使用 React Native FCM 进行消息传递,当用户注销应用程序时,我想删除 FCM 令牌,这样用户就不会再次收到通知。
下面是我的注销代码。
_signOutAsync = async () => {
this.logoutEvent()
API.post('customer/auth/logout', null, {
headers: {
Authorization:
'Bearer ' + (await AsyncStorage.getItem(Config.ACCESS_TOKEN))
}
}).then((response) => {
console.log(response)
})
this.clearData()
}
谢谢。
只需在注销函数中添加以下给定代码即可。
firebase.messaging().deleteToken()
await firebase.messaging().deleteToken();
是解决方案。
但是,如果您在删除后仍获得相同的令牌,请安装 npm 包 react-native-restart
,然后执行以下步骤以获取新令牌
messaging()
.deleteToken(undefined,'*')
.then(() => {
RNRestart.Restart();
安装 npm 包 react-native-restart 并像这样简单地调用 :-
const logoutAndClearAsyncStorage = async () => {
try {
await AsyncStorage.clear()
await firebase.messaging().deleteToken().then(() => {
RNRestart.Restart()
navigation.replace('LoginStack', { screen: 'WelcomeScreen' });
})
} catch (error) {
console.log(error, 'logout')
}
};
希望对您有所帮助。