是否可以获取先前创建的推送通知令牌?

时间:2019-05-07 08:26:00

标签: javascript swift react-native apple-push-notifications

我有一个本机ios应用程序,其中推送通知用于通知用户某些用例。

我开发了一种推送通知服务,其中客户端使用react-native-push-notification,而c# WAPI(using PushSharp v4.0)通过Apple PN服务发送PN。

当用户登录时,我获取相关的userId并将其保存到AsyncStorage中,并在多个屏幕中使用它,当用户注销时,我将其从AsyncStorage中删除。 Apple在用户登录之前在应用程序的根目录下创建了PN令牌,但是即使用户未登录,我仍需要以某种方式绑定此userId和令牌。 如果我不能这样做,则当用户打开应用程序但未登录时,将生成他/她的新pn令牌,但该令牌未绑定到他/她的userId。

反正每次都绑定此令牌和userId吗?

如果我可以获取先前的令牌,我可以告诉服务器,将旧的令牌替换为新的令牌,但是我不知道是否可以获取先前的令牌。

这是我的PushNotificationService


import PushNotification from 'react-native-push-notification';
import React from 'react';
import { Alert } from 'react-native';

class PushNotificationService extends React.Component {

  componentDidMount() {
    PushNotification.configure({
      onRegister: function (token) {
        Alert.alert("Registered !", JSON.stringify(token));
        console.log(token);
      },
      onNotification: function (notification) {
        console.log('NOTIFICATION:', notification);
      },
    });
  };
  render() {
    return (
      null
    );
  }

}

export default PushNotificationService;

这就是我在App.js

中的称呼
render() {
    return (
      <View style={{ flex: 1 }}>
        <AppNavigator />
        <PushNotificationService />
      </View>
    );
  }

0 个答案:

没有答案