我想在我的应用程序中向用户添加推送令牌。我有推送令牌,我有用户,但我无法将令牌添加到用户。如何将推送令牌添加到此用户?
以下是代码:
var io = Ionic.io();
username = localStorage.getItem('username');
var signupSuccess = function(user) {
// The user was authenticated; you can get the authenticated user
console.log(user);
};
var signupFailure = function(errors) {
for (var err in errors) {
// Check the error and provide an appropriate message
// for your application.
user = Ionic.User.current();
}
};
var details = {
'email': 'email@gmail.com',
'password': 'pass2',
'username': 'username'
}
Ionic.Auth.signup(details).then(signupSuccess, signupFailure);
var push = new Ionic.Push();
var user = Ionic.User.current();
var callback = function(pushToken) {
alert('TOKEN: ' + pushToken.token);
user.addPushToken(pushToken);
user.save(); // You NEED to call a save after you add the token
}
push.register(callback);
答案 0 :(得分:0)
我可以建议一件事。您可以要求后端或服务器团队在数据库中添加用户令牌,或者。
如果它是JSON对象,您可以手动添加以下内容:
user["token"]=value
答案 1 :(得分:0)
它不再是user.addPushToken(pushToken);
相反,你需要:
push.register(function(token) {
push.saveToken(token);
});
这会自动将令牌添加到当前登录的Ionic用户。
请参阅此example from Ionic documentation
N.B。当您在用户登录时添加此内容时,您还需要添加上述代码以在$ionicPlatform.ready
函数中注册推送:
$ionicPlatform.ready(function() {
var push = new Ionic.Push();
push.register(function(token) {
push.saveToken(token);
});
});
或者更有可能的是,创建一个函数来注册push,这个函数既可以从$ ionicPlatform.ready中调用,也可以从你的注册/注册函数中调用。
否则,如果尚未在$ionicPlatform.ready
内注册推送,则在注册/注册后致电push.saveToken
时,它不会向您的用户添加令牌。