React Native ios One信号推送通知playerid

时间:2018-11-15 12:43:52

标签: javascript ios react-native onesignal react-native-push-notification

我正在尝试获取Onesignal的玩家ID,但这样做却很奇怪。

onIds = async (device) => { 
   console.log("Device info: ", device.userId); 
   let playerid = device.userId; 
   AsyncStorage.setItem('playerid', playerid); 
   //this.setState({device_id: playerid}) 
   alert(playerid); 
}

上面的代码给了我这个错误,但是在警报中我得到了玩家ID。检查所附图片。 enter image description here

请帮助我解决此问题。预先感谢。

1 个答案:

答案 0 :(得分:0)

像您一样,我做了很多尝试,但是我至少不能以常规方式,我选择执行以下操作,直接从功能中将ID保存在BD中

async onIds(device) {
    let uri = await AsyncStorage.getItem('uri');
    let token = await AsyncStorage.getItem('token');
    try {
        let formData = new FormData();
        formData.append(
            'PNToken',
            JSON.stringify({
                PushNotificationsID: device.userId
            })
        );
         await fetch(uri, {
            method: 'POST',
            headers: {
                'Content-Type': 'multipart/form-data',
                Authorization: 'Bearer ' + token
            },
            body: formData
        });
    } catch (e) {
        console.warn(e);
    }
}