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. CSS3制作精美的iphone电话图标,不使用图片

    <!DOCTYPE HTML> <html lang=zh-cn> <head> <meta charset=utf-8> <title>C ...

  2. Net中的反应式编程

    Net中的反应式编程(Reactive Programming)   系列主题:基于消息的软件架构模型演变 一.反应式编程(Reactive Programming) 1.什么是反应式编程:反应式编程 ...

  3. S性能 Sigmoid Function or Logistic Function

    S性能 Sigmoid Function or Logistic Function octave码 x = -10:0.1:10; y = zeros(length(x), 1); for i = 1 ...

  4. Android开发学习总结(五)——Android应用目录结构分析(转)

    一.手动创建android项目 手动创建一个Android项目,命名为HelloWorld,命令如下: android create project -n HelloWorld -t 1 -p E:/ ...

  5. 4.帧循环(游戏循环),schedule

     1 概述 游戏乃至图形界面的本质是不断地画图,然而画图并非任意的,不论什么游戏都须要遵循一定的规则来呈现出来,这些规则就体现为游戏逻辑.游戏逻辑会控制游戏内容,使其依据用户输入和时间流逝而改变. ...

  6. swift类名称显示变量

    <span style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51); font-family: Aria ...

  7. Androida规划nt打包

    1.准备工作 (1)首先安装好ant工具 (2)生成keystore 在jdk的bin文件夹下 输入 keytool -genkey -alias android.keystore -keyalg R ...

  8. CentOS 忘记 root password处理

    在倒计时启动时间,按任意键进入,例如下面的页面 输入 e. 进入这个页面.上下移动至高亮条到中间 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ29yZV ...

  9. 新秀翻译(两)——使用Java通用配置模板方法模式

    假设你发现你已经非常重码,你可能会考虑使用模板的方法来消除easy重复错误代码.下面是一个示例:以下两类,他完成了几乎相同的功能: 实例化并初始化一个Reader来读取CSV文件. 读取每一行并解析: ...

  10. HDU 3366 Passage (概率DP)

    Passage Problem Description Bill is a millionaire. But unfortunately he was trapped in a castle. The ...