我正在尝试获取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。检查所附图片。
请帮助我解决此问题。预先感谢。
答案 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);
}
}