In my React Native app, I initialize my OneSignal instance with OneSignal.setAppId(), and then attempt to grab the UserID using OneSignal.getDeviceState(). My code looks like this:
OneSignal.setAppId("<AppID>");
let getDeviceState = async () => {
const deviceState = await OneSignal.getDeviceState()
console.log(deviceState)
}
getDeviceState();
When I first install the app, it returns this:
{"hasNotificationPermission": true, "isEmailSubscribed": false, "isPushDisabled": false, "isSMSSubscribed": false, "isSubscribed": false}
On all subsequent loads, it returns this:
{"hasNotificationPermission": true, "isEmailSubscribed": false, "isPushDisabled": false, "isSMSSubscribed": false, "isSubscribed": true, "pushToken": <...>, "userId": <...>}
So on the first load, I can't access pushToken or userId. Is it just that they haven't had time to load yet? Is there an event handler I can access when they do?