离子推IO:用户'中没有设备令牌。已分配给用户

时间:2016-02-22 14:55:40

标签: javascript android ionic-framework google-cloud-messaging

我一直在尝试使用Ionic推送通知,一切顺利,直到我必须存储我收到的设备令牌。我一直在关注教程给我的每一步,所以我在项目中看不到任何错误的代码。

这是我的注册码:

// kick off the platform web client
        Ionic.io();
        var push = new Ionic.Push();
        // this will give you a fresh user or the previously saved 'current user'
        var user = Ionic.User.current();

        // if the user doesn't have an id, you'll need to give it one.
        if (!user.id) {
            user.id = Ionic.User.anonymousId();       
        }

        var callback = function (data) {
            console.log('Registered token:', data.token); // is not empty
            console.log(data.token);
            push.addTokenToUser(user);
            user.save();
        }
        push.register(callback);

我收到以下错误:

Ionic Push Token: dev tokens cannot be saved to a user as they are a temporary resource: ionic.io.bundle.min.js (2,5965).

当我试图执行时:

push.addTokenToUser(user);

我的离子界面看起来像这样: enter image description here

我实际上期待我的设备令牌存储在那里。但事实并非如此......

我希望你们中的一些人之前已经看过这个问题并且可以帮助我。

问候!

2 个答案:

答案 0 :(得分:1)

我遇到了这个问题,直到我发现我使用旧版的cordova(第4版)。低于v.5的任何东西都不适用于Ionic(当前Cordova版本在写作时为6.0.0)。

npm update -g cordova

之后所有事情都有记录。

答案 1 :(得分:0)

将Ionic置于生产模式,因此它使用您上传的证书。 (但仍然在设备的开发模式下)

$ ionic push --production-mode = n