Store Configuration (Android)
Jasonelle manages Google Play Store release metadata through store.jsonc.
Overview
The build pipeline merges lib/common/config/store.jsonc with lib/android/config/store.jsonc.
The merged output is written to build/android/config/store.jsonc.
The configuration follows standard Fastlane parameter names.
Run the following command to merge the configuration files:
task jsonc.android
File Locations
-
lib/common/config/store.jsonc: Common store metadata and release settings. -
lib/android/config/store.jsonc: Android specific settings and overrides. -
build/android/config/store.jsonc: Merged file consumed by the build pipeline.
Common Configuration (lib/common/config/store.jsonc)
The lib/common/config/store.jsonc file defines settings shared across Android and iOS stores.
These values provide the baseline store presence for the application.
Common Sections
metadata
Provides localized store listing content per language code.
| Property | Type | Description |
|---|---|---|
|
String |
The primary locale code for store listings (for example, |
|
String |
The application name displayed on store listings. |
|
String |
The full descriptive text for the application. |
|
String |
The comma-separated keywords for search indexing. |
|
String |
The privacy policy URL required by app stores. |
|
String |
The customer support website URL. |
|
String |
The marketing or product website URL. |
|
String |
The changelog description for this release. |
review_information
Stores contact information and test account credentials for app reviewers.
| Property | Type | Description |
|---|---|---|
|
String |
The first name of the developer contact. |
|
String |
The last name of the developer contact. |
|
String |
The email address of the developer contact. |
|
String |
The telephone number of the developer contact. |
|
String |
The username for the reviewer test account. |
|
String |
The password for the reviewer test account. |
|
String |
Instructions for the store review team. |
release
Controls shared release and upload automation behavior.
| Property | Type | Description |
|---|---|---|
|
Boolean |
Skip uploading screenshots during deployment. |
|
Boolean |
Skip uploading store metadata during deployment. |
|
Boolean |
Submit the release for review automatically. |
|
Boolean |
Release the app automatically after store approval. |
Common Configuration Example
{
"metadata": {
"default_language": "en-US",
"en-US": {
"title": "Jasonelle v4",
"description": "Jasonelle turns web applications into high-performance native iOS and Android apps with full native capabilities.",
"keywords": "jasonelle, webview, mobile, ios, android, hybrid, native",
"privacy_url": "https://jasonelle.com/privacy",
"support_url": "https://jasonelle.com/support",
"marketing_url": "https://jasonelle.com",
"release_notes": "Initial release of Jasonelle v4."
}
},
"review_information": {
"contact_first_name": "Jason",
"contact_last_name": "Elle",
"contact_email": "developer@example.com",
"contact_phone": "+1234567890",
"demo_user": "demo@example.com",
"demo_password": "DemoPassword123!",
"notes": "Test login credentials provided above for app review."
},
"release": {
"skip_screenshots": false,
"skip_metadata": false,
"submit_for_review": false,
"automatic_release": false
}
}
Android Configuration (lib/android/config/store.jsonc)
The lib/android/config/store.jsonc file specifies Google Play Store parameters and overrides.
Android Sections
appfile
Configures credentials and package identifiers for Fastlane tools.
| Property | Type | Description |
|---|---|---|
|
String |
The application package identifier matching |
|
String |
The path to the Google Play service account JSON key file. |
supply
Configures the Fastlane supply tool for Google Play publishing.
| Property | Type | Description |
|---|---|---|
|
String |
The target release track ( |
|
Number |
The staged rollout percentage from |
|
Boolean |
Skip uploading the Android App Bundle file. |
|
Boolean |
Skip uploading APK files when using App Bundles. |
|
Boolean |
Skip uploading text metadata to the store listing. |
|
Boolean |
Skip uploading release notes and changelogs. |
|
Boolean |
Skip uploading app icons and promotional images. |
|
Boolean |
Skip uploading device screenshots. |
|
Boolean |
Validate the release with Google Play without publishing. |
|
Boolean |
Send release changes to Google review immediately. |
|
Boolean |
Acknowledge warnings when the bundle drops device support. |
Android Configuration Example
{
"appfile": {
"package_name": "com.example.application",
"json_key_file": "lib/android/config/play-store-key.json"
},
"supply": {
"track": "internal",
"rollout": 1.0,
"skip_upload_aab": false,
"skip_upload_apk": true,
"skip_upload_metadata": false,
"skip_upload_changelogs": false,
"skip_upload_images": false,
"skip_upload_screenshots": false,
"validate_only": false,
"changes_not_sent_for_review": false,
"ack_bundle_installation_warning": true
},
"metadata": {
"en-US": {
"short_description": "Build native Android apps with web technologies.",
"video": "https://www.youtube.com/watch?v=example"
}
},
"gradle": {
"task": "bundleRelease",
"build_type": "Release"
}
}
Merged Output (build/android/config/store.jsonc)
The following example shows the resulting merged file after running task jsonc.android:
{
"appfile": {
"json_key_file": "lib/android/config/play-store-key.json",
"package_name": "com.example.application"
},
"gradle": {
"build_type": "Release",
"task": "bundleRelease"
},
"metadata": {
"default_language": "en-US",
"en-US": {
"description": "Jasonelle turns web applications into high-performance native iOS and Android apps with full native capabilities.",
"keywords": "jasonelle, webview, mobile, ios, android, hybrid, native",
"marketing_url": "https://jasonelle.com",
"privacy_url": "https://jasonelle.com/privacy",
"release_notes": "Initial release of Jasonelle v4.",
"short_description": "Build native Android apps with web technologies.",
"support_url": "https://jasonelle.com/support",
"title": "Jasonelle v4",
"video": "https://www.youtube.com/watch?v=example"
}
},
"release": {
"automatic_release": false,
"skip_metadata": false,
"skip_screenshots": false,
"submit_for_review": false
},
"review_information": {
"contact_email": "developer@example.com",
"contact_first_name": "Jason",
"contact_last_name": "Elle",
"contact_phone": "+1234567890",
"demo_password": "DemoPassword123!",
"demo_user": "demo@example.com",
"notes": "Test login credentials provided above for app review."
},
"supply": {
"ack_bundle_installation_warning": true,
"changes_not_sent_for_review": false,
"rollout": 1,
"skip_upload_aab": false,
"skip_upload_apk": true,
"skip_upload_changelogs": false,
"skip_upload_images": false,
"skip_upload_metadata": false,
"skip_upload_screenshots": false,
"track": "internal",
"validate_only": false
}
}