Logo Quiz icon

Publication

Documentation

Guide de configuration pour Logo QuizVisuella

Build & publish

Release builds are one make target away — the env-sync step is baked in, so you never ship a build without the right identifiers, ad IDs, and version stamped in.

Android — App Bundle (recommended)

Google Play now requires an AAB rather than an APK for new apps:

bash
make build-aab

Output:

code
build/app/outputs/bundle/release/app-release.aab

Upload that file to the Play Console under Release → Production → Create new release.

Android — APK

For side-loading or ad-hoc testing:

bash
make build-apk

Output:

code
build/app/outputs/flutter-apk/app-release.apk

iOS — App Store archive

bash
make build-ipa

Output:

code
build/ios/ipa/*.ipa

Upload via Transporter (App Store Connect → Apps → your app → TestFlight or App Store tabs). Or open ios/Runner.xcworkspace in Xcode → Product → Archive → Distribute App.

Version bump

Before every release, bump both:

  • APP_VERSION_NAME (semver — 1.0.1, 1.1.0, …)
  • APP_VERSION_CODE (integer — Play requires strictly increasing)

Set them in setup.htmlCustomizations → General. The sync step patches pubspec.yaml's single version: line, and Flutter propagates that to both stores' expected fields.

Store listings

Both stores require metadata separate from the build:

  • App name, subtitle, description
  • Screenshots (per device family)
  • Feature graphic (Play only)
  • Privacy policy URL
  • Content rating

Use the assets under assets/store/ as a starting point. The demo store listing on CodeCanyon and the live App Store / Play Store pages are working references you can crib from.

Test builds before you upload

bash
make build-apk
adb install build/app/outputs/flutter-apk/app-release.apk

Play IAP and Play Games only unlock once the build is uploaded to a Play Console track (Internal testing is the fastest), signed with your upload key, and the tester is on the tester list. See In-App Purchase and Play Games.