parent
18ca4dd49e
commit
3a0cd34915
@ -0,0 +1,125 @@ |
||||
package com.hfkj.unipush; |
||||
|
||||
import com.alibaba.fastjson.JSONObject; |
||||
import com.getui.push.v2.sdk.ApiHelper; |
||||
import com.getui.push.v2.sdk.GtApiConfiguration; |
||||
import com.getui.push.v2.sdk.api.PushApi; |
||||
import com.getui.push.v2.sdk.common.ApiResult; |
||||
import com.getui.push.v2.sdk.dto.req.Audience; |
||||
import com.getui.push.v2.sdk.dto.req.message.PushChannel; |
||||
import com.getui.push.v2.sdk.dto.req.message.PushDTO; |
||||
import com.getui.push.v2.sdk.dto.req.message.PushMessage; |
||||
import com.getui.push.v2.sdk.dto.req.message.android.AndroidDTO; |
||||
import com.getui.push.v2.sdk.dto.req.message.android.GTNotification; |
||||
import com.getui.push.v2.sdk.dto.req.message.android.ThirdNotification; |
||||
import com.getui.push.v2.sdk.dto.req.message.android.Ups; |
||||
|
||||
import java.util.Map; |
||||
|
||||
/** |
||||
* @author sum1dream |
||||
*/ |
||||
public class UniPushService { |
||||
|
||||
|
||||
/** |
||||
* 创建请求 |
||||
* @return |
||||
*/ |
||||
private static PushApi createClient() { |
||||
// 设置httpClient最大连接数,当并发较大时建议调大此参数。或者启动参数加上 -Dhttp.maxConnections=200
|
||||
System.setProperty("http.maxConnections", "200"); |
||||
GtApiConfiguration apiConfiguration = new GtApiConfiguration(); |
||||
//填写应用配置
|
||||
apiConfiguration.setAppId("JwvQulOIsq8kcFGey8fxo4"); |
||||
apiConfiguration.setAppKey("ERpW23I6gn8jo8NVcjP8H1"); |
||||
apiConfiguration.setMasterSecret("t6HsZ4qwfK7YiBknIeaWy2"); |
||||
// 接口调用前缀,请查看文档: 接口调用规范 -> 接口前缀, 可不填写appId
|
||||
apiConfiguration.setDomain("https://restapi.getui.com/v2/"); |
||||
// 实例化ApiHelper对象,用于创建接口对象
|
||||
ApiHelper apiHelper = ApiHelper.build(apiConfiguration); |
||||
// 创建对象,建议复用。目前有PushApi、StatisticApi、UserApi
|
||||
return apiHelper.creatApi(PushApi.class); |
||||
} |
||||
|
||||
|
||||
/** |
||||
* @Author Sum1Dream |
||||
* @Name androidTemplate |
||||
* @Description // 安卓模版
|
||||
* @Date 16:08 2023/6/9 |
||||
* @Param [uniPushModel] |
||||
* @Return void |
||||
*/ |
||||
public static void androidTemplate(JSONObject object) { |
||||
|
||||
PushApi pushApi = createClient(); |
||||
|
||||
/*设置接收人信息*/ |
||||
//根据cid进行单推
|
||||
PushDTO<Audience> pushDTO = new PushDTO<Audience>(); |
||||
// 设置推送参数
|
||||
pushDTO.setRequestId(System.currentTimeMillis() + ""); |
||||
/**** 设置个推通道参数 *****/ |
||||
PushMessage pushMessage = new PushMessage(); |
||||
pushDTO.setPushMessage(pushMessage); |
||||
GTNotification notification = new GTNotification(); |
||||
pushMessage.setNotification(notification); |
||||
notification.setTitle(object.getString("title")); |
||||
notification.setBody(object.getString("body")); |
||||
notification.setClickType("url"); |
||||
notification.setUrl("https://www.getui.com"); |
||||
/**** 设置个推通道参数,更多参数请查看文档或对象源码 *****/ |
||||
|
||||
/**** 设置厂商相关参数 ****/ |
||||
PushChannel pushChannel = new PushChannel(); |
||||
pushDTO.setPushChannel(pushChannel); |
||||
/*配置安卓厂商参数*/ |
||||
AndroidDTO androidDTO = new AndroidDTO(); |
||||
pushChannel.setAndroid(androidDTO); |
||||
Ups ups = new Ups(); |
||||
androidDTO.setUps(ups); |
||||
ThirdNotification thirdNotification = new ThirdNotification(); |
||||
ups.setNotification(thirdNotification); |
||||
thirdNotification.setTitle(object.getString("title")); |
||||
thirdNotification.setBody(object.getString("body")); |
||||
thirdNotification.setClickType("url"); |
||||
thirdNotification.setUrl("https://www.getui.com"); |
||||
// 两条消息的notify_id相同,新的消息会覆盖老的消息,取值范围:0-2147483647
|
||||
// thirdNotification.setNotifyId("11177");
|
||||
/*配置安卓厂商参数结束,更多参数请查看文档或对象源码*/ |
||||
|
||||
/*设置ios厂商参数*/ |
||||
// IosDTO iosDTO = new IosDTO();
|
||||
// pushChannel.setIos(iosDTO);
|
||||
// // 相同的collapseId会覆盖之前的消息
|
||||
// iosDTO.setApnsCollapseId("xxx");
|
||||
// Aps aps = new Aps();
|
||||
// iosDTO.setAps(aps);
|
||||
// Alert alert = new Alert();
|
||||
// aps.setAlert(alert);
|
||||
// alert.setTitle("ios title");
|
||||
// alert.setBody("ios body");
|
||||
/*设置ios厂商参数结束,更多参数请查看文档或对象源码*/ |
||||
|
||||
/*设置接收人信息*/ |
||||
Audience audience = new Audience(); |
||||
pushDTO.setAudience(audience); |
||||
audience.addCid(object.getString("cid")); |
||||
/*设置接收人信息结束*/ |
||||
/**** 设置厂商相关参数,更多参数请查看文档或对象源码 ****/ |
||||
|
||||
// 进行cid单推
|
||||
ApiResult<Map<String, Map<String, String>>> apiResult = pushApi.pushToSingleByCid(pushDTO); |
||||
System.out.println("===========================================" + apiResult); |
||||
if (apiResult.isSuccess()) { |
||||
// success
|
||||
System.out.println(apiResult.getData()); |
||||
} else { |
||||
// failed
|
||||
System.out.println("code:" + apiResult.getCode() + ", msg: " + apiResult.getMsg()); |
||||
} |
||||
} |
||||
|
||||
|
||||
} |
Loading…
Reference in new issue