相关疑难解决方法(0)

Firebase云消息传递 - 处理注销

当用户退出我的应用程序并且我不再希望他接收到设备的通知时,我该如何处理这种情况.

我试过了

FirebaseInstanceId.getInstance().deleteToken(FirebaseInstanceId.getInstance().getId(), FirebaseMessaging.INSTANCE_ID_SCOPE)
Run Code Online (Sandbox Code Playgroud)

但我仍然收到我的设备的通知registration_id.

我还确保这是我应删除的令牌:

FirebaseInstanceId.getInstance().getToken(FirebaseInstanceId.getInstance().getId(), FirebaseMessaging.INSTANCE_ID_SCOPE)
Run Code Online (Sandbox Code Playgroud)

或者简单地说FirebaseInstanceId.getInstance().getToken()).

我也尝试过FirebaseInstanceId.getInstance().deleteInstanceId(),但是下次我打电话给FirebaseInstanceId.getInstance.getToken我时会收到空(它在第二次尝试时起作用).

我想,在deleteInstanceId我能够立即getToken()再次打电话之后,它看起来像是一个黑客.并且还有这个答案表明不应该这样做,但它建议删除显然不起作用的令牌.

那么处理这个问题的正确方法是什么?

android firebase firebase-cloud-messaging

59
推荐指数
6
解决办法
3万
查看次数

当用户注销 React Native 应用程序时,如何删除 Firebase Cloud Messaging Token?

我使用 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()
  }
Run Code Online (Sandbox Code Playgroud)

谢谢。

android ios firebase react-native firebase-cloud-messaging

5
推荐指数
1
解决办法
1万
查看次数