# OPPO推送服务测试后台 这是一个用于测试OPPO推送服务,特别是"通讯与服务(原私信)"类消息的后台服务。 ## 功能特性 - ✅ 获取OPPO推送服务的Access Token - ✅ 发送单点推送消息 - ✅ 支持发送通讯与服务(原私信)类消息 - ✅ 提供RESTful API接口,方便测试和调试 ## 环境要求 - JDK 1.8+ - Maven 3.6+ ## 配置说明 ✅ **配置已完成** - 已在 `src/main/resources/application.properties` 中配置: ```properties oppo.push.appKey=bb0819c889ae40cd8bde5a8ad4e670fe oppo.push.appSecret=9b5a0e6d560e406dbb70fbb4e0e38098 oppo.push.channel.id.im=previte_message oppo.push.channel.name.im=消息推送 ``` **注意**:如果您的 MasterSecret 与 AppSecret 不同,请更新配置文件中的 `oppo.push.masterSecret` 值。 ## 运行方式 ### 方式一:使用Maven运行 ```bash mvn spring-boot:run ``` ### 方式二:打包后运行 ```bash # 打包 mvn clean package # 运行 java -jar target/oppo-push-server-1.0.0.jar ``` ## API接口 ### 1. 健康检查 ``` GET http://localhost:8080/api/push/health ``` ### 2. 获取Access Token ``` GET http://localhost:8080/api/push/token ``` ### 3. 发送通讯与服务(原私信)类消息 ``` POST http://localhost:8080/api/push/send Content-Type: application/json { "targetValue": "registration_id或alias", "title": "消息标题", "content": "消息内容", "messageType": "1" } ``` **参数说明:** - `targetValue`: 目标值,可以是registration_id、alias或tag - `title`: 消息标题 - `content`: 消息内容 - `messageType`: 消息类型(1:通知栏消息, 2:透传消息),默认为1 ## 快速测试 ### 1. 启动服务 ```bash mvn spring-boot:run ``` ### 2. 使用curl测试 ```bash # 1. 健康检查 curl http://localhost:8080/api/push/health # 2. 获取Token(测试认证是否成功) curl http://localhost:8080/api/push/token # 3. 发送通讯与服务(原私信)类消息 curl -X POST http://localhost:8080/api/push/send \ -H "Content-Type: application/json" \ -d @test-request.json ``` **注意**:发送消息前,请先修改 `test-request.json` 文件中的 `targetValue` 为实际的 registration_id。 ### 使用Postman测试 1. 创建新的POST请求 2. URL: `http://localhost:8080/api/push/send` 3. Headers: `Content-Type: application/json` 4. Body (raw JSON): ```json { "targetValue": "your_registration_id", "title": "测试标题", "content": "这是一条测试消息", "messageType": "1" } ``` ## 通讯与服务(原私信)类消息说明 根据OPPO推送服务文档,通讯与服务类消息需要设置特殊的参数: - `message_type`: 设置为 "chat" 标识为私信类消息 - `channel_id`: 私信频道ID,已配置为 `previte_message` - `channel_name`: 频道名称,已配置为 `消息推送` 这些参数已经在 `OppoPushService` 中自动设置,使用配置文件中定义的频道ID和名称。 ## 相关文档 - [OPPO推送服务文档](https://open.oppomobile.com/documentation/page/info?id=11233) - [OPPO开放平台](https://open.oppomobile.com) ## 注意事项 1. 确保在OPPO开放平台已开通推送服务 2. 确保AppKey、AppSecret和MasterSecret配置正确 3. 确保目标设备的registration_id或alias有效 4. Access Token会自动缓存,有效期约24小时 ## 故障排查 1. **获取Token失败**:检查AppKey和MasterSecret是否正确 2. **发送消息失败**:检查targetValue是否有效,以及网络连接是否正常 3. **消息未收到**:检查设备是否在线,以及应用是否已正确集成OPPO推送SDK