离子用户令牌

时间:2016-07-05 08:19:16

标签: ionic-framework push

我想在我的应用程序中向用户添加推送令牌。我有推送令牌,我有用户,但我无法将令牌添加到用户。如何将推送令牌添加到此用户?

以下是代码:

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);

2 个答案:

答案 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时,它不会向您的用户添加令牌。