| | |
| | | import cn.jpush.api.push.model.Platform; |
| | | import cn.jpush.api.push.model.PushPayload; |
| | | import cn.jpush.api.push.model.audience.Audience; |
| | | import cn.jpush.api.push.model.notification.AndroidNotification; |
| | | import cn.jpush.api.push.model.notification.Notification; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.google.gson.Gson; |
| | | import com.google.gson.JsonObject; |
| | | import com.ks.push.utils.JPushUtil; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.yeshi.utils.push.entity.PushAppInfo; |
| | |
| | | params = message.getActivityParams(); |
| | | } |
| | | |
| | | PushPayload.Builder payloadBuilder = PushPayload.newBuilder(). |
| | | setPlatform(Platform.all()) |
| | | .setNotification(Notification.android(message.getContent(), message.getTitle(), params)); |
| | | AndroidNotification.Builder androidBuilder = AndroidNotification.newBuilder().setAlert(message.getContent()).setTitle(message.getTitle()); |
| | | |
| | | |
| | | if (regIds != null) { |
| | | payloadBuilder.setAudience(Audience.registrationId(regIds)); |
| | | } else if (aliasList != null) { |
| | | payloadBuilder.setAudience(Audience.alias(aliasList)); |
| | | //通过intent推送 |
| | | if (message.getActivity().startsWith("intent:#")) { |
| | | JsonObject intent = new JsonObject(); |
| | | intent.addProperty("url", message.getActivity()); |
| | | androidBuilder = androidBuilder.setIntent(intent).addExtras(message.getActivityParams()); |
| | | } else { |
| | | payloadBuilder.setAudience(Audience.all()); |
| | | androidBuilder = androidBuilder.addExtras(params); |
| | | } |
| | | |
| | | PushPayload.Builder payloadBuilder = PushPayload.newBuilder(). |
| | | setPlatform(Platform.all()) |
| | | .setNotification(Notification.newBuilder() |
| | | .addPlatformNotification(androidBuilder.build()) |
| | | .build()); |
| | | loadTarget(payloadBuilder, regIds, aliasList); |
| | | PushPayload payload = payloadBuilder.build(); |
| | | |
| | | |
| | | try { |
| | | PushResult result = jpushClient.sendPush(payload); |
| | |
| | | LOG.info("Error Message: " + e.getErrorMessage()); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | private static void loadTarget(PushPayload.Builder builder, List<String> regIds, List<String> aliasList) { |
| | | if (regIds != null) { |
| | | builder.setAudience(Audience.registrationId(regIds)); |
| | | } else if (aliasList != null) { |
| | | builder.setAudience(Audience.alias(aliasList)); |
| | | } else { |
| | | builder.setAudience(Audience.all()); |
| | | } |
| | | } |
| | | |
| | | |
| | |
| | | .setMessage(Message.newBuilder() |
| | | .setMsgContent(data.toJSONString()) |
| | | .build()); |
| | | if (regIds != null) { |
| | | payloadBuilder.setAudience(Audience.registrationId(regIds)); |
| | | } else if (aliasList != null) { |
| | | payloadBuilder.setAudience(Audience.alias(aliasList)); |
| | | } else { |
| | | payloadBuilder.setAudience(Audience.all()); |
| | | } |
| | | loadTarget(payloadBuilder, regIds, aliasList); |
| | | |
| | | PushPayload payload = payloadBuilder.build(); |
| | | |
| | |
| | | |
| | | public static void main(String[] args) { |
| | | Map<String, String> activityParams = new HashMap<>(); |
| | | activityParams.put("activity", "test"); |
| | | activityParams.put("type", "requestLocation"); |
| | | activityParams.put("type", "web"); |
| | | JSONObject jumpParams = new JSONObject(); |
| | | jumpParams.put("id", 123123); |
| | | jumpParams.put("url", "http://www.baidu.com"); |
| | | activityParams.put("params", jumpParams.toJSONString()); |
| | | |
| | | PushAppInfo appInfo = new PushAppInfo(); |
| | | appInfo.setAppKey("987d3d50f209994fa522d001"); |
| | | appInfo.setAppSecret("e4053447d0014576ea2c47ab"); |
| | | // PushMessage message = new PushMessage("你好啊", "下午好,hello world", null, null, null, activityParams); |
| | | appInfo.setAppKey("6f219d3bfa78428537090fef"); |
| | | appInfo.setAppSecret("c48f35cd1cef4b717f721e4b"); |
| | | |
| | | Map<String,Object> dataMap=new HashMap<>(); |
| | | dataMap.put("type","requestLocation"); |
| | | |
| | | JSONObject data = new JSONObject(dataMap); |
| | | pushMessage(appInfo, data, Arrays.asList(new String[]{"100d8559098624d84e6"}), null); |
| | | PushMessage pushMessage = new PushMessage(); |
| | | pushMessage.setActivity(JPushUtil.createIntent("com.yeshi.makemoney.video.app.push.PushOpenClickActivity", "com.yeshi.makemoney.video")); |
| | | pushMessage.setActivityParams(activityParams); |
| | | pushMessage.setTitle("测试标题"); |
| | | pushMessage.setContent("测试内容"); |
| | | pushNotification(appInfo, pushMessage, Arrays.asList(new String[]{"1507bfd3f737761f2f2"}), null); |
| | | } |
| | | |
| | | |