// 定义常量, appId、appKey、masterSecret 采用本文档 "第二步 获取访问凭证 "中获得的应用配置 private static String appId = ""; private static String appKey = ""; private static String masterSecret = ""; private static String url = "http://sdk.open.api.igexin.com/apiex.htm";
/* * 个推 title 推送标题 text 推送内容 list clientid数组(数组里面是多个手机用户的ID(每个用户的ID是唯一的)) */ public static void PushPrivate(String title, String text, List<String> list,String code) { // 显示每个用户的用户状态,false:不显示,true:显示 System.setProperty("gexin.rp.sdk.pushlist.needDetails", "true"); // 推送主类 IGtPush push = new IGtPush(url, appKey, masterSecret); try { ListMessage message = new ListMessage(); // 通知模版:支持TransmissionTemplate、LinkTemplate、NotificationTemplate,此处以NotificationTemplate为例 // 在通知栏显示一条含图标、标题等的通知,用户点击后激活您的应用 TransmissionTemplate template = new TransmissionTemplate(); template.setAppId(appId); template.setAppkey(appKey); // 透传消息设置,1为强制启动应用,客户端接收到消息后就会立即启动应用;2为等待应用启动 template.setTransmissionType(2); template.setTransmissionContent(code); // 设置定时展示时间 message.setData(template); message.setOffline(true); //用户当前不在线时,是否离线存储,可选,默认不存储 message.setOfflineExpireTime(72 * 3600 * 1000); //离线有效时间,单位为毫秒,可选 // 接收者 List<Target> targets = new ArrayList<Target>(); if (list.size() > 0 && list != null) { for(String clientId : list){ Target target = new Target(); target.setAppId(appId); // 接收者安装的应用的APPID target.setClientId(clientId); // 接收者的ClientID targets.add(target); } } // 推送前通过该接口申请“ContentID” String contentId = push.getContentId(message); IPushResult ret = push.pushMessageToList(contentId, targets); System.out.println(ret.getResponse().toString()); } catch (Exception e) { e.printStackTrace(); } } 调取使用:
PageData CID = new PageData(); String title = "你有一条作废的合同信息"; String text = "请前去审批 "; List<String> list = new ArrayList<String>(); List<PageData> listcid = contractService.findlistCID(CID); for(int i =0 ;i<listcid.size();i++){ list.add(listcid.get(i).get("CID").toString()); } JSONObject json =new JSONObject(); json.put("ID", contractId); json.put("TYPE",0); json.put("TITLE","你有一条作废的合同信息"); json.put("TEXT","请前去审批"); String ID = json.toString(); PushToApp.PushPrivate(title,text,list,ID);