EN

发行主体与渠道

本指南介绍如何在 OpenDev 中创建和管理发行主体(Publishers)和渠道(Channels),以组织您的分发策略。

概述

发行主体

发行主体代表发布您应用的实体:

  • 公司或个人
  • 应用商店账号
  • 分发合作伙伴

渠道

渠道代表分发路径:

  • 应用商店(Google Play、App Store)
  • 网页分发
  • 桌面端下载
  • 区域变体

发行主体

理解发行主体

发行主体包含:

  • 发行主体名称和标识符
  • 联系信息
  • 关联的 OAuth 配置
  • 平台凭证

创建发行主体

  1. 前往侧边栏的 发行主体
  2. 点击 创建发行主体
  3. 填写详情:
字段 必填 说明
发行主体 ID 唯一标识符
名称 显示名称
描述 内部备注
联系邮箱 发行主体联系方式
网站 发行主体网站
  1. 点击 创建

发行主体配置

{
  "publisherId": "acme_corp",
  "name": "ACME Corporation",
  "description": "主要发行实体",
  "contact": {
    "email": "publishing@acme.com",
    "website": "https://acme.com"
  },
  "platforms": {
    "googlePlay": {
      "developerAccount": "ACME Corp",
      "serviceAccountEmail": "acme@project.iam.gserviceaccount.com"
    },
    "appStore": {
      "teamId": "XXXXXXXXXX",
      "providerId": "12345678"
    }
  }
}

管理发行主体

编辑发行主体

  1. 点击列表中的发行主体
  2. 点击 编辑
  3. 修改所需字段
  4. 点击 保存

删除发行主体

  1. 点击发行主体
  2. 点击 删除
  3. 确认删除

警告: 无法删除与活跃渠道关联的发行主体。

渠道

理解渠道

渠道定义了:

  • 分发平台
  • 区域配置
  • OAuth 提供商映射
  • 支付设置

渠道类型

类型 说明 示例
移动商店 官方应用商店 Google Play、App Store
网页 网页分发 您的网站、PWA
桌面端 桌面端分发 Steam、直接下载
替代商店 第三方商店 Samsung、Amazon
区域版 特定市场 中国版、日本版

创建渠道

  1. 前往侧边栏的 渠道
  2. 点击 创建渠道
  3. 填写详情:
字段 必填 说明
渠道 Key 唯一标识符
名称 显示名称
发行主体 关联的发行主体
平台 目标平台
描述 渠道用途
  1. 点击 创建

渠道配置

{
  "channelKey": "google_play_global",
  "name": "Google Play Global",
  "publisherId": "acme_corp",
  "platform": "android",
  "region": "global",
  "oauth": {
    "providers": ["google", "facebook"],
    "appId": "com.acme.myapp"
  },
  "payment": {
    "enabled": true,
    "providers": ["google_play"]
  }
}

OAuth 渠道

理解 OAuth 渠道

OAuth 渠道将认证提供商与分发渠道关联:

  • 可用的登录方式
  • 每个渠道的提供商凭证
  • 渠道特定的配置

创建 OAuth 渠道

  1. 前往侧边栏的 OAuth 渠道
  2. 点击 创建 OAuth 渠道
  3. 配置提供商:
字段 必填 说明
提供商 OAuth 提供商(Google、Facebook 等)
Client ID 提供商应用 ID
Client Secret 提供商密钥
Scopes 请求的权限
回调 URL OAuth 回调地址

OAuth 渠道示例

Google OAuth 渠道

{
  "provider": "google",
  "clientId": "xxxxx.apps.googleusercontent.com",
  "clientSecret": "GOCSPX-xxxxx",
  "scopes": ["email", "profile"],
  "callbackUrl": "https://yourdomain.com/auth/callback"
}

Apple 登录渠道

{
  "provider": "apple",
  "clientId": "com.yourapp.web",
  "teamId": "XXXXXXXXXX",
  "keyId": "XXXXXXXXXX",
  "privateKey": "-----BEGIN PRIVATE KEY-----\n...",
  "scopes": ["email", "name"]
}

将渠道绑定到应用

在应用设置中

  1. 前往您的应用详情
  2. 点击 渠道 标签页
  3. 点击 绑定渠道
  4. 选择要关联的渠道
  5. 点击 保存

渠道绑定选项

选项 说明
所有渠道 应用在所有渠道上可用
特定渠道 应用仅限选定渠道
排除渠道 应用在某些渠道上不可用

配置工作流

典型设置

1. 创建发行主体
   └── ACME Corp(主发行主体)
   └── ACME Games(游戏部门)

2. 创建渠道
   └── google_play_global
   └── app_store_global
   └── web_direct
   └── china_domestic

3. 创建 OAuth 渠道
   └── Google OAuth(全平台)
   └── Apple Sign In(iOS)
   └── 微信(中国区)

4. 绑定到应用
   └── MyApp → google_play, app_store, web
   └── MyGame → google_play, app_store
   └── MyApp China → china_domestic

最佳实践

发行主体组织

按业务单元:
├── acme_main(主公司)
├── acme_games(游戏工作室)
└── acme_enterprise(B2B 产品)

按区域:
├── acme_global(全球)
├── acme_china(中国实体)
└── acme_japan(日本实体)

渠道命名

平台 + 区域:
├── google_play_global
├── google_play_china
├── app_store_global
├── app_store_china
├── web_global
└── web_china

OAuth 策略

  1. 统一提供商 — 尽可能跨渠道使用相同的 OAuth 应用
  2. 区域提供商 — 在需要的地方添加区域特定的提供商(微信、QQ)
  3. 备用选项 — 始终提供邮箱/密码选项
  4. 一致体验 — 跨渠道使用相同的用户 ID

故障排查

OAuth 不工作

可能原因:

  • 错误的 Client ID/Secret
  • 错误的回调 URL
  • 缺少 Scopes

解决方案:

  1. 在提供商控制台验证凭证
  2. 检查回调 URL 是否完全匹配
  3. 检查 Scope 权限

渠道未找到

可能原因:

  • 渠道 Key 拼写错误
  • 渠道未创建
  • 大小写敏感问题

解决方案:

  1. 在仪表盘中验证渠道存在
  2. 检查 Key 是否完全匹配(区分大小写)
  3. 检查应用渠道绑定

相关文档