Cross-platform framework (Dart) · platform guide

The backend for Flutter.

Amba’s Flutter SDK is one Dart package — flutter pub add amba — covering auth, push campaigns, streaks, leaderboards, collections, and analytics behind a single Amba.configure call. An AI agent provisions the backend over MCP in about ten seconds. FlutterFire remains the more mature default for Firestore-centric apps; the concessions below say exactly where.

Get an API key All platformsupdated June 12, 2026
copy, paste, build:

Flutter’s backend story has been FlutterFire-shaped for years: a family of first-party-maintained Firebase plugins with deep docs and a huge install base. Amba takes a different cut at the problem. The amba package on pub.dev exposes the full SDK surface — auth, users, sessions, sync, collections, storage, push, entitlements, flags, content, messaging, friends, groups, feeds, achievements, XP, streaks, challenges, leaderboards, leagues, currencies, inventory, and more — as Dart namespaces behind one configure call, and every one of those server-side primitives is also an MCP tool, so the coding agent that writes your Dart wires the backend in the same session. Rare on a BaaS page, real here: the snippets below are Dart, verified against the published package.

quickstart

How do I add Amba to a Flutter app?

Install

flutter pub add amba

Published on pub.dev as "amba".

Configure + first call

import 'package:amba/amba.dart';

Future<void> main() async {
  await Amba.configure(apiKey: 'amba_pk_…');

  await Amba.auth.signInAnonymously();
  await Amba.events.track('app_opened', {'source': 'deep_link'});
}

Engagement surfaces are namespaces, not plugins

// Each of these is a namespace on the same configured client —
// no extra packages, no per-feature setup.
final streaks = await Amba.streaks.all();
await Amba.streaks.qualify('daily_reading');
final top = await Amba.leaderboards.entries('weekly_xp', limit: 10);

Method signatures verified against the published package — see the SDK reference for each namespace.

capability coverage

What does Amba ship for Flutter developers?

surfacestatusnotes
Auth & identity (Apple, Google, anonymous, link)Yes — built inAnonymous-first sessions, social sign-in via identity-token exchange, and account linking.
Push notifications (iOS + Android, scheduled)PartialCampaigns, segments, and scheduling are built in server-side over APNs and FCM. The SDK registers device tokens; you capture them with your existing Flutter push plugin.
Data collections + vector searchYes — built inTyped collections with filters, pagination, and vector search, read from Dart.
Streaks (declarative, grace, timezone)Yes — built inStreaks are server-side rules; Amba.streaks reads state and reports activity.
Leaderboards, XP & weekly leaguesYes — built inXP, achievements, challenges, leaderboards, and leagues namespaces.
Virtual economy + subscriptions / IAPPartialCurrencies, inventory, catalog, stores, and entitlement state ship; store receipt validation composes with RevenueCat rather than replacing it.
Social graph, feeds & group chatYes — built inFriends, groups, messaging, feeds, reviews, and moderation namespaces.
Product analytics (events, funnels, retention)Yes — built inAmba.events.track with properties; funnels and retention query server-side.
Feature flags & remote configYes — built inFlags and config namespaces ship in the SDK.

Coverage verified against the published pub.dev package, June 2026. Live user segments are configured over MCP or the console; SDK events feed them.

the honest part

When is Amba not the right call?

FlutterFire is more mature — full stop
The FlutterFire plugin family has years of production hardening, first-party maintenance, and the largest body of Flutter-specific answers anywhere. If your app is Firestore-centric or you lean on Crashlytics and Google Analytics, FlutterFire is the lower-risk choice — the honest head-to-head is at /compare/firebase.
Push token capture stays your plugin’s job
The amba package registers device tokens but does not capture them — you keep your existing Flutter push plugin for that step. Teams already running FCM capture lose nothing; teams expecting one bundled plugin for everything should know up front.
SQL-heavy data models
If your Flutter app needs hand-written relational SQL — joins, transactions you compose yourself — Supabase’s Postgres-first model is the better-shaped tool. See /compare/supabase for the trade-offs in both directions.
the agent path

Can an AI agent set this up end to end?

Yes. Amba’s hosted MCP server at https://mcp.amba.dev/mcp (Streamable HTTP) exposes the whole backend as tool calls. amba_developer_signup mints a developer token and a provisioned project — client key and server key included — with no browser, and the project goes active in about ten seconds. Your agent provisions the project, collections, streaks, and campaigns over MCP, then writes the Dart: one Amba.configure call with the key it just minted.

questions

Amba + FlutterFAQ

What backend should I use for a Flutter app?

FlutterFire (Firebase) is the mature default and the right call for Firestore-centric apps. Amba is the fit when the app runs on engagement loops — streaks, scheduled push, leaderboards, an in-app economy — and you want those as first-class APIs an AI agent provisions over MCP, not features you assemble on a datastore.

Is there a real Amba SDK for Flutter, in Dart?

Yes — the amba package on pub.dev. One flutter pub add amba, one Amba.configure(apiKey: …) call, and the full surface (auth, collections, push registration, streaks, XP, leaderboards, currencies, social, flags, events) is available as Dart namespaces. The snippets on this page are verified against the published package.

How does Amba compare to FlutterFire?

FlutterFire wins on maturity, plugin depth, and community answers — genuinely. Amba wins when you would otherwise build streaks, segments, campaigns, and an economy yourself on top of Firestore: those ship as declarative primitives. The full comparison, both directions, is at /compare/firebase.

Does Amba handle push notifications for Flutter?

The campaign side, yes: scheduled campaigns, segment targeting, and delivery over APNs and FCM are built in. Token capture stays with your existing Flutter push plugin — the SDK takes the token you capture and registers it with your project.

Can an AI coding agent set up the Flutter backend?

Yes. Any MCP-aware agent connects to mcp.amba.dev, signs up with amba_developer_signup (no browser), gets a provisioned project in about ten seconds, and defines collections, streaks, and campaigns as tool calls — then writes the Dart that consumes them.

sources

Sources for this guide

start in 30 seconds

Hand the docs to your agent.
Ship by lunch.

Read the docs