今天贴一下以前写的用极光进行推送的代码,希望能帮助到有需要的朋友
极光推送文档(JAVA)
概述:
这是java版本的推送jar,提供了消息推送的功能,(底层为极光推送)。
支持的推送方式如下:
- 全网推送
- 按tag推送
- 按alias推送
支持推送手机平台如下:
- Android
- ios
- Android & ios
安装
导入推送的jar包,名称为push_sdk-0.0.1-SNAPSHOT.jar
maven地址:暂未上传
在项目中添加 push.properties 配置文件,内容为:
JG_APPKEY=f637675eb4bedda43 // 极光推送的AppKey
JG_SECRET=b5a4910f42917c1a4 // 极光推送的Master Secret
JG_PUSH_ENV=true // 推送环境,true表示推送正式环境,false表示推送开发环境(用电脑build)
依赖包
如果使用Maven构建项目,则需要在你的项目pom.xml里dependencies节点下增加如下代码:
<dependency>
<groupId>cn.jpush.api</groupId>
<artifactId>jpush-client</artifactId>
<version>3.2.7</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.2.4</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.5</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.5</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>17.0</version>
</dependency>
<dependency>
<groupId>com.squareup.okhttp</groupId>
<artifactId>mockwebserver</artifactId>
<version>1.5.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.3</version>
</dependency>
调用实例:
1.全网推送
PushAllVO all = new PushAllVO(); // 构造全网推送对象
all.setContent(“abc”); // 设置推送的内容(通知栏显示的内容)
all.setPlatform(“3”); // 设置推送的平台
Map
2.按alias推送
PushAliasVO alias = new PushAliasVO(); // 构造按alias推送对象
alias.setContent(“abc”); // 设置推送的内容
alias.setPlatform(“3”); // 设置推送的平台
Map
3.按tag推送
PushTagVO tag = new PushTagVO(); // 构造按tag推送的对象
tag.setContent(“1234”); // 设置推送的内容
tag.setPlatform(“3”); // 设置推送的平台
Map
SET方法入参详解:
必传
setContent(); // String类型
setPlatform(); // String类型,1代表Android 2代表ios 3代表Android & ios
可不传
setExtra(); // Map
当推送为按alias推送时必传
setAlias(); // List类型
当推送为按tag推送时必传
setPushTag(); // String类型,多个tag用逗号分隔
注意点:
当推送为按tag推送,且推送交集时,setPushTag中至少有2个参数 如:tag.setPushTag(“KS_DEFAULT_3,KS_DEFAULT_1”);
返回值详解:
- 0 代表推送完成
- 1 代表推送失败
- 2 代表传入必要参数为空
- 3 代表传入的参数值错误
- 4 代表按tag推送且推送交集时输入的tag数量不足