1. Getting Started
  2. /
  3. Getting Started

Getting Started

On this page

Blaze builds, signs and ships your Flutter app to the App Store and Google Play from a single push. This guide takes you from an empty account to your first deployment.

Before you start Flutter project on GitHub Apple Developer account (iOS) Google Play Console (Android) See pricing →

Set Up Your Account

Work through these in order — each step unlocks the next.

1

Create your account

Sign up and verify your email address. Deploying needs a plan and a card: choose a plan on Billing, in the account menu, and checkout takes the card.

2

Connect GitHub

Install the Blaze GitHub App on the account or organization that owns your Flutter repository. Blaze only requests access to the repositories you select.

3

Add your project

Click New application in the console, pick your repository, and choose the branch you deploy from (typically main). Blaze checks your pubspec.yaml and platform folders at the start of every deployment.

4

Configure your platforms

Enable iOS, Android or both, then follow the platform guides to upload signing credentials and store API keys. Everything is encrypted at rest.

5

Deploy

Click Deploy on the application page, choose a target for each platform, and start the deployment. With Deploy on push turned on, a push that changes your app's version deploys too. Watch each step stream live until your build lands in the stores.

What you get
Automated App Store and Google Play delivery
Managed iOS signing — no local Xcode wrangling
Live per-phase build progress
Encrypted credentials and environment variables

Upgrade or Change Your Plan

To upgrade your plan, open the account menu in the console and choose Billing for the workspace you want to upgrade. Find the Plans section and choose the plan you need.

  • Starting a paid plan: choose Monthly or Yearly, then click Start Pro or Start Team. Complete the Stripe checkout to start the subscription.
  • Changing an active or trialing paid plan: click Switch to Pro or Switch to Team under the other paid plan. The switch keeps your current billing interval and is invoiced immediately with prorated charges.
  • Moving to Starter: click Move to Starter… to open the subscription cancellation flow. The paid subscription ends at the end of the current billing period.

Plan switching is available for active or trialing subscriptions. If your subscription is ending, payment is pending, or the plan-change buttons are unavailable, contact support for help.

Platform Setup

Each store needs a one-time setup before your first deployment.

Configure your bundle ID and one App Store Connect API key. Blaze signs with Apple's cloud signing, so there are no certificates or profiles to upload.

Configure your package name, upload keystore, and a Google Play service account.

How a Deployment Runs

When you start a deployment, Blaze works through five steps for each platform and shows each one on the deployment page in real time:

  1. Prepare runner — checks your project before any build time is spent
  2. Clone & pub get — checks your commit out on a managed runner (macOS for iOS, Linux for Android) and fetches dependencies
  3. Compile — compiles the release build
  4. Code sign & export — produces the signed .ipa or .aab
  5. Upload — delivers the build to App Store Connect or Google Play

Tip: caches for the Flutter SDK, pub packages, CocoaPods and Gradle persist between deployments, so your second build is much faster than your first.

Project Requirements

Your Flutter project should follow the standard structure:

your-flutter-app/
├── android/
├── ios/
├── lib/
└── pubspec.yaml

Blaze reads these files to configure the build:

  • pubspec.yaml — app name, version and dependencies
  • ios/ — Xcode project used for the iOS build
  • android/ — Gradle project used for the Android build

Need configuration values in your Dart code? Set environment variables on the app's Environment card and read them at build time.

Next Steps

Once your first build is green:

Stuck at any point? Contact support — we answer within a day.