| name | gplay-metadata-sync |
| description | Metadata and localization sync (including Fastlane format) for Google Play Store listings. Use when updating app descriptions, screenshots, or managing multi-locale metadata. |
Metadata Sync for Google Play
Use this skill when you need to update or sync Play Store metadata and localizations.
Fastlane Directory Structure
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
gplay sync export-listings \
--package com.example.app \
--dir ./fastlane/metadata/android
gplay sync export-images \
--package com.example.app \
--dir ./fastlane/metadata/android
Import Metadata to Play Store
gplay validate listing \
--dir ./fastlane/metadata/android \
--locale en-US
gplay sync import-listings \
--package com.example.app \
--dir ./fastlane/metadata/android
gplay sync import-images \
--package com.example.app \
--dir ./fastlane/metadata/android
Compare Local vs Remote
gplay sync diff-listings \
--package com.example.app \
--dir ./fastlane/metadata/android
Manual Metadata Management
List all listings
gplay listings list \
--package com.example.app \
--edit $EDIT_ID
Get specific locale
gplay listings get \
--package com.example.app \
--edit $EDIT_ID \
--locale en-US
Update listing
listings update sets all fields for a locale via individual flags (fields not
provided are cleared). Use listings patch for partial updates.
gplay listings update \
--package com.example.app \
--edit $EDIT_ID \
--locale en-US \
--title "My Awesome App" \
--short-description "A short description under 80 characters" \
--full-description "A full description under 4000 characters..." \
--video "https://www.youtube.com/watch?v=VIDEO_ID"
Image Management
Upload screenshots
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.png
Image types
phoneScreenshots - Phone screenshots (required)
sevenInchScreenshots - 7" tablet screenshots
tenInchScreenshots - 10" tablet screenshots
tvScreenshots - TV screenshots
wearScreenshots - Wear OS screenshots
icon - App icon
featureGraphic - Feature graphic (1024x500)
List images
gplay images list \
--package com.example.app \
--edit $EDIT_ID \
--locale en-US \
--type phoneScreenshots
Delete image
gplay images delete \
--package com.example.app \
--edit $EDIT_ID \
--locale en-US \
--type phoneScreenshots \
--image IMAGE_ID \
--confirm
App Details
Get app details
gplay details get \
--package com.example.app \
--edit $EDIT_ID
Update contact info
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 | 30 characters |
| Short Description | 80 characters |
| Full Description | 4000 characters |
gplay validate listing \
--dir ./fastlane/metadata/android \
--locale en-US
Workflow Example
Complete metadata update workflow:
gplay sync export-listings \
--package com.example.app \
--dir ./metadata
vi ./metadata/en-US/full_description.txt
gplay validate listing \
--dir ./metadata \
--locale en-US
gplay sync diff-listings \
--package com.example.app \
--dir ./metadata
gplay sync import-listings \
--package com.example.app \
--dir ./metadata
Multi-Locale Management
Create new locale
-
Copy existing locale directory:
cp -r fastlane/metadata/android/en-US fastlane/metadata/android/es-ES
-
Translate all text files
-
Import:
gplay sync import-listings \
--package com.example.app \
--dir ./fastlane/metadata/android
Supported Locales
Use Play Console locale codes:
en-US - English (United States)
es-ES - Spanish (Spain)
fr-FR - French (France)
de-DE - German (Germany)
ja-JP - Japanese (Japan)
- etc.
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