PUSH:无法获取GCM项目编号,运行"离子配置设置gcm_key your-gcm-id"

时间:2015-10-15 08:09:26

标签: android push-notification ionic-framework ionic

我无法向Android发送推送通知。 我更新到最新的离子cli 我更新到最新的离子库 之后也做了:

ionic config build

ionic prepare android

我的io-config.json有

{"app_id":"01e6d3ad","api_key":"some_secret_key","gcm_key":"142738311658"}

我已经好几次ionic config set gcm_key your-gcm-id取代了你的gcm-id'我的项目ID。

但我仍然收到这条消息:

PUSH: Unable to get GCM project number, run "ionic config set gcm_key your-gcm-id"

当我尝试注册离子通知时,我也得到:

$ionicPush:REGISTER_ERROR org.json.JSONObject$1 cannot be cast to java.lang.String

4 个答案:

答案 0 :(得分:1)

在Android的Ionic documentation之后,您必须运行命令:

ionic config set gcm_key <your-gcm-project-number>

要将projectNumber添加到 .io-config.json

答案 1 :(得分:0)

打开.io-config.json文件并在gcm_key值附近加上引号。之后尝试你的命令。

请参阅this链接

希望它的工作。

答案 2 :(得分:0)

所以基本上问题是Ionic框架有一些变化:)

首先,对离子推送和核心等一些库进行了描述,而不是“离子 - 平台 - 网络 - 客户端”。应该用来取代所有其他的。

为了能够安装它,您应该将离子cli更新到最新版本。

(不要忘记从index.html中删除离子核心和离子推送的链接)

此外,注册码本身已更改,您不再等待事件,而应使用以下代码:

$ionicPlatform.ready(function() {
    Ionic.io(); 

    var push = new Ionic.Push({
      "debug": true
    });

    push.register(function(token) {
      console.log("Device token:",token.token);
    });
  });

可能会遇到问题的人还有几点:

  1. 确保在cordova.js之后包含PushNotification.js

  2. 如果您无法使用

    安装推送通知插件

    离子插件添加phonegap-plugin-push

  3. 尝试使用

    进行安装
    cordova plugin add https://github.com/phonegap/phonegap-plugin-push
    
      删除插件尤其是离子核后
    1. - 确保运行

      ionic config build

答案 3 :(得分:0)

您似乎使用的是发件人ID而不是服务器密钥。 gcm_key离子配置是指firebase提供的server-key。你可以使用

ionic config set gcm_key <your-gcm-project-number>

或将值server-key添加到您可以在离子项目目录中找到的文件gcm-key中的密钥.io-config.json