增加腾讯云推送
This commit is contained in:
@@ -56,7 +56,8 @@ public class BindSnController {
|
||||
|
||||
try {
|
||||
String randomString = RandomStringUtils.randomAlphanumeric(32);
|
||||
PushUtils.aliyunAsyncPush(randomString, userPhone, sn);
|
||||
// PushUtils.aliyunAsyncPush(randomString, userPhone, sn);
|
||||
PushUtils.tpnsPush(randomString, userPhone, sn);
|
||||
return Result.ok().message("send message success");
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
|
||||
@@ -6,13 +6,24 @@ import com.aliyun.sdk.service.push20160801.AsyncClient;
|
||||
import com.aliyun.sdk.service.push20160801.models.PushRequest;
|
||||
import com.aliyun.sdk.service.push20160801.models.PushResponse;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.tencent.xinge.XingeApp;
|
||||
import com.tencent.xinge.bean.AudienceType;
|
||||
import com.tencent.xinge.bean.Message;
|
||||
import com.tencent.xinge.bean.MessageAndroid;
|
||||
import com.tencent.xinge.bean.MessageType;
|
||||
import com.tencent.xinge.push.app.PushAppRequest;
|
||||
import darabonba.core.client.ClientOverrideConfiguration;
|
||||
import org.glassfish.jaxb.core.v2.TODO;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
|
||||
public class PushUtils {
|
||||
public static void aliyunAsyncPush(String verifyKey, String phone,String sn) throws ExecutionException, InterruptedException {
|
||||
|
||||
public static void aliyunAsyncPush(String verifyKey, String phone, String sn) throws ExecutionException, InterruptedException {
|
||||
// HttpClient Configuration
|
||||
/*HttpClient httpClient = new ApacheAsyncHttpClientBuilder()
|
||||
.connectionTimeout(Duration.ofSeconds(10)) // Set the connection timeout time, the default is 10 seconds
|
||||
@@ -50,6 +61,10 @@ public class PushUtils {
|
||||
//.setConnectTimeout(Duration.ofSeconds(30))
|
||||
)
|
||||
.build();
|
||||
JsonObject params = new JsonObject();
|
||||
params.addProperty("verify_key", verifyKey);
|
||||
params.addProperty("phone", phone);
|
||||
params.addProperty("time", System.currentTimeMillis());
|
||||
|
||||
// Parameter settings for API request
|
||||
PushRequest pushRequest = PushRequest.builder()
|
||||
@@ -60,7 +75,7 @@ public class PushUtils {
|
||||
.targetValue(sn)
|
||||
.title("1")
|
||||
.storeOffline(true)
|
||||
.body("{ \"perator\":\""+phone+"\",\"time\":\""+System.currentTimeMillis()+"\",\"verify_key\":\""+verifyKey+"\" }")
|
||||
.body(params.toString())
|
||||
// Request-level configuration rewrite, can set Http request parameters, etc.
|
||||
// .requestConfiguration(RequestConfiguration.create().setHttpHeaders(new HttpHeaders()))
|
||||
.build();
|
||||
@@ -82,5 +97,43 @@ public class PushUtils {
|
||||
client.close();
|
||||
}
|
||||
|
||||
public static void tpnsPush(String verifyKey, String phone, String sn) {
|
||||
XingeApp xingeApp = new XingeApp.Builder()
|
||||
.appId("1500043720")
|
||||
.secretKey("1712af9e3079087447f4c35d2f622b89")
|
||||
.domainUrl("https://api.tpns.tencent.com/")
|
||||
.build();
|
||||
|
||||
PushAppRequest pushAppRequest = new PushAppRequest();
|
||||
// 选择推送目标类型
|
||||
pushAppRequest.setAudience_type(AudienceType.account);
|
||||
// 消息类型:通知栏或透传消息
|
||||
pushAppRequest.setMessage_type(MessageType.message);
|
||||
// 选择推送的账号类型
|
||||
//todo 为1时不能接收到不知什么原因 https://console.cloud.tencent.com/tpns/user-tools/1500043720/ap-guangzhou-1
|
||||
pushAppRequest.setAccount_push_type(0);
|
||||
|
||||
JsonObject params = new JsonObject();
|
||||
params.addProperty("verify_key", verifyKey);
|
||||
params.addProperty("phone", phone);
|
||||
params.addProperty("time", System.currentTimeMillis());
|
||||
|
||||
Message message = new Message();
|
||||
// 推送标题
|
||||
message.setTitle("1");
|
||||
// 推送内容
|
||||
message.setContent(params.toString());
|
||||
MessageAndroid messageAndroid = new MessageAndroid();
|
||||
message.setAndroid(messageAndroid);
|
||||
pushAppRequest.setMessage(message);
|
||||
ArrayList<String> accountList = new ArrayList<>();
|
||||
// 添加绑定账号
|
||||
accountList.add(sn);
|
||||
// 设置账号列表
|
||||
pushAppRequest.setAccount_list(accountList);
|
||||
|
||||
JSONObject ret = xingeApp.pushApp(pushAppRequest);
|
||||
System.out.println(ret);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user