Ionic Push User identification issue

I'm having this issue where I register for Push using $ionicPush.register() But I'm not doing user identification at any point using $ionicUser(like the docs suggest). So, I'm only calling $ionicPush.register() and I wait for that promise to resolve and I'm storing the device_token on my server, eg.

$ionicPush.register({
  onNotification: function(notification) {
    //....
  }
}).then(function(deviceToken) {
  //Save device-token to my server
  UserService.saveIosDeviceToken(user.id, deviceToken) 
    .then(function(user) {
      return user;
    })
    .catch(function(error) {
      console.log(error);
    });
});

I have noticed that regardless of calling $ionicUser.identify(...) or not, an $ionicUser will be created (which you can see in the Dashboard). Now the issue that I'm having is that I'm not always getting a device token. ie. I end up with some(not all) Ionic Users with no device tokens (therefore no device token I can store on my server), eg.

enter image description here

Do you guys know what's going on? I'm reading the FAQ here and it says: > "If you are using $ionicPush.register() without passing a user object, you should make sure you are waiting for the $ionicPush.identify() promise to complete." -- Could this be the likely cause? and How do I pass a user to $ionicPush.register()?

Let me know what you guys think, I really need to know what I'm doing wrong.

Regards,

-J