为啥指数推送令牌为空

Posted

技术标签:

【中文标题】为啥指数推送令牌为空【英文标题】:Why exponentpush token is null为什么指数推送令牌为空 【发布时间】:2018-06-23 11:48:43 【问题描述】:

为什么 ExponentPush 令牌为空我 console.log 令牌显示为空 ..................................................... ..................................................... ..................................................... ..................................................... ..................................................... ..................................................... .....

见下图:

push_notifications.js

import Permissions, Notifications from 'expo';
import axios from 'axios';
import AsyncStorage from 'react-native';

const PUSH_ENDPOINT = 'http://rallycoding.herokuapp.com/api/tokens';
export default async () => 
    let previousToken = await AsyncStorage.getItem('pushtoken');
    console.log(previousToken);
    if (previousToken) 
        return;
     else 
        let  status  = await Permissions.askAsync(Permissions.NOTIFICATIONS);
        if (status !== 'granted') 
            return;
        
        let token = await Expo.Notifications.getExpoPushTokenAsync();
        await  axios.post(PUSH_ENDPOINT, token: token);
        AsyncStorage.setItem('pushtoken', token);
    

;

【问题讨论】:

【参考方案1】:
let previousToken = await AsyncStorage.getItem('pushtoken');
console.log(previousToken);

您正在尝试访问AsyncStorage 以查找密钥为pushtoken 的项目。如果此应用程序是第一次运行,它将是null。您需要至少执行一次setItem

【讨论】:

以上是关于为啥指数推送令牌为空的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的 Service Worker 的推送事件数据/有效负载为空?

为啥我的底部导航栏在推送时变为空白?

华为 Push Kit 错误:907135701:范围列表为空

为啥大多数推送通知无法到达设备

为啥每次用户启动应用程序时都要注册推送通知?

Apple 推送通知 - 从生产应用程序获取空推送令牌 - 将在修复配置文件问题后发送推送令牌