Ionic项目中使用极光推送-android

 

对于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文件安装到手机,在极光推送官网的应用控制台发送通知测试,测试效果:

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

测试项目源码下载:下载地址

 
分类: ionic

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

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

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

  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. ionic 安装本地插件极光推送

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

  6. iOS 集成极光推送

    最近极光推送更新到V3版本之后,推送又不成功!配合服务器联调了半天,发现是服务器环境配置有问题. 想着就把极光推送的步骤给记录下来. 一.配置push证书 这个可以到极光文档里写,很详细 二.导入必要 ...

  7. ThinkPHP 3.2.x 集成极光推送指北

    3.2版本已经过了维护生命周期,官方已经不再维护,请及时更新至5.0版本 -- ThinkPHP 官方仓库 以上,如果有条件,请关闭这个页面,然后升级至 ThinkPHP 5,如果由于各种各样的原因无 ...

  8. thinkphp3.2集成极光推送

    项目中用到了给客户端的推送功能,选用了极光推送,下面演示一下在thinkphp中集成极光推送 1.下载极光推送的php类,可以从笔者的git下载 地址:https://git.oschina.net/ ...

  9. AndroidStudio离线打包MUI集成JPush极光推送并在java后端管理推送

    1.AndroidStudio离线打包MUI 如何离线打包请参看上篇随笔<AndroidStudio离线打包MUI> 2.集成极光推送 官方文档:https://docs.jiguang. ...

随机推荐

  1. Windows 驱动发展基金会(九)内核函数

    Windows 驱动发展基金会系列,转载请注明出处:http://blog.csdn.net/ikerpeng/article/details/38849861 这里主要介绍3类Windows的内核函 ...

  2. Chapter 1 Securing Your Server and Network(4):使用虚拟服务帐号

    原文:Chapter 1 Securing Your Server and Network(4):使用虚拟服务帐号 原文出处:http://blog.csdn.net/dba_huangzj/arti ...

  3. 每天进步一点点--&gt;函数fseek() 使用方法

    在阅读代码时,遇到了非常早之前用过的fseek(),非常久没实用了,有点陌生,写出来以便下次查阅. 函数功能是把文件指针指向文件的开头,须要包括头文件stdio.h fseek   函数名: fsee ...

  4. C#软件开发实例.个人定制自己的屏幕抓图工具(八)加入了截图功能键盘

    章文件夹 (一)功能概览 (二)创建项目.注冊热键.显示截图主窗体 (三)托盘图标及菜单的实现 (四)基本截图功能实现 (五)针对拖拽时闪烁卡顿现象的优化 (六)加入配置管理功能 (七)加入放大镜的功 ...

  5. CFormView动态调整对话框的尺寸和调整比例控制的部署

    基于单个文件CFormView动态调整对话框的尺寸和调整比例控制的部署 假设你正在开发一个程序基于单个文件,使用CFormView基类来实现多种形式展示,那么,这个文件可能会给你一点帮助. 一.实现对 ...

  6. iOS当该装置是水平屏,frame和bounds分别

    project那里有两个ViewControllers.间ViewController它是root view controller,红色背景,有一个顶button,点击加载后GreenViewCont ...

  7. 付款页面DEMO

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHRxdWVlbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA ...

  8. oracle record is locked by another user

    这个问题的根源先说说:午后更改数据库表,保存更改后,却没有提交完整.突然,去什么地方调试,拔掉网线,然后插上网线,这个出现record is locked by another user错误.网上找原 ...

  9. 为了圣像画系统V1.0Beta版(javascript)-GIS520社区

    地图标绘系统V1.0測试版 (界面比較难看,之后再统一美化!)   演示地址:http://www.gis520.com/gis/plotdemo/index.html 查看可在菜单Map--> ...

  10. Visual Studio Team Services使用教程--默认团队权限说明