// 定义常量, 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);