为Ionic.io Push识别用户/生成令牌

时间:2017-02-17 12:32:57

标签: ionic-framework ionic.io

我有一个使用Ionic.io的继承的Ionic框架应用程序 该应用程序根据我们的API进行授权,并获得API令牌以供将来的请求使用。

我尝试处理推送通知 - 我已经设置了离子推送功能,并且可以毫无问题地向所有用户发出推送通知。

我希望能够针对特定用户/设备发送通知,我知道要执行此操作,我必须注册设备才能生成令牌。

在我的$ ionicPlatform.ready函数中,我有:

$ionicPush.register().then(function(t) {
    return $ionicPush.saveToken(t);
}).then(function(t) {
  console.log('Token saved:', t.token);
});

然而,这似乎没有返回令牌,并且正在调用

的console.log($ ionicPush); 显示未设置令牌。

这里有什么想法吗?我错过了什么?

1 个答案:

答案 0 :(得分:1)

因此,在挖掘了一些文档之后,我发现该问题与离子用户有关。

在主要运行功能中,我启动了

 if ($ionicAuth.isAuthenticated()) {

如果失败,我会尝试登录用户,并在适当的时候注册用户。 (用户已使用针对我们的api的自定义身份验证令牌登录)

在我尝试注册令牌之前,我必须重新加载用户才能让应用程序保存,然后再推回到ionic.io。

 $ionicUser.load().then(function() {
    $ionicPush.register().then(function(t) {
        console.log('Token sent:', t.token);
        return $ionicPush.saveToken(t);
    }).then(function(t) {
      console.log('Token saved:', t.token);
    });
});