应用配置
本指南全面介绍 OpenDev 中应用配置的各个方面,从基础设置到配置包生成和分发。
概述
OpenDev 中的应用配置包括:
- 基本应用信息
- 渠道和发行主体绑定
- 商品配置
- 支付设置
- 配置包生成和分发
访问应用配置
- 登录 OpenDev 平台
- 前往侧边栏的 应用
- 点击您的应用
- 使用配置标签页进行导航
配置标签页
1. 基本信息
应用配置的基础。
字段
| 字段 | 说明 |
|---|---|
| 应用名称 | 显示名称 |
| 应用 ID | 唯一标识符(创建后只读) |
| 应用 Logo | 视觉标识 |
| 平台 | 目标平台(iOS、Android、Web、Desktop) |
| 描述 | 内部备注 |
| 应用密钥 | 每个环境的认证密钥 |
管理应用密钥
Development: 用于本地开发
Testing: 用于 QA/预发布环境
Production: 用于正式应用
每个环境有独立的密钥,防止开发过程中意外访问生产环境。
2. 渠道标签页
配置哪些渠道分发您的应用。
绑定渠道
- 点击 绑定渠道
- 从可用渠道中选择
- 配置渠道特定设置
- 保存绑定
渠道设置
| 设置 | 说明 |
|---|---|
| 启用 | 渠道处于活跃状态 |
| OAuth 提供商 | 该渠道的登录方式 |
| 支付提供商 | 支付处理器 |
| 区域 | 地理可用性 |
渠道绑定示例
{
"channelKey": "google_play_global",
"enabled": true,
"oauth": {
"providers": ["google", "facebook"]
},
"payment": {
"provider": "google_play"
}
}
3. 商品标签页
配置应用中可用的商品。
商品配置
- 点击 添加商品
- 选择要包含的商品档位
- 配置应用特定设置
- 保存配置
商品设置
| 设置 | 说明 |
|---|---|
| 启用 | 商品可购买 |
| 显示顺序 | 应用中的排序 |
| 推荐 | 在 UI 中突出显示 |
| 促销价格 | 临时折扣 |
4. 支付标签页
配置应用的支付处理。
支付平台
启用和配置每个平台:
Stripe(Web/桌面端)
{
"platform": "stripe",
"enabled": true,
"publishableKey": "pk_live_xxx",
"webhookSecret": "whsec_xxx"
}
Google Play(Android)
{
"platform": "google_play",
"enabled": true,
"packageName": "com.yourcompany.app"
}
Apple(iOS)
{
"platform": "apple",
"enabled": true,
"bundleId": "com.yourcompany.app"
}
微信支付(中国区)
{
"platform": "wechat_pay",
"enabled": true,
"mchId": "1234567890"
}
5. 配置包标签页
生成和管理客户端分发的配置包。
配置包
配置包包含什么?
配置包包含所有客户端配置:
{
"app": {
"id": "app_xxxxxxxxxxxx",
"name": "My Application",
"version": "1.0.0"
},
"channel": {
"key": "google_play_global",
"name": "Google Play Global"
},
"oauth": {
"providers": [
{
"id": "google",
"clientId": "xxxxx.apps.googleusercontent.com",
"scopes": ["email", "profile"]
}
]
},
"payment": {
"enabled": true,
"provider": "google_play"
},
"products": [
{
"id": "pro_monthly",
"name": "Pro Monthly",
"platformId": "pro_monthly_sub"
}
],
"services": {
"api": "https://api.yourdomain.com",
"cdn": "https://cdn.yourdomain.com"
}
}
生成配置包
- 前往 配置包 标签页
- 点击 生成配置包
- 选择配置选项:
| 选项 | 说明 |
|---|---|
| 渠道 | 目标分发渠道 |
| 环境 | dev、test 或 prod |
| 平台 | ios、android、web 或 desktop |
- 点击 生成
- 下载或复制配置
配置包分发方式
1. 直接下载
- 下载 JSON 文件
- 在构建时打包到应用中
- 简单但需要更新应用来修改配置
2. CDN 发布
- 发布到 CDN 端点
- 应用启动时获取
- 无需发布新版本即可更新配置
const configUrl = 'https://cdn.yourdomain.com/config/app_xxx/prod/android.json';
const config = await fetch(configUrl).then(r => r.json());
3. API 端点
- 运行时通过 API 获取
- 最灵活
- 启动时需要网络
const config = await api.get('/config', {
headers: {
'X-App-ID': appId,
'X-Channel-Key': channelKey,
'X-Environment': 'production'
}
});
最佳实践
配置策略
- 环境隔离
- 开发中不使用生产环境密钥
- 每个环境独立的配置文件
- 清晰的命名规范
- 安全性
- 客户端配置中不包含敏感密钥
- 敏感操作使用服务器端代理
- 验证配置完整性
- 性能
- 本地缓存配置
- 实现刷新策略
- 优雅处理离线情况
- 可维护性
- 记录配置变更
- 版本控制配置模板
- 在 CI/CD 中自动生成配置
故障排查
配置未加载
可能原因:
- 网络问题
- 错误的 URL/路径
- 配置未发布
解决方案:
- 检查 CDN URL 是否正确
- 验证配置已发布
- 通过直接 URL 访问测试
- 检查应用权限
OAuth 不工作
可能原因:
- 缺少 OAuth 配置
- 错误的 Client ID
- 渠道不匹配
解决方案:
- 验证配置中的 OAuth 提供商
- 检查 Client ID 与平台匹配
- 确保渠道 Key 正确
支付问题
可能原因:
- 支付未启用
- 错误的平台配置
- 商品 ID 不匹配
解决方案:
- 验证配置中支付已启用
- 检查平台特定设置
- 将商品 ID 与平台控制台匹配