first commit
This commit is contained in:
149
README.md
Normal file
149
README.md
Normal file
@@ -0,0 +1,149 @@
|
||||
# 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
|
||||
|
||||
Reference in New Issue
Block a user