关于 gplay-rollout-management
gplay-rollout-management 是管理 Google Play 渐进式发布的技能,面向希望分阶段扩大应用更新覆盖范围的开发者。它说明如何调整、暂停、恢复和完成发布,并结合崩溃率与评论监控提供发布决策参考。
主要功能
- 01按比例启动应用发布
- 02逐步提高发布覆盖率
- 03暂停、恢复或完成发布
- 04查询发布进度
- 05监控崩溃率与用户评论
适用场景
- 01先向部分用户发布新版本
- 02发现问题时暂停版本分发
- 03依据崩溃率和评论决定是否扩大覆盖
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ tamtom/ gplay-cli-skills --skill gplay-rollout-management安装后在 Claude Code 中输入/gplay-rollout-management确认已加载。
详细介绍
分阶段发布管理
当你需要在 Google Play 上管理渐进式发布时,请使用此技能。
什么是分阶段发布?
分阶段发布会将你的应用发布给一定比例的用户,让你可以:
- 在全面发布前监控崩溃率和评论
- 以有限的用户影响发现严重 Bug
- 随着信心增强,逐步扩大分发范围
开始分阶段发布
在初次发布期间
gplay release \
--package com.example.app \
--track production \
--bundle app-release.aab \
--rollout 0.1
这会将应用发布给 10% 的用户。
通过分阶段发布进行推广
gplay promote \
--package com.example.app \
--from beta \
--to production \
--rollout 0.25
提高发布比例
# Increase to 25%
gplay rollout update \
--package com.example.app \
--track production \
--rollout 0.25
# Increase to 50%
gplay rollout update \
--package com.example.app \
--track production \
--rollout 0.5
# Increase to 100% (or use complete)
gplay rollout update \
--package com.example.app \
--track production \
--rollout 1.0
暂停发布
如果发现问题,请暂停分发:
gplay rollout halt \
--package com.example.app \
--track production
效果:
- 停止进一步分发
- 现有用户仍会保留此更新
- 新用户不会收到此更新
恢复发布
修复问题后恢复发布:
gplay rollout resume \
--package com.example.app \
--track production
完成发布
将应用发布给 100% 的用户:
gplay rollout complete \
--package com.example.app \
--track production
查看发布状态
gplay tracks get \
--package com.example.app \
--track production \
| jq '.releases[0].userFraction'
推荐的发布策略
保守策略(7 天发布)
# Day 1: 10%
gplay release --package com.example.app --track production --bundle app.aab --rollout 0.1
# Day 2: 25% (monitor crash rate)
gplay rollout update --package com.example.app --track production --rollout 0.25
# Day 3: 50%
gplay rollout update --package com.example.app --track production --rollout 0.5
# Day 5: 75%
gplay rollout update --package com.example.app --track production --rollout 0.75
# Day 7: 100%
gplay rollout complete --package com.example.app --track production
激进策略(3 天发布)
# Day 1: 25%
gplay release --package com.example.app --track production --bundle app.aab --rollout 0.25
# Day 2: 50%
gplay rollout update --package com.example.app --track production --rollout 0.5
# Day 3: 100%
gplay rollout complete --package com.example.app --track production
谨慎策略(适用于关键应用)
# Day 1: 5%
gplay release --package com.example.app --track production --bundle app.aab --rollout 0.05
# Day 2: 10% (monitor carefully)
gplay rollout update --package com.example.app --track production --rollout 0.1
# Day 3: 25%
gplay rollout update --package com.example.app --track production --rollout 0.25
# Day 5: 50%
gplay rollout update --package com.example.app --track production --rollout 0.5
# Day 7: 75%
gplay rollout update --package com.example.app --track production --rollout 0.75
# Day 10: 100%
gplay rollout complete --package com.example.app --track production
发布期间的监控
检查崩溃率
使用 Play Console → 质量 → Android vitals
监控评论
# Get recent reviews
gplay reviews list \
--package com.example.app \
--paginate \
| jq '.reviews[] | select(.createdTime > "2025-02-05") | {rating, text: .comments[0].userComment.text}'
筛选 1 星评论
gplay reviews list \
--package com.example.app \
| jq '.reviews[] | select(.rating == 1) | .comments[0].userComment.text'
决策矩阵
| 指标 | 操作 |
|---|---|
| 崩溃率 < 1% | 继续发布 |
| 崩溃率 1-2% | 暂停并调查 |
| 崩溃率 > 2% | 暂停;如可行则回滚 |
| 1 星评论激增 | 暂停并调查 |
| ANR 率激增 | 暂停并调查 |
| 24 小时后没有问题 | 提高发布比例 |
回滚策略
Google Play 不支持自动回滚,但你可以:
选项 1:上传热修复
# Build hotfix with higher version code
./gradlew bundleRelease
# Release hotfix immediately to 100%
gplay release \
--package com.example.app \
--track production \
--bundle app-hotfix.aab
选项 2:推广先前版本
这要求先前版本仍在 Beta 轨道中:
gplay promote \
--package com.example.app \
--from beta \
--to production
最佳实践
- 始终从 <20% 开始 - 尽早发现问题
- 每次提高比例后监控 24 小时
- 制定热修复计划 - 准备好快速修复严重 Bug
- 设置提醒 - 自动监控崩溃率
- 在 Beta 阶段充分测试 - 减少生产环境问题
- 与用户沟通 - 更新发布说明
- 不要操之过急 - 渐进式发布旨在保障安全
应避免的常见错误
❌ 不要:
- 立即从 10% 跳到 100%
- 忽视崩溃率上升
- 在周末或节假日发布(监控速度较慢)
- 跳过 Beta 测试阶段
✅ 请:
- 持续监控崩溃率
- 确保团队在发布期间随时待命
- 提前准备热修复
- 向相关方说明预期时间表
自动化示例
使用自动化发布的 CI/CD
# .github/workflows/rollout.yml
name: Automated Rollout
on:
schedule:
- cron: '0 9 * * *' # Daily at 9 AM
jobs:
increase-rollout:
runs-on: ubuntu-latest
steps:
- name: Get current rollout
id: current
run: |
CURRENT=$(gplay tracks get --package $PACKAGE | jq -r '.releases[0].userFraction')
echo "fraction=$CURRENT" >> $GITHUB_OUTPUT
- name: Increase rollout
if: steps.current.outputs.fraction < 1.0
run: |
NEW_FRACTION=$(echo "${{ steps.current.outputs.fraction }} + 0.25" | bc)
gplay rollout update --package $PACKAGE --track production --rollout $NEW_FRACTION
支持
如需手动控制发布,请始终使用 Google Play Console 界面作为备用方案。
评论
支持 Markdown