精华 Ionic项目中使用极光推送-android
发布于 2年前 作者 xiaoheshang 14895 次浏览 来自 分享

对于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项目中如何使用这个插件。 第一步:注册极光推送账户,并创建应用 051335081023928.png 测试例子,应用名称为jPushDemo,应用包名:cn.kigsir.jpushdemo 创建成功后,会为应用生成一个appkey(后面要用到的) 和 一个API密钥 051335096173899.png

第二步:下载并配置极光推送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文件安装到手机,在极光推送官网的应用控制台发送通知测试,测试效果: QQ图片20150305132435.jpg 最后简单的封装了一些极光推送的功能,效果如下: QQ图片20150305132644.jpg

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

15 回复

赞,建议增加openNotificationInAndroidCallback事件的调用方法介绍

赞一个~~

建议lz把代码放到github上

@DongHongfei 新加了这个事件的处理,源代码放在GitHub上

@lanceli 嗯已经放上去了

厉害,来学习一下

赞赞赞!!!

不明觉厉!接下来的开发用得上!

@DongHongfei http://blog.hainuo.info/blog/67_jpush-in-ionic.html 我整理了下 并对部分内容做了修改 感觉可以获取到极光推送注册id了,会有更大发展

貌似不支持cordova 5?

为什么添加极光推送插件: ionic plugin add D:\plugins\jpush-phonegap-plugin 不是从本地目录安装,而是从registry.cordova.io上搜索呢?

楼主把目录写错了吧,把’’改成’/’就行了

现在Android上的推送,在国内手机rom上,比如miui,华为的rom上,关掉app就不能推送了吧?好像必须要手动把app加进自启动列表才可以。不知道有没有不用加入自启动列表也能关掉app推送的方法,我问了极光的技术支持,他们说貌似现在没有办法做到。不加入自启动列表,app关了,相应的推送的service也被关了。

回到顶部