Metadata for app store releases #44
@ -1 +1 @@
|
||||
Subproject commit 904f16bfc0624b6ab8569e0a70050aaa3bd64b3f
|
||||
Subproject commit 718df09e88b63c9524c882ccbb8247ca1448d3ff
|
@ -17,15 +17,9 @@ flutter pub get
|
||||
```
|
||||
|
||||
## Development
|
||||
### ...
|
||||
### Icons and logos
|
||||
The application uses a custom launcher icon and splash screen. These are managed platform-independently using the `flutter_launcher_icons` package.
|
||||
|
||||
To update the icons, change the `flutter_launcher_icons.yaml` configuration file. Especially the `image_path` is relevant. Then run
|
||||
```bash
|
||||
dart run flutter_launcher_icons
|
||||
```
|
||||
### TODO
|
||||
|
||||
## Deployment and metadata
|
||||
### Deploying a new version
|
||||
To truly deploy a new version of the application, i.e. to the official app stores, a special CI step is required. This listens for new tags. To create a new tag position yourself on the main branch and run
|
||||
```bash
|
||||
@ -34,6 +28,18 @@ git push origin v<name>
|
||||
```
|
||||
We adhere to the [Semantic Versioning](https://semver.org/) standard, so the tag should be of the form `v0.1.8` for example.
|
||||
|
||||
### Icons and logos
|
||||
The application uses a custom launcher icon and splash screen. These are managed platform-independently using the `flutter_launcher_icons` package.
|
||||
|
||||
To update the icons, change the `flutter_launcher_icons.yaml` configuration file. Especially the `image_path` is relevant. Then run
|
||||
```bash
|
||||
dart run flutter_launcher_icons
|
||||
```
|
||||
### Other metadata
|
||||
Fastlane provides mechanisms to update the metadata of the application. This includes the name, description, screenshots, etc. The metadata is stored in the `fastlane/metadata` directory of both the `android`and the `ios` version of the application. Both versions have different structures but **they should be kept in sync**. For more information see the [fastlane documentation](https://docs.fastlane.tools/):
|
||||
- https://docs.fastlane.tools/actions/deliver/
|
||||
- https://docs.fastlane.tools/actions/supply/
|
||||
|
||||
|
||||
## Fastlane - in depth
|
||||
The application is deployed to the Google Play Store and the Apple App Store using fastlane: [https://docs.fastlane.tools/](https://docs.fastlane.tools/)
|
||||
@ -46,16 +52,17 @@ bundle exec fastlane <lane>
|
||||
```
|
||||
This is reused in the CI/CD pipeline to automate the deployment process.
|
||||
|
||||
Secrets used by fastlane are stored on hashicorp vault and are fetched by the CI/CD pipeline. See below.
|
||||
|
||||
## Secrets
|
||||
These are mostly used by the CI/CD pipeline to deploy the application. The main usage for github actions is documented under [https://github.com/hashicorp/vault-action](https://github.com/hashicorp/vault-action).
|
||||
These are used by the CI/CD pipeline to deploy the application.
|
||||
|
||||
**Platform-specific secrets** are used by the CI/CD pipeline to deploy to the respective app stores.
|
||||
- `GOOGLE_MAPS_API_KEY` is used to authenticate with the Google Maps API and is scoped to the android platform
|
||||
- `ANDROID_GOOGLE_MAPS_API_KEY` is used to authenticate with the Google Maps API and is scoped to the android platform
|
||||
- `ANDROID_KEYSTORE` is used to sign the android apk
|
||||
- `ANDROID_GOOGLE_KEY` is used to authenticate with the Google Play Store api
|
||||
- `IOS_GOOGLE_MAPS_API_KEY` is used to authenticate with the Google Maps API and is scoped to the ios platform
|
||||
- `IOS_GOOGLE_...`
|
||||
- `IOS_GOOGLE_...`
|
||||
- `IOS_GOOGLE_...`
|
||||
- `IOS_ASC_ISSUER_ID` is used to authenticate with the App Store Connect API
|
||||
- `IOS_ASC_KEY` as well
|
||||
- `IOS_ASC_KEY_ID` as well
|
||||
- `IOS_MATCH_PASSWORD` is used by fastlane match to download the certificates
|
||||
- `IOS_MATCH_REPO_SSH_KEY_BASE64` is used to authenticate with the git repository where the certificates are stored
|
||||
|
@ -1,7 +1,7 @@
|
||||
AnyWay - plan city trips your way
|
||||
AnyWay is an application that helps you plan truly unique city trips. When planning a new trip, you can specify <our> preferences and constraints and anyway generates a personalized itinerary just for you.
|
||||
|
||||
AnyWay is a mobile application that helps users plan city trips. The app allows users to specify their preferences and constraints, and then generates a personalized itinerary for them. The planning follows some guiding principles:
|
||||
- **Personalization**:The user's preferences should be reflected in the choice of destinations.
|
||||
- **Efficiency**:The itinerary should be optimized for the user's constraints.
|
||||
- **Flexibility**: We aknowledge that tourism is a dynamic activity, and that users may want to change their plans on the go.
|
||||
- **Discoverability**: Tourism is an inherently exploratory activity. Once a rough itinerary is generated, detours and spontaneous decisions should be encouraged.
|
||||
Anyway follows these core principles:
|
||||
- **Personalization**: Trips should be match your interests - not just the most popular destinations.
|
||||
- **Efficiency**: Don't just walk in circles! Anyway creates the most efficient route for you.
|
||||
- **Flexibility**: Vacations are the time to be spontaneous. Anyway lets you update your plans on the go.
|
||||
- **Discoverability**: Tourism means exploration. Anyway encourages you to take detours and make spontaneous decisions.
|
||||
|
3
frontend/ios/fastlane/Deliverfile
Normal file
3
frontend/ios/fastlane/Deliverfile
Normal file
@ -0,0 +1,3 @@
|
||||
# The Deliverfile allows you to store various App Store Connect metadata
|
||||
# For more information, check out the docs
|
||||
# https://docs.fastlane.tools/actions/deliver/
|
1
frontend/ios/fastlane/metadata/copyright.txt
Normal file
1
frontend/ios/fastlane/metadata/copyright.txt
Normal file
@ -0,0 +1 @@
|
||||
|
@ -0,0 +1 @@
|
||||
|
7
frontend/ios/fastlane/metadata/en-US/description.txt
Normal file
7
frontend/ios/fastlane/metadata/en-US/description.txt
Normal file
@ -0,0 +1,7 @@
|
||||
AnyWay is an application that helps you plan truly unique city trips. When planning a new trip, you can specify <our> preferences and constraints and anyway generates a personalized itinerary just for you.
|
||||
|
||||
Anyway follows these core principles:
|
||||
- **Personalization**: Trips should be match your interests - not just the most popular destinations.
|
||||
- **Efficiency**: Don't just walk in circles! Anyway creates the most efficient route for you.
|
||||
- **Flexibility**: Vacations are the time to be spontaneous. Anyway lets you update your plans on the go.
|
||||
- **Discoverability**: Tourism means exploration. Anyway encourages you to take detours and make spontaneous decisions.
|
1
frontend/ios/fastlane/metadata/en-US/keywords.txt
Normal file
1
frontend/ios/fastlane/metadata/en-US/keywords.txt
Normal file
@ -0,0 +1 @@
|
||||
tourism, cities, travel, guide
|
1
frontend/ios/fastlane/metadata/en-US/marketing_url.txt
Normal file
1
frontend/ios/fastlane/metadata/en-US/marketing_url.txt
Normal file
@ -0,0 +1 @@
|
||||
https://anydev.info
|
1
frontend/ios/fastlane/metadata/en-US/name.txt
Normal file
1
frontend/ios/fastlane/metadata/en-US/name.txt
Normal file
@ -0,0 +1 @@
|
||||
AnyWay
|
1
frontend/ios/fastlane/metadata/en-US/privacy_url.txt
Normal file
1
frontend/ios/fastlane/metadata/en-US/privacy_url.txt
Normal file
@ -0,0 +1 @@
|
||||
https://anydev.info/privacy
|
@ -0,0 +1 @@
|
||||
AnyWay - plan city trips your way!
|
1
frontend/ios/fastlane/metadata/en-US/release_notes.txt
Normal file
1
frontend/ios/fastlane/metadata/en-US/release_notes.txt
Normal file
@ -0,0 +1 @@
|
||||
|
1
frontend/ios/fastlane/metadata/en-US/subtitle.txt
Normal file
1
frontend/ios/fastlane/metadata/en-US/subtitle.txt
Normal file
@ -0,0 +1 @@
|
||||
Plan city trips your way!
|
1
frontend/ios/fastlane/metadata/en-US/support_url.txt
Normal file
1
frontend/ios/fastlane/metadata/en-US/support_url.txt
Normal file
@ -0,0 +1 @@
|
||||
|
1
frontend/ios/fastlane/metadata/primary_category.txt
Normal file
1
frontend/ios/fastlane/metadata/primary_category.txt
Normal file
@ -0,0 +1 @@
|
||||
|
@ -0,0 +1 @@
|
||||
|
@ -0,0 +1 @@
|
||||
|
@ -0,0 +1 @@
|
||||
|
@ -0,0 +1 @@
|
||||
|
@ -0,0 +1 @@
|
||||
|
@ -0,0 +1 @@
|
||||
|
@ -0,0 +1 @@
|
||||
|
@ -0,0 +1 @@
|
||||
|
@ -0,0 +1 @@
|
||||
|
1
frontend/ios/fastlane/metadata/secondary_category.txt
Normal file
1
frontend/ios/fastlane/metadata/secondary_category.txt
Normal file
@ -0,0 +1 @@
|
||||
|
@ -0,0 +1 @@
|
||||
|
@ -0,0 +1 @@
|
||||
|
30
frontend/ios/fastlane/screenshots/README.txt
Normal file
30
frontend/ios/fastlane/screenshots/README.txt
Normal file
@ -0,0 +1,30 @@
|
||||
## Screenshots Naming Rules
|
||||
|
||||
Put all screenshots you want to use inside the folder of its language (e.g. `en-US`).
|
||||
The device type will automatically be recognized using the image resolution.
|
||||
|
||||
The screenshots can be named whatever you want, but keep in mind they are sorted
|
||||
alphabetically, in a human-friendly way. See https://github.com/fastlane/fastlane/pull/18200 for more details.
|
||||
|
||||
### Exceptions
|
||||
|
||||
#### iPad Pro (3rd Gen) 12.9"
|
||||
|
||||
Since iPad Pro (3rd Gen) 12.9" and iPad Pro (2nd Gen) 12.9" have the same image
|
||||
resolution, screenshots of the iPad Pro (3rd gen) 12.9" must contain either the
|
||||
string `iPad Pro (12.9-inch) (3rd generation)`, `IPAD_PRO_3GEN_129`, or `ipadPro129`
|
||||
(App Store Connect's internal naming of the display family for the 3rd generation iPad Pro)
|
||||
in its filename to be assigned the correct display family and to be uploaded to
|
||||
the correct screenshot slot in your app's metadata.
|
||||
|
||||
### Other Platforms
|
||||
|
||||
#### Apple TV
|
||||
|
||||
Apple TV screenshots should be stored in a subdirectory named `appleTV` with language
|
||||
folders inside of it.
|
||||
|
||||
#### iMessage
|
||||
|
||||
iMessage screenshots, like the Apple TV ones, should also be stored in a subdirectory
|
||||
named `iMessage`, with language folders inside of it.
|
Loading…
x
Reference in New Issue
Block a user