|
@@ -16,12 +16,21 @@ import com.getui.push.v2.sdk.dto.req.message.android.Ups;
|
|
import com.getui.push.v2.sdk.dto.req.message.ios.Alert;
|
|
import com.getui.push.v2.sdk.dto.req.message.ios.Alert;
|
|
import com.getui.push.v2.sdk.dto.req.message.ios.Aps;
|
|
import com.getui.push.v2.sdk.dto.req.message.ios.Aps;
|
|
import com.getui.push.v2.sdk.dto.req.message.ios.IosDTO;
|
|
import com.getui.push.v2.sdk.dto.req.message.ios.IosDTO;
|
|
|
|
+import com.gexin.rp.sdk.base.IPushResult;
|
|
|
|
+import com.gexin.rp.sdk.base.impl.AppMessage;
|
|
|
|
+import com.gexin.rp.sdk.base.impl.SingleMessage;
|
|
import com.gexin.rp.sdk.base.impl.Target;
|
|
import com.gexin.rp.sdk.base.impl.Target;
|
|
|
|
+import com.gexin.rp.sdk.base.payload.APNPayload;
|
|
|
|
+import com.gexin.rp.sdk.exceptions.RequestException;
|
|
|
|
+import com.gexin.rp.sdk.http.IGtPush;
|
|
|
|
+import com.gexin.rp.sdk.template.TransmissionTemplate;
|
|
import com.yh.saas.plugin.yiliangyiyun.entity.CommonUser;
|
|
import com.yh.saas.plugin.yiliangyiyun.entity.CommonUser;
|
|
import com.yh.saas.plugin.yiliangyiyun.mapper.CommonUserMapper;
|
|
import com.yh.saas.plugin.yiliangyiyun.mapper.CommonUserMapper;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Component;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
|
+import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -108,7 +117,6 @@ public class GeTuiUtils {
|
|
androidDTO.setUps(ups);
|
|
androidDTO.setUps(ups);
|
|
pushChannel.setAndroid(androidDTO);
|
|
pushChannel.setAndroid(androidDTO);
|
|
pushDTO.setPushChannel(pushChannel);
|
|
pushDTO.setPushChannel(pushChannel);
|
|
-
|
|
|
|
// PushMessage在线走个推通道才会起作用的消息体
|
|
// PushMessage在线走个推通道才会起作用的消息体
|
|
PushMessage pushMessage = new PushMessage();
|
|
PushMessage pushMessage = new PushMessage();
|
|
pushMessage.setTransmission(" {title:\""+title+"\",content:\""+content+"\",payload:\"test\"}");
|
|
pushMessage.setTransmission(" {title:\""+title+"\",content:\""+content+"\",payload:\"test\"}");
|
|
@@ -123,15 +131,55 @@ public class GeTuiUtils {
|
|
ApiResult<Map<String, Map<String, String>>> apiResult = pushApi.pushToSingleByCid(pushDTO);
|
|
ApiResult<Map<String, Map<String, String>>> apiResult = pushApi.pushToSingleByCid(pushDTO);
|
|
if (apiResult.isSuccess()) {
|
|
if (apiResult.isSuccess()) {
|
|
// success
|
|
// success
|
|
- System.out.println(apiResult.getData());
|
|
|
|
|
|
+ System.out.println("个推 通知消息3:"+apiResult.getData());
|
|
} else {
|
|
} else {
|
|
// failed
|
|
// failed
|
|
System.out.println("code:" + apiResult.getCode() + ", msg: " + apiResult.getMsg());
|
|
System.out.println("code:" + apiResult.getCode() + ", msg: " + apiResult.getMsg());
|
|
}
|
|
}
|
|
|
|
+ //推送穿透消息
|
|
|
|
+ IGtPush push = new IGtPush(host, appKey, masterSecret);
|
|
|
|
+ TransmissionTemplate template = genTransmissionTemplate(content, title);// 设定消息模式为透传
|
|
|
|
+ SingleMessage msg = new SingleMessage();// 个人推送
|
|
|
|
+ msg.setOffline(true);
|
|
|
|
+ msg.setOfflineExpireTime(2 * 1000 * 3600);
|
|
|
|
+ msg.setData(template);
|
|
|
|
+ Target target = new Target();// 设定接收人
|
|
|
|
+ target.setAppId(appId);
|
|
|
|
+ target.setClientId(cid);
|
|
|
|
+ try {
|
|
|
|
+ IPushResult ret = push.pushMessageToSingle(msg, target);
|
|
|
|
+ System.out.println("个推 通知消息1:"+ret.getResponse().toString());
|
|
|
|
+ } catch (RequestException e) {
|
|
|
|
+ String requstId = e.getRequestId();
|
|
|
|
+ IPushResult ret = push.pushMessageToSingle(msg, target, requstId);
|
|
|
|
+ System.out.println("个推 通知消息2:"+ret.getResponse().toString());
|
|
|
|
+ }
|
|
}
|
|
}
|
|
catch (Exception e){
|
|
catch (Exception e){
|
|
System.out.println("推送异常:" + e.getMessage());
|
|
System.out.println("推送异常:" + e.getMessage());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ private static TransmissionTemplate genTransmissionTemplate(String content, String title) throws Exception {
|
|
|
|
+ TransmissionTemplate template = new TransmissionTemplate();
|
|
|
|
+ template.setAppId(appId);
|
|
|
|
+ template.setAppkey(appKey);
|
|
|
|
+ template.setTransmissionContent(content);
|
|
|
|
+ template.setTransmissionType(2);
|
|
|
|
+ // ios使用
|
|
|
|
+ APNPayload apnpayload = new APNPayload();
|
|
|
|
+ APNPayload.DictionaryAlertMsg alertMsg = new APNPayload.DictionaryAlertMsg();
|
|
|
|
+// if (title.length() > 50) {
|
|
|
|
+// title = title.substring(0, 50) + "……";
|
|
|
|
+// }
|
|
|
|
+// alertMsg.setBody(title);// 通知文本消息字符串
|
|
|
|
+
|
|
|
|
+ apnpayload.setContentAvailable(1);// 推送直接带有透传数据
|
|
|
|
+ // apnpayload.setBadge(0);//应用icon上显示的数字
|
|
|
|
+ apnpayload.setSound("default");// 通知铃声文件名
|
|
|
|
+// apnpayload.setAlertMsg(alertMsg);
|
|
|
|
+ template.setAPNInfo(apnpayload);
|
|
|
|
+ template.setTransmissionType(2);
|
|
|
|
+ return template;
|
|
|
|
+ }
|
|
|
|
|
|
}
|
|
}
|