离子推送:在Android应用程序

时间:2016-06-10 07:01:05

标签: android ionic-framework google-cloud-messaging ionic.io

我正在尝试使用ionic.io发送推送通知。这是我做的:

  1. 在GCM中创建应用并启用GCM API。
  2. enter image description here

    1. 创建凭据并获取api密钥。
    2. enter image description here

      1. 在ionic.io信息中心中创建应用
      2. 创建安全配置文件并添加api密钥
      3. enter image description here

        1. ionic.io信息中心
        2. 中创建api令牌

          enter image description here

          1. 我在app.js中的源代码,由离子启动pushdemo生成

            .run(function($ionicPlatform) {
            
            $ionicPlatform.ready(function() {
            
            var push = new Ionic.Push({
              "debug": true
            });
            
            push.register(function(token) {
              alert(token.token);
              console.log("Device token:",token.token);
              push.saveToken(token);
            });
            
          2. 7.添加推送插件:

              

            离子插件添加phonegap-plugin-push --variable   SENDER_ID = “myproject_number”

            我在 myproject_number 周围使用或不使用引号。这是第1步中的项目编号。

            8.将 dev_push 设置为false

            9.通过 ionic io init

            将我的应用程序挂钩到ionic.io

            10.Run 离子运行android -lc

            发现以下错误消息:

            enter image description here

            它出了什么问题?有人可以帮忙吗?感谢。

3 个答案:

答案 0 :(得分:1)

由于代理问题我通常遇到同样的问题 你是代理的后面,这意味着你通过向服务器发出请求来使用互联网,所以首先你应该使用自己的互联网(在这种情况下,如果你使用WIFI 那么它也会工作) 第二个aafter创建你的项目dirsctly从你的cinsole登录到离子io 它将支持电子邮件和密码,使您的应用程序生效 第三个

function data($fields)
{
    $pdo = Database::connect(); 
    $sql = 'SELECT ' . implode(', ', $fields) . ' FROM data ORDER BY id DESC';
    foreach ($pdo->query($sql) as $row)
    {
        echo implode(', ', $row);
    }
}
$fields = array('id', 'name', 'age');      
data($fields);

使用引号输入您的项目编号。项目编号也称为GCM编号,您的服务器密钥是您在同一项目中生成的密钥,这意味着Google控制台可让您使用Google服务。  并且别忘了添加android平台

答案 1 :(得分:1)

离子启动pushCall 离子登录 离子上传

//打开谷歌控制台 1创建项目 2用google api     1-mobile API     2 - 选择谷歌云消息传递并使其变得简单     3-转到凭证并创建API密钥

//之后添加以下插件

离子添加离子平台 - 网络客户端 离子插件添加phonegap-plugin-push --variable SENDER_ID =“991785317333” (添加gcm编号时不要删除引号)

//添加platfom

离子平台添加android 离子io init ionic config set dev_push true

//打开离子io 去设置     1 - 创建api键
    2 - 转到证书并创建安全配置文件名称编辑ID单击android并添加GCM密钥     并保存它。

func tableView(_ tableView: UITableView, titleForDeleteConfirmationButtonForRowAtIndexPath indexPath: NSIndexPath) -> String? {
    return "Erase"
}

//使用ionic io open launch postman正确测试你的配置 //然后执行以下操作:

//add this code to app.js


angular.module('starter', ['ionic'])

.run(function($ionicPlatform) {
$ionicPlatform.ready(function() {
 var push = new Ionic.Push({
  "debug": true
    });

   push.register(function(token) {
  console.log("My Device token:",token.token);
  push.saveToken(token);  // persist the token in the Ionic Platform
    });
});
})

//现在它会在浏览器上提示消息

离子配置设置gcm_key
ionic config set dev_push false 离子生成android

在移动设备上安装您的应用并从邮递员发送通知

(Mahesh Sampat Nighut) navi mumbai

答案 2 :(得分:0)

在app.js中添加此代码

.run(function($ionicPlatform) {
    $ionicPlatform.ready(function() {
     var push = new Ionic.Push({
      "debug": true
        });

       push.register(function(token) {
      console.log("My Device token:",token.token);
      push.saveToken(token);  // persist the token in the Ionic Platform
        });
    });
    })

并且不要忘记在命令

下面运行
ionic config set dev_push true

当你在浏览器上测试它时,上面的cammand为true,这意味着开发模式,当你这次制作apk时你必须使上面的命令为假