使用离子框架从设备检索设备令牌

时间:2016-04-19 11:52:03

标签: cordova ionic-framework push-notification

我正在使用ionic开发应用程序,我需要获取推送通知的设备令牌,但遇到问题。应用程序没有收到通知,但我仍然需要在用户登录应用程序时发送设备令牌(例如,我需要获取设备令牌而不接收通知)。我也试过使用Cordova推送通知插件。

4 个答案:

答案 0 :(得分:6)

我使用过phonegap-plugin-push插件,非常简单易用。我使用的regID事件代码中的deviceReady

var push = PushNotification.init({
        "android": {
            "senderID": "SENDER-ID"
        },
        "ios": {"alert": "true", "badge": "true", "sound": "true"}, 
        "windows": {} 
    });

    push.on('registration', function(data) {
        console.log("registration event");
        //here is your registration id
        console.log(data.registrationId);
    });

This也是教程的链接

希望它有所帮助。

答案 1 :(得分:1)

以下是ng-Cordova文档,用于获取当前设备令牌ID。

在项目控制器中复制并过去它。

在下面的给定行中,您可以找到通知参数

$rootScope.$on('$cordovaPush:notificationReceived', function(event, notification) 

通知是一个对象,它将有一个regid字段,为您提供当前的移动设备ID,您可以使用(发布到服务器,在console.log中查看(通知);)

要将设备令牌发送到您的服务器,您只需执行

var loginPost = {
                    "UserName":"Mike",
                    "PassWord":"xxxxxx",
                    "DeviceID":notification.regid
                  };

使用此loginPost变量对象发布到服务器。

答案 2 :(得分:0)

使用以下插件获取设备令牌值。 离子插件添加phonegap-plugin-push --variable SENDER_ID =" GCM_PROJECT_NUMBER"

请使用以下代码获取设备令牌值。

.run(function($ionicPlatform) {
    $ionicPlatform.ready(function() {
        push = PushNotification.init({
            android: {
                senderID: "61426985247",
                sound: "true",
                vibrate: "true",
                forceShow: "true"
            },
            browser: {
                pushServiceURL: 'http://push.api.phonegap.com/v1/push'
            },
            ios: {
                alert: "true",
                badge: true,
                sound: 'false'
            },
            windows: {}
        });



        push.on('registration', function(data) {

            alert("device token" + data.registrationId);

        });
    });
})

答案 3 :(得分:-3)

获取令牌需要this插件