我遇到了这个问题,我使用$ionicPush.register()
注册Push,但是我没有使用$ionicUser
在任何时候进行用户识别(就像文档建议的那样)。所以,我只是调用$ionicPush.register()
并等待该承诺解决,我将device_token存储在我的服务器上,例如。
$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);
});
});
我注意到无论是否调用$ionicUser.identify(...)
,都会创建$ionicUser
(您可以在控制板中看到)。现在我遇到的问题是我并不总是获得设备令牌。即。我最终得到一些(并非所有)没有设备令牌的Ionic用户(因此我的服务器上没有设备令牌),例如。
你们知道发生了什么吗?我正在阅读FAQ here并说:> “如果您在不传递用户对象的情况下使用$ ionicPush.register(),则应确保等待$ ionicPush.identify()承诺完成。” - 这可能是可能的原因?和如何将用户传递给$ionicPush.register()
?
让我知道你们的想法,我真的需要知道我做错了什么。
此致
-J