gplay-metadata-sync
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseMetadata Sync for Google Play
Google Play 元数据同步
Use this skill when you need to update or sync Play Store metadata and localizations.
当你需要更新或同步Play商店的元数据与本地化内容时,可以使用该技能。
Fastlane Directory Structure
Fastlane 目录结构
fastlane/metadata/android/
├── en-US/
│ ├── title.txt
│ ├── short_description.txt
│ ├── full_description.txt
│ ├── video.txt
│ └── images/
│ ├── phoneScreenshots/
│ │ ├── 1.png
│ │ └── 2.png
│ ├── sevenInchScreenshots/
│ ├── tenInchScreenshots/
│ ├── tvScreenshots/
│ ├── wearScreenshots/
│ ├── icon.png
│ └── featureGraphic.png
├── es-ES/
│ ├── title.txt
│ └── ...
└── fr-FR/
└── ...fastlane/metadata/android/
├── en-US/
│ ├── title.txt
│ ├── short_description.txt
│ ├── full_description.txt
│ ├── video.txt
│ └── images/
│ ├── phoneScreenshots/
│ │ ├── 1.png
│ │ └── 2.png
│ ├── sevenInchScreenshots/
│ ├── tenInchScreenshots/
│ ├── tvScreenshots/
│ ├── wearScreenshots/
│ ├── icon.png
│ └── featureGraphic.png
├── es-ES/
│ ├── title.txt
│ └── ...
└── fr-FR/
└── ...Export Metadata from Play Store
从Play商店导出元数据
bash
undefinedbash
undefinedExport all listings to Fastlane format
Export all listings to Fastlane format
gplay sync export-listings
--package com.example.app
--dir ./fastlane/metadata/android
--package com.example.app
--dir ./fastlane/metadata/android
gplay sync export-listings
--package com.example.app
--dir ./fastlane/metadata/android
--package com.example.app
--dir ./fastlane/metadata/android
Export images
Export images
gplay sync export-images
--package com.example.app
--dir ./fastlane/metadata/android
--package com.example.app
--dir ./fastlane/metadata/android
undefinedgplay sync export-images
--package com.example.app
--dir ./fastlane/metadata/android
--package com.example.app
--dir ./fastlane/metadata/android
undefinedImport Metadata to Play Store
向Play商店导入元数据
bash
undefinedbash
undefinedValidate before importing (offline check)
Validate before importing (offline check)
gplay validate listing
--dir ./fastlane/metadata/android
--locale en-US
--dir ./fastlane/metadata/android
--locale en-US
gplay validate listing
--dir ./fastlane/metadata/android
--locale en-US
--dir ./fastlane/metadata/android
--locale en-US
Import all listings
Import all listings
gplay sync import-listings
--package com.example.app
--dir ./fastlane/metadata/android
--package com.example.app
--dir ./fastlane/metadata/android
gplay sync import-listings
--package com.example.app
--dir ./fastlane/metadata/android
--package com.example.app
--dir ./fastlane/metadata/android
Import images
Import images
gplay sync import-images
--package com.example.app
--dir ./fastlane/metadata/android
--package com.example.app
--dir ./fastlane/metadata/android
undefinedgplay sync import-images
--package com.example.app
--dir ./fastlane/metadata/android
--package com.example.app
--dir ./fastlane/metadata/android
undefinedCompare Local vs Remote
对比本地与远程内容
bash
undefinedbash
undefinedSee what would change
See what would change
gplay sync diff-listings
--package com.example.app
--dir ./fastlane/metadata/android
--package com.example.app
--dir ./fastlane/metadata/android
undefinedgplay sync diff-listings
--package com.example.app
--dir ./fastlane/metadata/android
--package com.example.app
--dir ./fastlane/metadata/android
undefinedManual Metadata Management
手动元数据管理
List all listings
列出所有列表内容
bash
gplay listings list \
--package com.example.app \
--edit $EDIT_IDbash
gplay listings list \
--package com.example.app \
--edit $EDIT_IDGet specific locale
获取特定区域内容
bash
gplay listings get \
--package com.example.app \
--edit $EDIT_ID \
--locale en-USbash
gplay listings get \
--package com.example.app \
--edit $EDIT_ID \
--locale en-USUpdate listing
更新列表内容
bash
gplay listings update \
--package com.example.app \
--edit $EDIT_ID \
--locale en-US \
--json @listing.jsonbash
gplay listings update \
--package com.example.app \
--edit $EDIT_ID \
--locale en-US \
--json @listing.jsonlisting.json format
listing.json 格式
json
{
"title": "My Awesome App",
"shortDescription": "A short description under 80 characters",
"fullDescription": "A full description under 4000 characters...",
"video": "https://www.youtube.com/watch?v=VIDEO_ID"
}json
{
"title": "My Awesome App",
"shortDescription": "A short description under 80 characters",
"fullDescription": "A full description under 4000 characters...",
"video": "https://www.youtube.com/watch?v=VIDEO_ID"
}Image Management
图片管理
Upload screenshots
上传截图
bash
gplay images upload \
--package com.example.app \
--edit $EDIT_ID \
--locale en-US \
--type phoneScreenshots \
--file screenshot1.png
gplay images upload \
--package com.example.app \
--edit $EDIT_ID \
--locale en-US \
--type phoneScreenshots \
--file screenshot2.pngbash
gplay images upload \
--package com.example.app \
--edit $EDIT_ID \
--locale en-US \
--type phoneScreenshots \
--file screenshot1.png
gplay images upload \
--package com.example.app \
--edit $EDIT_ID \
--locale en-US \
--type phoneScreenshots \
--file screenshot2.pngImage types
图片类型
- - Phone screenshots (required)
phoneScreenshots - - 7" tablet screenshots
sevenInchScreenshots - - 10" tablet screenshots
tenInchScreenshots - - TV screenshots
tvScreenshots - - Wear OS screenshots
wearScreenshots - - App icon
icon - - Feature graphic (1024x500)
featureGraphic
- - 手机截图(必填)
phoneScreenshots - - 7英寸平板截图
sevenInchScreenshots - - 10英寸平板截图
tenInchScreenshots - - TV截图
tvScreenshots - - Wear OS截图
wearScreenshots - - 应用图标
icon - - 特色宣传图(1024x500)
featureGraphic
List images
列出图片
bash
gplay images list \
--package com.example.app \
--edit $EDIT_ID \
--locale en-US \
--type phoneScreenshotsbash
gplay images list \
--package com.example.app \
--edit $EDIT_ID \
--locale en-US \
--type phoneScreenshotsDelete image
删除图片
bash
gplay images delete \
--package com.example.app \
--edit $EDIT_ID \
--locale en-US \
--type phoneScreenshots \
--image-id IMAGE_ID \
--confirmbash
gplay images delete \
--package com.example.app \
--edit $EDIT_ID \
--locale en-US \
--type phoneScreenshots \
--image-id IMAGE_ID \
--confirmApp Details
应用详情
Get app details
获取应用详情
bash
gplay details get \
--package com.example.app \
--edit $EDIT_IDbash
gplay details get \
--package com.example.app \
--edit $EDIT_IDUpdate contact info
更新联系信息
bash
gplay details update \
--package com.example.app \
--edit $EDIT_ID \
--contact-email support@example.com \
--contact-phone "+1234567890" \
--contact-website "https://example.com"bash
gplay details update \
--package com.example.app \
--edit $EDIT_ID \
--contact-email support@example.com \
--contact-phone "+1234567890" \
--contact-website "https://example.com"Character Limits
字符限制
Validate against Google Play limits:
| Field | Limit |
|---|---|
| Title | 50 characters |
| Short Description | 80 characters |
| Full Description | 4000 characters |
bash
undefined对照Google Play的限制进行验证:
| 字段 | 限制 |
|---|---|
| 标题 | 50个字符 |
| 简短描述 | 80个字符 |
| 完整描述 | 4000个字符 |
bash
undefinedValidate before upload
Validate before upload
gplay validate listing
--dir ./fastlane/metadata/android
--locale en-US
--dir ./fastlane/metadata/android
--locale en-US
undefinedgplay validate listing
--dir ./fastlane/metadata/android
--locale en-US
--dir ./fastlane/metadata/android
--locale en-US
undefinedWorkflow Example
工作流示例
Complete metadata update workflow:
bash
undefined完整的元数据更新工作流:
bash
undefined1. Export current metadata
1. 导出当前元数据
gplay sync export-listings
--package com.example.app
--dir ./metadata
--package com.example.app
--dir ./metadata
gplay sync export-listings
--package com.example.app
--dir ./metadata
--package com.example.app
--dir ./metadata
2. Edit files locally
2. 本地编辑文件
vi ./metadata/en-US/full_description.txt
vi ./metadata/en-US/full_description.txt
3. Validate changes
3. 验证更改
gplay validate listing
--dir ./metadata
--locale en-US
--dir ./metadata
--locale en-US
gplay validate listing
--dir ./metadata
--locale en-US
--dir ./metadata
--locale en-US
4. See what will change
4. 查看即将发生的更改
gplay sync diff-listings
--package com.example.app
--dir ./metadata
--package com.example.app
--dir ./metadata
gplay sync diff-listings
--package com.example.app
--dir ./metadata
--package com.example.app
--dir ./metadata
5. Import changes
5. 导入更改
gplay sync import-listings
--package com.example.app
--dir ./metadata
--package com.example.app
--dir ./metadata
undefinedgplay sync import-listings
--package com.example.app
--dir ./metadata
--package com.example.app
--dir ./metadata
undefinedMulti-Locale Management
多区域管理
Create new locale
创建新区域
-
Copy existing locale directory:bash
cp -r fastlane/metadata/android/en-US fastlane/metadata/android/es-ES -
Translate all text files
-
Import:bash
gplay sync import-listings \ --package com.example.app \ --dir ./fastlane/metadata/android
-
复制现有区域目录:bash
cp -r fastlane/metadata/android/en-US fastlane/metadata/android/es-ES -
翻译所有文本文件
-
导入:bash
gplay sync import-listings \ --package com.example.app \ --dir ./fastlane/metadata/android
Supported Locales
支持的区域代码
Use Play Console locale codes:
- - English (United States)
en-US - - Spanish (Spain)
es-ES - - French (France)
fr-FR - - German (Germany)
de-DE - - Japanese (Japan)
ja-JP - etc.
使用Play控制台的区域代码:
- - 英语(美国)
en-US - - 西班牙语(西班牙)
es-ES - - 法语(法国)
fr-FR - - 德语(德国)
de-DE - - 日语(日本)
ja-JP - 等等
Best Practices
最佳实践
- Keep metadata in version control - Track changes over time
- Validate before importing - Catch character limit errors
- Use consistent formatting - Follow style guide
- Test on different devices - Screenshots should represent actual app
- Update regularly - Keep descriptions current with features
- Localize properly - Don't use machine translation without review
- 将元数据纳入版本控制 - 跟踪随时间的变更
- 导入前先验证 - 捕获字符限制错误
- 使用统一格式 - 遵循风格指南
- 在不同设备上测试 - 截图应真实反映应用情况
- 定期更新 - 保持描述与功能同步
- 正确本地化 - 不要未经审核就使用机器翻译