From 9c50f1ed4c84517a64aca474f0cd6a700914306c Mon Sep 17 00:00:00 2001 From: heavyrian2012 Date: Wed, 27 Aug 2025 08:29:20 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=87=E7=BA=A7vivo=20push=20sdk?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 10 +- .../push/android/vivo/VivoPush.java | 87 +++++++++++++----- src/main/libs/vPush-server-sdk-1.0.jar | Bin 26225 -> 0 bytes src/main/libs/vpush-server-sdk-3.3.jar | Bin 0 -> 39245 bytes 4 files changed, 71 insertions(+), 26 deletions(-) delete mode 100755 src/main/libs/vPush-server-sdk-1.0.jar create mode 100644 src/main/libs/vpush-server-sdk-3.3.jar diff --git a/pom.xml b/pom.xml index 479fe54..3168a7e 100644 --- a/pom.xml +++ b/pom.xml @@ -85,9 +85,9 @@ com.vivo.push.sdk vPush-server-sdk - 1.0 + 3.3 system - ${project.basedir}/src/main/libs/vPush-server-sdk-1.0.jar + ${project.basedir}/src/main/libs/vPush-server-sdk-3.3.jar @@ -216,6 +216,12 @@ commons-codec 1.16.0 + + + commons-logging + commons-logging + 1.3.2 + diff --git a/src/main/java/cn/wildfirechat/push/android/vivo/VivoPush.java b/src/main/java/cn/wildfirechat/push/android/vivo/VivoPush.java index 102eb66..895def0 100644 --- a/src/main/java/cn/wildfirechat/push/android/vivo/VivoPush.java +++ b/src/main/java/cn/wildfirechat/push/android/vivo/VivoPush.java @@ -14,6 +14,7 @@ import org.springframework.util.StringUtils; import javax.annotation.PostConstruct; import java.io.IOException; +import java.util.Random; @Component public class VivoPush { @@ -25,22 +26,19 @@ public class VivoPush { private String authToken; - private void refreshToken() { - Sender sender = null;//注册登录开发平台网站获取到的appSecret
 - try { - sender = new Sender(mConfig.getAppSecret()); - Result result = sender.getToken(mConfig.getAppId(), mConfig.getAppKey());//注册登录开发平台网站获取到的appId和appKey
 - authToken = result.getAuthToken(); - tokenExpiredTime = System.currentTimeMillis() + 12 * 60 * 60 * 1000; - } catch (Exception e) { - e.printStackTrace(); - LOG.error("getToken error" + e.getMessage()); - } - } - public void push(PushMessage pushMessage) { + String regId = pushMessage.getDeviceToken(); + // 添加regId有效性检查 + if (!isValidVivoRegId(regId)) { + LOG.error("Invalid vivo regId: {}", regId); + return; + } + + LOG.debug("Sending Vivo push with regId: {}", regId); + + // 升级点1:使用新的认证机制 if (tokenExpiredTime <= System.currentTimeMillis()) { - refreshToken(); + refreshToken(); // 内部需要实现getToken逻辑 } Result resultMessage = null; @@ -49,31 +47,72 @@ public class VivoPush { String title = arr[0]; String body = arr[1]; - Sender senderMessage = new Sender(mConfig.getAppSecret(), authToken); + // 升级点2:创建Sender时只需传入appSecret + Sender senderMessage = new Sender(mConfig.getAppSecret()); + // 升级点3:必须设置认证token + senderMessage.setAuthToken(authToken); + + // 升级点4:使用新的Builder参数 Message.Builder builder = new Message.Builder() - .regId(pushMessage.getDeviceToken())//该测试手机设备订阅推送后生成的regId
 + .regId(regId) .notifyType(3) .title(title) .content(body) .timeToLive(1000) .skipType(1) .networkType(-1) - .requestId(System.currentTimeMillis() + ""); + // 升级点5:新增必填字段requestId(使用时间戳+随机数防重复) + .requestId(System.currentTimeMillis() + "_" + new Random().nextInt(1000)) + // 升级点6:新增必填字段pushMode(0-正式/1-测试) + .pushMode(0); // 根据实际环境设置 + + // 保留原有TTL逻辑 if (pushMessage.pushMessageType != PushMessageType.PUSH_MESSAGE_TYPE_NORMAL) { - builder.timeToLive(60); // 单位秒 + builder.timeToLive(60); } else { builder.timeToLive(10 * 60); } + resultMessage = senderMessage.sendSingle(builder.build()); } catch (Exception e) { - e.printStackTrace(); - LOG.error("sendSingle error " + e.getMessage()); + LOG.error("sendSingle error", e); // 升级点7:使用完整的异常堆栈 } - if (resultMessage != null) { - LOG.info("Server response: MessageId: " + resultMessage.getTaskId() - + " ErrorCode: " + resultMessage.getResult() - + " Reason: " + resultMessage.getDesc()); + if (resultMessage != null) { + // 升级点8:优化日志格式 + LOG.info("Vivo push response: [MessageId={}] [ErrorCode={}] [Reason={}]", + resultMessage.getTaskId(), + resultMessage.getResult(), + resultMessage.getDesc()); } } + + // 新增的token刷新方法(需根据示例代码实现) + private void refreshToken() { + try { + Sender tokenSender = new Sender(mConfig.getAppSecret()); + // 升级点9:使用新的getToken接口 + Result tokenResult = tokenSender.getToken( + mConfig.getAppId(), // 需要配置appId + mConfig.getAppKey() // 需要配置appKey + ); + + if (tokenResult.getResult() == 0) { + authToken = tokenResult.getAuthToken(); + // 假设token有效期为48小时(按vivo标准) + tokenExpiredTime = System.currentTimeMillis() + 48 * 3600 * 1000; + } else { + LOG.error("Refresh token failed: [code={}] [desc={}]", + tokenResult.getResult(), + tokenResult.getDesc()); + } + } catch (Exception e) { + LOG.error("Refresh token error", e); + } + } + + // 校验regId格式 + private boolean isValidVivoRegId(String regId) { + return regId != null && regId.startsWith("v2-") && regId.length() > 50; + } } diff --git a/src/main/libs/vPush-server-sdk-1.0.jar b/src/main/libs/vPush-server-sdk-1.0.jar deleted file mode 100755 index 904175d83864e3912ad5c5c2d9eca96322197e0b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26225 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,`DV4*GuWaX>{a=zrLnSo#A(<7)a%S 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 KjprJd&;A21kGt3a diff --git a/src/main/libs/vpush-server-sdk-3.3.jar b/src/main/libs/vpush-server-sdk-3.3.jar new file mode 100644 index 0000000000000000000000000000000000000000..8c97bf47132613d701049d54559a561777266b60 GIT binary patch literal 39245 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 M6`@taYUnE!0mEP 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 literal 0 HcmV?d00001