# 极光推送厂商通道接入说明

## 📋 当前状态

✅ **已接入的厂商通道（代码层面）**：
- 小米通道
- 华为通道
- OPPO通道
- vivo通道
- 魅族通道

⚠️ **待配置的参数**：
- 需要在各厂商开放平台申请 AppKey 和 AppSecret
- 在 `capability-push/src/main/res/values/strings.xml` 中填写真实参数即可

## ✅ 配置方式说明

**厂商通道参数完全在 capability-push 模块中管理，和分享模块一样**

- 参数定义：`capability-push/src/main/res/values/strings.xml`
- 参数使用：`capability-push/src/main/AndroidManifest.xml`（使用 `@string/` 引用）
- **app 模块：不需要任何配置！**

---

## 🔧 配置步骤

### 1. 申请各厂商开放平台账号

#### 小米开放平台
- 网址：https://dev.mi.com/console/
- 申请 AppID 和 AppKey
- 配置应用包名和签名

#### 华为开放平台
- 网址：https://developer.huawei.com/consumer/cn/
- 申请 AppID
- 下载 `agconnect-services.json` 文件（如果需要）

#### OPPO开放平台
- 网址：https://open.oppomobile.com/
- 申请 AppKey 和 AppSecret
- 配置应用包名和签名

#### vivo开放平台
- 网址：https://dev.vivo.com.cn/
- 申请 AppID 和 AppKey
- 配置应用包名和签名

#### 魅族开放平台
- 网址：https://open.flyme.cn/
- 申请 AppID 和 AppKey
- 配置应用包名和签名

### 2. 在极光控制台配置厂商参数

1. 登录极光控制台：https://www.jiguang.cn/
2. 进入【消息推送】-【推送设置】-【集成设置】
3. 填写各厂商的参数：
   - 小米：AppID、AppKey
   - 华为：AppID
   - OPPO：AppKey、AppSecret
   - vivo：AppID、AppKey
   - 魅族：AppID、AppKey
4. 点击"启用"各厂商通道

### 3. 在项目中配置参数

### 配置步骤

**只需要在 `capability-push/src/main/res/values/strings.xml` 中填写真实参数即可**

编辑 `capability-push/src/main/res/values/strings.xml`：

```xml
<resources>
    <!-- 极光推送基础配置 -->
    <string name="jpush_app_key">your_jpush_appkey_here</string>
    <string name="push_jpush_channel">developer-default</string>
    
    <!-- 厂商通道配置（填写从各厂商开放平台申请的参数） -->
    
    <!-- 小米通道配置 -->
    <string name="mi_app_id">2882303761518123456</string>  <!-- 替换为真实的小米 AppID -->
    <string name="mi_app_key">510181234567890</string>      <!-- 替换为真实的小米 AppKey -->
    
    <!-- 华为通道配置 -->
    <string name="huawei_app_id">123456789</string>        <!-- 替换为真实的华为 AppID -->
    
    <!-- OPPO通道配置 -->
    <string name="oppo_app_id">your_oppo_app_id</string>         <!-- 替换为真实的 OPPO AppID -->
    <string name="oppo_app_key">your_oppo_app_key</string>       <!-- 替换为真实的 OPPO AppKey -->
    <string name="oppo_app_secret">your_oppo_app_secret</string> <!-- 替换为真实的 OPPO AppSecret -->
    
    <!-- vivo通道配置 -->
    <string name="vivo_app_id">12345</string>              <!-- 替换为真实的 vivo AppID -->
    <string name="vivo_app_key">your_vivo_app_key</string>      <!-- 替换为真实的 vivo AppKey -->
    
    <!-- 魅族通道配置 -->
    <string name="meizu_app_id">123456</string>            <!-- 替换为真实的魅族 AppID -->
    <string name="meizu_app_key">your_meizu_app_key</string>    <!-- 替换为真实的魅族 AppKey -->
</resources>
```

**就这么简单！** 所有配置都在 `capability-push` 模块中，`app` 模块不需要任何配置。

**和分享模块的配置方式完全一样！**

---

## 📝 注意事项

### 1. 版本一致性

**厂商通道 SDK 版本必须和极光推送 SDK 版本保持一致**

当前版本：
- 极光推送 SDK：5.9.0
- 厂商通道 SDK：5.9.0

如果升级极光推送 SDK，必须同步升级所有厂商通道 SDK。

### 2. 参数配置

- ✅ **已配置参数**：极光推送会自动使用厂商通道
- ❌ **未配置参数**：该厂商通道不会启用，自动降级到极光通道

**建议**：先配置主要厂商（小米、华为），其他厂商可以后续再配置。

### 3. 测试验证

配置完成后，测试步骤：

1. 在对应品牌的手机上安装应用
2. 在极光控制台发送测试推送
3. 查看日志，确认是否使用了厂商通道

**成功标志**：
- 日志中显示厂商通道注册成功
- 推送消息能够正常到达

---

## 🔍 验证方法

### 查看日志

运行应用后，查看 Logcat 日志：

```
# 小米通道
[MiPushHelper]onRegister result=0

# 华为通道
[HuaweiPushHelper]onRegister rid=xxx

# OPPO通道
[OppoPushHelper]onRegister rid=xxx

# vivo通道
[VivoPushHelper]onRegister rid=xxx

# 魅族通道
[MeizuPushHelper]onRegister rid=xxx
```

如果看到这些日志，说明厂商通道已成功接入。

---

## 📚 参考文档

- [极光推送厂商通道集成指南](https://docs.jiguang.cn/jpush/client/Android/android_3rd_guide)
- [小米推送文档](https://dev.mi.com/console/doc/detail?pId=68)
- [华为推送文档](https://developer.huawei.com/consumer/cn/doc/development/HMS-Guides/push-introduction)
- [OPPO推送文档](https://open.oppomobile.com/wiki/doc#id=10196)
- [vivo推送文档](https://dev.vivo.com.cn/documentCenter/doc/180)
- [魅族推送文档](https://open.flyme.cn/fileserver/upload/file/201709/1506414307921.pdf)

---

## 🎯 总结

**当前状态**：
- ✅ 代码已接入所有主要厂商通道
- ⚠️ 参数配置使用占位符，需要申请后填写

**后续工作**：
1. 在各厂商开放平台申请账号和参数
2. 在极光控制台配置厂商参数
3. 在 `strings.xml` 中填写真实参数
4. 测试验证各厂商通道是否正常工作

**优势**：
- 提升推送到达率（特别是小米、华为等品牌）
- 更省电、更稳定
- 完全封装在 `capability-push` 模块内部，业务层无需关心

---

**最后更新：2024年**

