PhoneGap极光推送 cordova音讯推送

媒介

说一下写这篇文章的初志。之前做过一个APP用到了音讯推送,近来这个项目又用到了推送。然则由于两个项目距离4个多月,推送集成、运用体式格局等都忘了,所以当时又去看了之前项目的源码和一些推送相干的博客,寻觅那些千丝万缕。倏忽以为如许很浪费时间,为什么本身不写篇文章总结一下呢,今后一定还会用到推送的,下次用的时刻再看看这篇文章,思绪应该会比较直观。厥后再想一想,嗯,对的,写吧!

PS:这篇文章讲是基于cordova环境下的音讯推送,假如没有cordova环境的,请先装好该环境。

正文

1.cordova建立APP项目

cordova create myAPP com.muzi.test 建立一个文件名为myAPP,APP包名为com.muzi.test的项目
cordova platforms add android 将建立的项目加入到Android平台中

详细的一些cordova操纵可以看我之前写的一篇博客 从这里飞过去

2.请求音讯推送APP_KEY(我音讯推送一向用的极光推送)

2.1 请求APP_KEY须要先在极光推送官网注册,详细流程不多说。

2.2 进入到APP运用建立中间

https://www.jiguang.cn/accoun…

《PhoneGap极光推送 cordova音讯推送》

《PhoneGap极光推送 cordova音讯推送》

《PhoneGap极光推送 cordova音讯推送》

《PhoneGap极光推送 cordova音讯推送》

这里填入的包名(填入保留以后不能再修正)就是最先cordova建立项目是的包名,两处包名必需雷同,不然不能推送,保留以后可以下载集成好极光推送的demo,也可以下载打包好的测试app举行推送测试。(由于公司产物特别,只面相Android用户,所以对其他平台的推送运用不是那末熟习,这里就只引见Android端的运用)

3. 装置极光推送插件 jpush-phonegap-plugin

进入到刚最先cordova建立的项目文件根目录,装置插件,一共有3中体式格局:

  • 经由过程 Cordova Plugins 装置,请求 Cordova CLI 5.0+:
    cordova plugin add jpush-phonegap-plugin --variable APP_KEY=your_jpush_appkey
  • 或直接经由过程 url 装置:
    cordova plugin add https://github.com/jpush/jpush-phonegap-plugin.git --variable APP_KEY=your_jpush_appkey
  • 或下载到当地装置:

    cordova plugin add Your_Plugin_Path --variable APP_KEY=your_jpush_appkey

装置插件的时刻,注重Jpush和jcore的版本,有些版本不能初始化推送

《PhoneGap极光推送 cordova音讯推送》

《PhoneGap极光推送 cordova音讯推送》

《PhoneGap极光推送 cordova音讯推送》

your_jpush_appkey:在极光推送建立运用时天生的APP_KEY

《PhoneGap极光推送 cordova音讯推送》

4.编码

4.1 初始化JPush

App启动时,在deviceready事宜回调中挪用window.JPush.init()要领初始化,可以挪用window.JPush.stopPush()完毕推送

document.addEventListener("deviceready",function(){    
    //插件初始化    
    window.JPush.init();
    }, 
    false
);

4.2 极光推送的推送体式格局

  • 播送(所有人)
  • 装备标签(Tag)–可以是单人或许多人
  • 装备别号(Alias)–可以是单人或许多人
  • registration ID(详细某一个)
  • 用户分群推送

《PhoneGap极光推送 cordova音讯推送》

4.3 猎取极光推送背景返回的装备registration ID

这个registration ID是唯一的,项目中接收到这个ID后可以存储起来,然后发送给服务端,服务端可以依据这个registration ID向指定客户端(手机)发送推送音讯

window.JPush.getRegistrationID(function(rId) {       
        console.log(rId);
      });

4.4 设置装备标签(Tag)

window.JPush.setTags({ sequence: 1, tags: ['tag1', 'tag2'] },
  (result) => {
    var sequence = result.sequence
    var tags = result.tags  // 数组范例
  }, (error) => {
    var sequence = error.sequence
    var errorCode = error.code
  })

参数申明
sequence: number。用户自定义的操纵序列号, 同操纵效果一同返回,用来标识一次操纵的唯一性。
tags: Array,标签数组。

挪用这个要领后,会向极光的服务端发送设置的Tag,设置后,会触发响应的回调函数

4.5 设置装备别号(Alias)

window.JPush.setAlias({ sequence: 1, alias: 'your_alias' },
  (result) => {
    var sequence = result.sequence
    var alias = result.alias
  }, (error) => {
    var sequence = error.sequence
    var errorCode = error.code
  })

参数申明
sequence: number。用户自定义的操纵序列号, 同操纵效果一同返回,用来标识一次操纵的唯一性。
tags: string

  • 每次挪用设置有用的别号将掩盖之前的设置。
  • 有用的别号构成:字母(辨别大小写)、数字、下划线、汉字、特别字符@!#$&*+=.|。
  • 限定:alias 定名长度限定为 40 字节(推断长度需采纳 UTF-8 编码)。

4.6 猎取推送音讯内容

当客户端接收到推送音讯时,会触发这个要领,会返回一个json构造的数据包,在内里可以取到须要的数据

// 接收到推送音讯回调
      window.plugins.jPushPlugin.receiveNotificationInAndroidCallback = function(
        data
      ) {
        try {          
          console.log(
            "JPushPlugin:receiveNotificationInAndroidCallback:",
            data
          );
        } catch (exception) {
          console.log("JPushPlugin:pushCallback ", exception);
        }
      };

4.7 点击关照栏的推送音讯

点击关照栏的音讯时,会触发这个要领,并返回包括详细推送内容的json数据,可以依据内里的内容,来做响应的事宜处置惩罚,比如说须要点击关照栏音讯,跳转到响应页面做处置惩罚

 //点击关照栏的回调,在这里编写特定逻辑
       window.plugins.jPushPlugin.openNotificationInAndroidCallback = function(
         data
       ) {
         try {
           //  location.href = 'index.html';           
           console.log(data);
         } catch (error) {}
       };

4.8 更多推送相干的api,可以检察phonegap插件官网

4.9 推送测试

在初始化极光推送window.JPush.init()后,当第一次运转APP时会天生了registration ID,或许胜利设置了标签(Tag),别号(Alias),可以在极光推送的官网上,举行音讯推送测试,如下图:

《PhoneGap极光推送 cordova音讯推送》

《PhoneGap极光推送 cordova音讯推送》

当推送初音讯后,一会儿就会在手机上接收到推送信息(偶然可以会有几秒到10多秒的耽误,平常情况下是秒到)

空话

以上就是我运用jpush-phonegap-plugin插件推送的一些履历,愿望可以协助到须要的道友。假如有毛病或不足的处所,迎接列位道友指出,假如列位以为惬意,迎接点赞和珍藏。

《PhoneGap极光推送 cordova音讯推送》

参考文献

    原文作者:卖女孩的小火柴
    原文地址: https://segmentfault.com/a/1190000014119306
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞