# 注意:本文档后期不在跟新,新文档迁移到:[http://www.openkit.cc/docs/openkit/#/](http://www.openkit.cc/docs/openkit/#/)
# 首先感谢使用OpenKit工具包
## 反馈交流QQ群:696279396
|更新时间|版本|作者|
|:--:|:--:|:--:|
|2018-1-25 19:32|V1.1.12|贲海龙|
- 首先我们需要 new 一个 JPushModel 对象
| 内容 | 数据类型 | 是否必传 | 说明 |
| :---: | :---: | :---: | :---: |
| appkey | String | 是 | 极光推动的 appkey|
| mastersecret | String | 是 | 极光推动的 mastersecret|
| con | String | 是 | 极光推动的 内容|
| userid | String[] | 否 | 如果是推送给一个人,或者一类人的时候,必传|
| extras | Map<String, String> | 否 | 推送的附加参数的map集合|
| sound | String | 是 | 声音 默认已经设置成 happy|
```java
// 不传参数,后期用set传参
JPushModel j = new JPushModel()
// 如果你是推送全部(透传一样)
JPushModel j = new JPushModel(String appkey,String mastersecret,String con)
// 如果你是推送给一类人(透传一样)
JPushModel j = new JPushModel(String appkey,String mastersecret,String con,String[] userid)
```
- 如果你有其他需求,你可以用对应的 SET 方法,把你的数据进行封装
```java
// 比如我想重新设置透传的声音
j.setSound = "err";
```
- 下面就是调用方法了
|调用|说明|备注|
|:--:|--|--|
|tuiAll(JPushModel j)|推送给所有||
|tuiGroup(JPushModel j)|推送给一类人(包括一个人)|对象中的userid必须传,如果只有一个,也需要用数组,并且同时最多传1000个|
|touAll(JPushModel j)|透传给所有||
|touGroup(JPushModel j)|透传给一类人(包括一个人)|对象中的userid必须传,如果只有一个,也需要用数组,并且同时最多传1000个|
- 返回
> 我们会返回PushResult对象,同时可以通过:pushResult.getResponseCode() 查看状态,如果是200,说明成功,否则可以自己查看对应的错误
|Code | 描述 | 详细解释 | HTTP Status Code|
|:---:|:---:|:---|:---:|
|1000 | 系统内部错误 | 服务器端内部逻辑错误,请稍后重试。| 500|
|1001 | 只支持 HTTP |Post 方法 不支持 Get 方法。 | 405|
|1002 | 缺少了必须的参数 | 必须改正 | 400
|1003 | 参数值不合法| 必须改正。参数不合法的情况如:Audience参数中tag,alias,registration_id有空值;单发指定的 registration_id 非法或者格式错误。| 400|
|1004 | 验证失败 |必须改正。|详情请看:调用验证 401|
|1005 |消息体太大 | 必须改正。 Android平台Notification+Message长度限制为4000字节; iOS Notification 中 “iOS”:{ } 及大括号内的总体长度不超过:2000个字节(包括自定义参数和符号),iOS 的 Message部分长度不超过 4000 字节; WinPhone平台Notification长度限制为1000字节 | 400|
|1008 | app_key参数非法 | 必须改正 | 400|
|1009 | 推送对象中有不支持的key | 必须改正 | 400|
|1011 | 没有满足条件的推送目标 | 请检查audience | 400|
|1020 | 只支持 HTTPS 请求 | 必须改正 | 404|
|1030 | 内部服务超时 | 稍后重试 | 503|
|2002 |API调用频率超出该应用的限制 | 联系极光商务或技术支持开通更高的 API 调用频率 | 429|
|2003| 该应用appkey已被限制调用 API | 联系技术支持查明限制原因和寻求帮助 | 403|
|2004 | 无权限执行当前操作 | 必须改正。当前调用 API 的源 ip 地址不在该应用的 ip 白名单中。 | 403|
|2005 | 信息发送量超出合理范围。 | 检测到目标用户累计发送消息量过大,超过合理的使用范围,需要检查业务逻辑或者联系技术支持。| 403|
- DEMO
```java
/**
* 极光推送demo
*/
@RequestMapping(value = "/jiguang")
@ResponseBody
public Object jiguang(HttpServletRequest request) throws Exception{
String[] a = {"5a8c59265135427ab58ec0a40624851d","ad2c1ca4dfb146e5992c4be56e1848f2"};
Map<String, String> map = new HashMap<String, String>();
map.put("code","200");
map.put("msg","备注");
JPushModel jPushModel = new JPushModel("********","********","推送内容",a);
jPushModel.setExtras( map);
// PushResult pushResult = tuiAll(jPushModel);
// PushResult pushResult = tuiGroup(jPushModel);
// PushResult pushResult = touAll(jPushModel);
PushResult pushResult = touGroup(jPushModel);
System.out.println(pushResult.getResponseCode());
return JSONObject.toJSON(pushResult);
}
```
- 返回结果
![](https://box.kancloud.cn/7294b1f7fa8d2e6284728cf64b72bcc7_1140x610.png)
## 反馈交流QQ群:696279396
## 赞助
![](https://box.kancloud.cn/bf6f9c0e4f5a786c20d02c56b56a0eaf_600x500.png)