【问题标题】:Retrieve device token from device using ionic framework使用离子框架从设备中检索设备令牌
【发布时间】:2016-08-11 13:59:03
【问题描述】:

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

【问题讨论】:

  • 你试过的代码在哪里。以及为什么您将确切的内容粘贴了三遍?
  • 感谢您的指正 mJunaidSalaat
  • 我还没有任何通知,只是我需要在用户登录到坐的应用程序时发送设备令牌。我需要在没有任何通知的情况下获取设备令牌

标签: cordova ionic-framework push-notification


【解决方案1】:

我使用过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也是教程的链接

希望对你有帮助。

【讨论】:

  • 没什么.. 只需将其替换为您的发件人 ID。
  • 每次它返回不同的值时,我认为设备令牌对于设备来说是唯一的,我是对的
  • 无法处理 ionic v3 错误:“Push”类型上不存在属性“on”.ts(2339
  • @SayedMohdAli 这仅适用于 Ionic v1。因为它是 ngcordova。
【解决方案2】:

这是用于获取当前设备令牌 ID 的 ng-Cordova 文档。

复制并粘贴到您的项目控制器中。

在下面给出的行中,您可以找到 notification 参数

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

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

要将设备令牌发送到您的服务器,您只需这样做

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

使用这个 loginPost 变量对象 post 到服务器。

【讨论】:

  • 什么是“senderID”:“replace_with_sender_id”
  • @monoj rejinthala 是您在谷歌云中创建的项目编号应该是您的 senderId
  • 如果我只想要设备令牌,我需要克隆谷歌云并按照其余步骤操作,还是只注册应用程序
  • 发送推送通知,当然你需要设备令牌,但用 GCM 克隆不是强制性的,但你应该克隆项目号和你当前项目的服务器密钥。
  • 我还没有任何通知,只是我需要在用户登录到坐的应用程序时发送设备令牌。我需要在没有任何通知的情况下获取设备令牌。
猜你喜欢
  • 1970-01-01
  • 2017-04-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-27
  • 1970-01-01
  • 2015-02-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多