2016-07-05 8 views
1

Ich möchte ein Push-Token zu einem Benutzer in meiner Anwendung hinzufügen. Ich habe das Push-Token, ich habe den Benutzer, aber ich kann das Token dem Benutzer nicht hinzufügen. Wie kann ich den Push-Token diesem Benutzer hinzufügen? HierIonisches Benutzer-Token

ist der Code:

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 protected]', 
    '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); 

Antwort

0

ich eine Sache vorschlagen kann. Sie können das Back-End oder den Server bitten, ein Benutzer-Token in der Datenbank oder sonst hinzuzufügen.

Sie können folgende Sache manuell hinzufügen, wenn es sich um ein JSON-Objekt ist:

user["token"]=value 
0

Es ist nicht mehr user.addPushToken(pushToken);

Stattdessen benötigen Sie:

push.register(function(token) { 
    push.saveToken(token); 
}); 

Dies wird das Token automatisch hinzufügen zum aktuell angemeldeten Ionic-Benutzer.

Sehen Sie diese example from Ionic documentation

N. B. wie Sie dies an dem Punkt sind hinzufügen, die der Benutzer in ist die Unterzeichnung, müssen Sie auch den obigen Code hinzuzufügen für Push in Ihrer $ionicPlatform.ready Funktion zu registrieren:

$ionicPlatform.ready(function() { 
    var push = new Ionic.Push(); 
    push.register(function(token) { 
     push.saveToken(token); 
    }); 
}); 

Oder wahrscheinlicher, erstellen Sie eine Funktion registrieren für push, das sowohl aus $ ionicPlatform.ready als auch aus den Anmelde-/Anmeldefunktionen aufgerufen wird.

Wenn Push nicht innerhalb von $ionicPlatform.ready registriert wurde, wird das Token nicht zu Ihrem Benutzer hinzugefügt, wenn Sie nach der Anmeldung/Anmeldung push.saveToken aufrufen.