对于Ionic项目中使用消息推送服务,Ionic官方提供了ngCordova项目,这个里面的提供了用angularjs封装好的消息推送服务(官方文档),使用的是GitHub上的 PushPlugin 插件,也有相关的实现实例:GitHub地址 ,可是使用的是Google的GCM消息推送服务,一些网络缘由,国内GCM可能不怎么好用(本身也没有试可不能够)。java
因而选择国内的消息推送服务,主要有:百度云推送,腾讯信鸽,极光推送,yunba 等等,其中只有极光推送官方提供了phonegap/cordova 插件,其余的几个GitHub上也有我的开发了相应的插件(能够GitHub上搜 :baidupush,xgpush能够找到),鉴因而官方提供,因此选择了极光推送。android
Github地址:https://github.com/jpush/jpush-phonegap-plugingit
下面说下在Ionic项目中如何使用这个插件。angularjs
第一步:注册极光推送帐户,并建立应用github
测试例子,应用名称为jPushDemo,应用包名:cn.kigsir.jpushdemoweb
建立成功后,会为应用生成一个appkey(后面要用到的) 和 一个API密钥apache
第二步:下载并配置极光推送phonegap插件(这一步Github上有详细文档)网络
1.运行命令行,切换到你想保存插件的目录,这里咱们保存到H:\webapp\push\JPush\plugins\目录下,执行:app
cd H:\webapp\push\JPush\plugins\webapp
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地址