极光推送java 实现ios和android及时推送和自定义延时推送回调

今天就来写一篇根据极光提供的代码 介绍自己封装一个了简单的client和demo的用法,主要实现ios和android及时推送和自定义延时推送回调。

目录

JPushInit

JPushUtil

Demo

其它一些知识

JPushBase

JPushIosAndroid


首先先别着急 写好的源码镇压一波 极光推送代码 。

你要静下心看一下极光推送文档,看完后下面的图片这就是项目结构了 虽然是极光提供的代码 但是也要讲一下自己写的client包

极光推送java 实现ios和android及时推送和自定义延时推送回调_第1张图片

client包里面主要是这几个类 也足够用了 我主要是使用了别名指定设备推送

极光推送java 实现ios和android及时推送和自定义延时推送回调_第2张图片

因为业务需求很繁琐 在这说一下我的需求是什么样的 1、只要安装了软件没有注册就给推送,这样的用户叫游客  2、按照会员类型推送,就是已注册的用户 3、按照ios或者android两个设备任意一个推送  4、点名推送  当然这些东西都是要存在表里面的 所以展示表结构

ok 接下来继续介绍构建的代码 首先看一下

JPushInit

极光推送java 实现ios和android及时推送和自定义延时推送回调_第3张图片

JPushInit为了实现初始化,返回一个JPushClient提供给接下来要用到的地方,在程序里只出现一次new JPushClient就行了 然后通过JPushUtil.jpushClient就可以到处用了 init这个类以后还会初始化一些其它东西 为了统一调用者的配置的规范 所以使用abstract约束和面向对象。

 

JPushUtil

极光推送java 实现ios和android及时推送和自定义延时推送回调_第4张图片

这个类就是实现 一些工具的调用封装 提供给外面使用 不难看出里面封装了添加定时任务addScheduled()和取消任务cancelScheduled()

 

Demo

极光推送java 实现ios和android及时推送和自定义延时推送回调_第5张图片

1、继承JPushInit主要为了实现拓展 在上面讲的可以看到JPushInit.java它做了什么

2、调用初始化配置的方法 为了其它项目引用他 配置起来就很好做了

3、实现一个可以推IosAndAndroid的一个类

4、调用普通推送 完成

让我们再来看看带附加参数和自定义延时推送回调的使用

极光推送java 实现ios和android及时推送和自定义延时推送回调_第6张图片

1、还是通过构造函数传参

2、调用推送实现Runnable方法run 然后写自己的业务

3、等待到期时间 成功

是不是很简单 基本上不用做什么事情 简简单单的一个new和一个方法就实现了推送




其它一些知识

下面是介绍我client包里面的类是怎么做的一些讲解 有兴趣的可以看一下 以JPushIosAndroid为例子

这里顺便插一句为什么我自己实现自定义的通知而不用极光自己的 因为他的进行删除任务的时候需要任务id 而id是他自己定义的 如果使用他的id进行删除 那么我重启项目就没办法找到这个任务的id 除非把id记录到数据库 但是这样挺费劲的所以 只提供添加任务 在回调里面自己执行相应的业务 当然我写的也有按照极光自己定时任务推送的参考一下push里面是什么就行了。

JPushBase

极光推送java 实现ios和android及时推送和自定义延时推送回调_第7张图片

抽象两个方法一个普通一个定时

 

JPushIosAndroid

极光推送java 实现ios和android及时推送和自定义延时推送回调_第8张图片

通过构造我给参数设置了值 主要就是PushPayload很重要

极光推送java 实现ios和android及时推送和自定义延时推送回调_第9张图片

然后实现了两个方法 在延时推送方法里面 黄色框的就是极光的推送实现 后来改成自己的了 上面也有解释为什么我不用。

 

cheer cheer

 

 

你可能感兴趣的:(java)