对于Ionic项目中使用消息推送服务,Ionic官方提供了ngCordova项目,这个里面的提供了用angularjs封装好的消息推送服务(官方文档),使用的是GitHub上的 PushPlugin 插件,也有相关的实现实例:GitHub地址 ,但是使用的是Google的GCM消息推送服务,一些网络原因,国内GCM可能不怎么好用(自己也没有试可不可以)。

于是选择国内的消息推送服务,主要有:百度云推送,腾讯信鸽,极光推送,yunba 等等,其中只有极光推送官方提供了phonegap/cordova 插件,其他的几个GitHub上也有个人开发了相应的插件(可以GitHub上搜 :baidupush,xgpush可以找到),鉴于是官方提供,所以选择了极光推送。

Github地址:https://github.com/jpush/jpush-phonegap-plugin

下面说下在Ionic项目中如何使用这个插件。

第一步:注册极光推送账户,并创建应用

测试例子,应用名称为jPushDemo,应用包名:cn.kigsir.jpushdemo

创建成功后,会为应用生成一个appkey(后面要用到的) 和 一个API密钥

第二步:下载并配置极光推送phonegap插件(这一步Github上有详细文档)

1.运行命令行,切换到你想保存插件的目录,这里我们保存到H:\webapp\push\JPush\plugins\目录下,执行:

cd H:\webapp\push\JPush\plugins\

git clone https://github.com/jpush/jpush-phonegap-plugin.git

等待完成。

2.打开插件目录下的plugin.xml文件,找到

<meta-data android:name="JPUSH_APPKEY" android:value="your appkey"/>

用刚才在极光推送创建的应用的appkey 替换 “your appkey"。

3.打开插件目录\src\android\JPushPlugin.java 文件,找到import your.package.name.R,将其替换为:cn.kigsir.jpushdemo.R。

第三步:创建ionic项目并添加上面的插件

运行命令行,切换到你想创建ionic项目的目录

cd H:\webapp\projects\cordovastudy\

创建项目(这里的包名要和添加应用时设置的包名一致):

ionic start -a jPushDemo -i cn.kigsir.jpushdemo jpushdemo blank

进入项目目录:

cd jpushdemo

添加android平台:

ionic platform add android

添加极光推送插件:

ionic plugin add H:\webapp\push\JPush\plugins\jpush-phonegap-plugin

添加device插件(因为极光推送插件依赖这个):

ionic plugin add org.apache.cordova.device(可以省略,ionic项目默认添加了这个插件)

最后在app.js文件中添加启动推送服务代码

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

.run(function($ionicPlatform) { 

  $ionicPlatform.ready(function() { 

    // Hide the accessory bar by default (remove this to show the accessory bar above the keyboard 

    // for form inputs) 

    if(window.cordova && window.cordova.plugins.Keyboard) { 

      cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true); 

    } 

    if(window.StatusBar) { 

      StatusBar.styleDefault(); 

    } 

 //启动极光推送服务 

    window.plugins.jPushPlugin.init(); 

 //调试模式 

    window.plugins.jPushPlugin.setDebugMode(true); 

  }); 

})

至此所以配置已经完成我们可以build项目了

ionic build android

将生成的apk文件安装到手机,在极光推送官网的应用控制台发送通知测试,测试效果:

最后简单的封装了一些极光推送的功能,效果如下:

2015-03-17

添加了打开推送通知跳转到指定页面功能,源码:GitHub地址

Ionic项目中使用极光推送-android的更多相关文章

  1. Ionic项目中使用极光推送

    Ionic项目中使用极光推送-android   对于Ionic项目中使用消息推送服务,Ionic官方提供了ngCordova项目,这个里面的提供了用angularjs封装好的消息推送服务(官方文档) ...

  2. 在ionic项目中使用极光推送实现推送 & 服务器端代码

    ionic start -a jPushDemo -i com.lawxin.fengkong jpushdemo blank meteor add cordova:cn.jpush.phonegap ...

  3. 在ionic/cordova中使用极光推送插件(jpush)

    Stpe1:创建一个项目(此处使用的是tab类型的项目,创建方式可参照我前一篇如何离线创建Ionic1项目) Stpe2:修改项目信息 打开[config.xml]修改下图内容:

  4. Springboot项目集成JPush极光推送(Java SDK)

    1.由于项目的需求,需要在Android APP上实现消息推送功能,所以引用了极光推送(官网:https://www.jiguang.cn/, 文档:http://docs.jiguang.cn/) ...

  5. 极光推送android sdk集成步骤

    推送,用极光,大家都说好,哈哈. 进入正题: 1.确认android studio的 Project 根目录的主 gradle 中配置了jcenter支持.(基本上现在都已经支持了,循例说一下)  , ...

  6. ionic 安装本地插件极光推送

    问题:按照官方文档的步骤 假如把插件保存到了D:\push\jpush,当执行到 cordova plugin add D:\push\jpush 的时候,ionic 不是从本地目录安装,而是从reg ...

  7. 极光推送>>java SDK服务端集成后台项目(使用详解)

    PS:如果你是第一次用推送,那就直接按照我的步骤来,再去看官方文档,这样,更容易能理解操作流程.还有——-请耐心看 极光文档(java SDK)请参考 [ 极光文档 ] 步骤一: 首先,你必须在 [极 ...

  8. 极光推送配置(Android Studio),亲测有效

    进行到这里就可以接收到通知了,但是如果你还想根据接收的消息做点什么 step8: public class MyReceiver extends BroadcastReceiver { private ...

  9. Android集成JPush(极光推送)

    目前只是简单的集成 1.在极光推送官网注册用户 2.创建应用 3.配置包名,获得APPKEY 去设置 输入应用包名 确定然后返回查看APPKEY 3.在应用中集成极光推送 用的jcenter自动集成的 ...

随机推荐

  1. [LeetCode] Combinations [38]

    称号 Given two integers n and k, return all possible combinations of k numbers out of 1 ... n. For exa ...

  2. IOC/DI的基本思想

    IOC/DI的基本思想 1.把程序之间的依赖关系去掉 2.把程序对象设置到IOC/DI容器的配置中作为Bean 3.由IOC/D.容器来管理Bean的创建和实例化 4.由IOC/DI容器来把Bean之 ...

  3. Java Math的floor,round,ceil函数小结

    转自 http://blog.csdn.net/foart/article/details/4295645 floor 返回不大于的最大整数 round 则是4舍5入的计算,入的时候是到大于它的整数( ...

  4. 但从谈论性能点SQL Server选择聚集索引键

    简单介绍 在SQL Server中,数据是按页进行存放的.而为表加上聚集索引后,SQL Server对于数据的查找就是依照聚集索引的列作为keyword进行了. 因此对于聚集索引的选择对性能的影响就变 ...

  5. 本文摘录 - Infobright

    背景 论文 Brighthouse: AnAnalytic Data Warehouse for Ad-hoc Queries.VLDB 2008 brighthouse它是一个面向列的数据仓库.在数 ...

  6. 使用live delegate on解决js后装html故障问题

    今天写一个前端的东西.每学到更多的知识.几下就能写几行代码.代码行数十个.代码几个文件量--这是真的.一直以来研究的前端遇到的问题仍然在实践百度谷歌问答. 我今天遇到这样的问题:已经写js代码,正确a ...

  7. 刷牙LeetCode思考

    时间已经到了不自觉地,3在五月中旬.今天正式LeetCode自由181刷牙的问题.感觉,以提高他们的算法非常有帮助. 第一个主要的深搜索,广泛搜索,DP他已经掌握7788.也有自己写的代码格公式,使用 ...

  8. MEF初体验之一:在应用程序宿主MEF

    在MEF出现以前,其实微软已经发布了一个类似的框架,叫MAF(Managed Add-in Framework),它旨在使应用程序孤立和更好的管理扩展,而MEF更关心的是可发现性.扩展性和轻便性,后者 ...

  9. ZOJ 3623 Battle Ships 简单DP

    链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3623 题意:给出N种可以建造的船和对方的塔生命值L,每种船给出建造时 ...

  10. Team Foundation Server 2015使用教程--团队项目创建