Amba

SDK platform parity

Every Amba SDK method across Web, Node, React, React Native, Expo, iOS, Android, Flutter, and Unity — one generated matrix that cannot drift from the SDKs.

Every Amba SDK is built from a single method catalog — the same source of truth the SDKs themselves are built from. This page is generated directly from that catalog and the SDK sources, so it always shows what each SDK actually ships today: 136 methods across 34 namespaces, on nine platforms.

Legend

  • ✓ — available on this platform today.
  • — — not available on this platform (not applicable, or not shipped yet).

Two columns are inherited by construction: React re-exports the full Web surface (@layers/amba-react is the hooks layer on top of @layers/amba-web), so its column always matches Web; Expo re-exports the full React Native surface plus Expo-only helpers (push token capture, native sign-in flows), so its column always matches React Native.

Method names are shown in their canonical dotted form (Amba.<namespace>.<method> on client SDKs). A few SDKs expose the same method under a platform-idiomatic name — for example, the Unity SDK uses PascalCase with an Async suffix (Amba.Collections.FindOneAsync), and some namespaces differ slightly per package (the Node SDK's server client scopes methods under client.asUser(id)). Availability is identical either way.

Identity

auth

MethodWebNodeReactReact NativeExpoiOSAndroidFlutterUnity
auth.signInAnonymously✓✓✓✓✓✓✓✓✓
auth.signInWithEmail✓✓✓✓✓✓✓✓✓
auth.signUpWithEmail✓✓✓✓✓✓✓✓✓
auth.signInWithApple✓✓✓✓✓✓✓✓✓
auth.signInWithGoogle✓✓✓✓✓✓✓✓✓
auth.requestEmailOtp✓✓✓✓✓✓✓✓✓
auth.verifyEmailOtp✓✓✓✓✓✓✓✓✓
auth.requestSmsOtp✓✓✓✓✓✓✓✓✓
auth.verifySmsOtp✓✓✓✓✓✓✓✓✓
auth.requestMagicLink✓✓✓✓✓✓✓✓✓
auth.verifyMagicLink✓✓✓✓✓✓✓✓✓
auth.linkAccount✓✓✓✓✓✓✓✓✓
auth.linkSmsOtp✓✓✓✓✓————
auth.linkEmailOtp✓✓✓✓✓————
auth.linkEmailPassword✓—✓✓✓————
auth.unlinkSmsOtp✓✓✓✓✓————
auth.unlinkEmailOtp✓✓✓✓✓————
auth.unlinkApple✓✓✓✓✓————
auth.unlinkGoogle✓✓✓✓✓————
auth.getCurrentIdentifiers✓✓✓✓✓————
auth.signOut✓✓✓✓✓✓✓✓✓
auth.refresh✓✓✓✓✓✓✓✓✓
auth.me✓✓✓✓✓✓✓✓✓

users

MethodWebNodeReactReact NativeExpoiOSAndroidFlutterUnity
users.get✓✓✓✓✓✓✓✓✓
users.update✓✓✓✓✓✓✓✓✓

sessions

MethodWebNodeReactReact NativeExpoiOSAndroidFlutterUnity
sessions.list✓✓✓✓✓✓✓✓✓
sessions.revoke✓✓✓✓✓✓✓✓✓

roles

MethodWebNodeReactReact NativeExpoiOSAndroidFlutterUnity
roles.getMyRoles✓✓✓✓✓✓✓✓✓
roles.hasPermission✓✓✓✓✓✓✓✓✓

Data & sync

collections

MethodWebNodeReactReact NativeExpoiOSAndroidFlutterUnity
collections.find✓✓✓✓✓✓✓✓✓
collections.findOne✓✓✓✓✓✓✓✓✓
collections.count✓✓✓✓✓✓✓✓✓
collections.findNearest✓✓✓✓✓✓✓✓✓
collections.insert✓✓✓✓✓✓✓✓✓
collections.upsert✓✓✓——————
collections.update✓✓✓✓✓✓✓✓✓
collections.delete✓✓✓✓✓✓✓✓✓
collections.deleteWhere✓✓✓——————
collections.restore✓✓✓——————
collections.transaction✓✓✓——————

sync

MethodWebNodeReactReact NativeExpoiOSAndroidFlutterUnity
sync.pushChanges✓✓✓✓✓✓✓✓✓
sync.pullChanges✓✓✓✓✓✓✓✓✓

Media & storage

storage

MethodWebNodeReactReact NativeExpoiOSAndroidFlutterUnity
storage.presign✓✓✓✓✓✓✓✓✓
storage.commit—✓—✓✓✓✓✓✓
storage.list✓✓✓✓✓✓✓✓✓
storage.delete✓✓✓✓✓✓✓✓✓
storage.download✓✓✓✓✓✓✓✓✓

Remote config & flags

config

MethodWebNodeReactReact NativeExpoiOSAndroidFlutterUnity
config.fetch✓✓✓✓✓✓✓✓✓

flags

MethodWebNodeReactReact NativeExpoiOSAndroidFlutterUnity
flags.fetch✓✓✓✓✓✓✓✓✓
flags.get✓✓✓✓✓✓✓✓✓

Push notifications

push

MethodWebNodeReactReact NativeExpoiOSAndroidFlutterUnity
push.register✓✓✓✓✓✓✓✓✓
push.unregister✓✓✓✓✓✓✓✓✓
push.getTokens✓✓✓✓✓✓✓✓✓
push.subscribe✓✓✓✓✓✓✓✓✓
push.unsubscribe✓✓✓✓✓✓✓✓✓
push.enableAutoRotation✓—✓✓✓————

Monetization

offerings

MethodWebNodeReactReact NativeExpoiOSAndroidFlutterUnity
offerings.offerings✓✓✓✓✓✓✓✓✓

entitlements

MethodWebNodeReactReact NativeExpoiOSAndroidFlutterUnity
entitlements.list✓✓✓✓✓✓✓✓✓
entitlements.has✓✓✓✓✓✓✓✓✓
entitlements.restore✓✓✓✓✓✓✓✓✓

Gamification

achievements

MethodWebNodeReactReact NativeExpoiOSAndroidFlutterUnity
achievements.getAll✓✓✓✓✓✓✓✓✓
achievements.getProgress✓✓✓✓✓✓✓✓✓

xp

MethodWebNodeReactReact NativeExpoiOSAndroidFlutterUnity
xp.getBalance✓✓✓✓✓✓✓✓✓
xp.getHistory✓✓✓✓✓✓✓✓✓
xp.claim✓✓✓✓✓✓✓✓✓

streaks

MethodWebNodeReactReact NativeExpoiOSAndroidFlutterUnity
streaks.getAll✓✓✓✓✓✓✓✓✓
streaks.qualify✓✓✓✓✓✓✓✓✓

leaderboards

MethodWebNodeReactReact NativeExpoiOSAndroidFlutterUnity
leaderboards.get✓✓✓✓✓✓✓✓✓
leaderboards.getEntries✓✓✓✓✓✓✓✓✓
leaderboards.getMyRank✓✓✓✓✓✓✓✓✓

challenges

MethodWebNodeReactReact NativeExpoiOSAndroidFlutterUnity
challenges.getActive✓✓✓✓✓✓✓✓✓
challenges.get✓✓✓✓✓✓✓✓✓
challenges.getProgress✓✓✓✓✓✓✓✓✓
challenges.claim✓✓✓✓✓✓✓✓✓

leagues

MethodWebNodeReactReact NativeExpoiOSAndroidFlutterUnity
leagues.me✓✓✓✓✓✓✓✓✓
leagues.cohort✓✓✓✓✓✓✓✓✓

Economy

currencies

MethodWebNodeReactReact NativeExpoiOSAndroidFlutterUnity
currencies.getBalance✓✓✓✓✓✓✓✓✓
currencies.getTransactions✓✓✓✓✓✓✓✓✓

inventory

MethodWebNodeReactReact NativeExpoiOSAndroidFlutterUnity
inventory.getItems✓✓✓✓✓✓✓✓✓
inventory.getItem✓✓✓✓✓✓✓✓✓
inventory.purchase✓✓✓✓✓✓✓✓✓
inventory.consume✓✓✓✓✓✓✓✓✓

catalog

MethodWebNodeReactReact NativeExpoiOSAndroidFlutterUnity
catalog.list✓✓✓✓✓✓✓✓✓
catalog.get✓✓✓✓✓✓✓✓✓

stores

MethodWebNodeReactReact NativeExpoiOSAndroidFlutterUnity
stores.list✓✓✓✓✓✓✓✓✓
stores.getPurchaseOptions✓✓✓✓✓✓✓✓✓
stores.purchase✓✓✓✓✓✓✓✓✓

Social

friends

MethodWebNodeReactReact NativeExpoiOSAndroidFlutterUnity
friends.getList✓✓✓✓✓✓✓✓✓
friends.getFriends✓✓✓✓✓✓✓✓✓
friends.sendRequest✓✓✓✓✓✓✓✓✓
friends.acceptRequest✓✓✓✓✓✓✓✓✓
friends.declineRequest✓✓✓✓✓✓✓✓✓
friends.blockUser✓✓✓✓✓✓✓✓✓
friends.unblockUser✓✓✓✓✓✓✓✓✓
friends.removeBlock✓✓✓✓✓✓✓✓✓
friends.removeFriend✓✓✓✓✓✓✓✓✓

groups

MethodWebNodeReactReact NativeExpoiOSAndroidFlutterUnity
groups.create✓✓✓✓✓✓✓✓✓
groups.get✓✓✓✓✓✓✓✓✓
groups.update✓✓✓✓✓✓✓✓✓
groups.delete✓✓✓✓✓✓✓✓✓
groups.getMembers✓✓✓✓✓✓✓✓✓
groups.join✓✓✓✓✓✓✓✓✓
groups.leave✓✓✓✓✓✓✓✓✓
groups.invite✓✓✓✓✓✓✓✓✓

messaging

MethodWebNodeReactReact NativeExpoiOSAndroidFlutterUnity
messaging.createConversation✓✓✓✓✓✓✓✓✓
messaging.conversations✓✓✓✓✓✓✓✓✓
messaging.sendMessage✓✓✓✓✓✓✓✓✓
messaging.listMessages✓✓✓✓✓✓✓✓✓
messaging.getMessage✓✓✓✓✓✓✓✓✓
messaging.addParticipant✓✓✓——✓———
messaging.markRead✓✓✓✓✓✓✓✓✓
messaging.conversation✓✓✓✓✓————

feeds

MethodWebNodeReactReact NativeExpoiOSAndroidFlutterUnity
feeds.getActivity✓✓✓✓✓✓✓✓✓

reviews

MethodWebNodeReactReact NativeExpoiOSAndroidFlutterUnity
reviews.list✓✓✓✓✓✓✓✓✓
reviews.create✓✓✓✓✓✓✓✓✓
reviews.update✓✓✓✓✓✓✓✓✓
reviews.delete✓✓✓✓✓✓✓✓✓

moderation

MethodWebNodeReactReact NativeExpoiOSAndroidFlutterUnity
moderation.reportUser✓✓✓✓✓✓✓✓✓
moderation.reportContent✓✓✓✓✓✓✓✓✓
moderation.getReportStatus✓✓✓✓✓✓✓✓✓

Engagement

referrals

MethodWebNodeReactReact NativeExpoiOSAndroidFlutterUnity
referrals.getReferralCode✓✓✓✓✓✓✓✓✓
referrals.claimReferral✓✓✓✓✓✓✓✓✓
referrals.create✓✓✓✓✓✓✓✓✓

content

MethodWebNodeReactReact NativeExpoiOSAndroidFlutterUnity
content.today✓✓✓✓✓✓✓✓✓
content.library✓✓✓✓✓✓✓✓✓
content.item✓✓✓✓✓✓✓✓✓
content.updateItem✓✓✓✓✓✓✓✓✓
content.createItem✓✓✓✓✓✓✓✓✓
MethodWebNodeReactReact NativeExpoiOSAndroidFlutterUnity
deepLinks.get✓✓✓✓✓✓✓✓✓
deepLinks.create✓✓✓✓✓✓✓✓✓

onboarding

MethodWebNodeReactReact NativeExpoiOSAndroidFlutterUnity
onboarding.getStatus✓✓✓✓✓✓✓✓✓
onboarding.nextStep✓✓✓✓✓✓✓✓✓
onboarding.skipStep✓✓✓✓✓✓✓✓✓
onboarding.complete✓✓✓✓✓✓✓✓✓

AI

ai

MethodWebNodeReactReact NativeExpoiOSAndroidFlutterUnity
ai.anthropic.messages.create✓✓✓✓✓✓✓✓✓

Diagnostics

diagnostics

MethodWebNodeReactReact NativeExpoiOSAndroidFlutterUnity
diagnostics.ping✓✓✓✓✓✓✓✓✓

Not in this matrix

The matrix covers the per-method SDK surface. A few cross-cutting capabilities are documented on their own pages instead of as rows here:

  • Client lifecycle (Amba.configure) and event tracking (Amba.track).
  • Function invocation (Amba.functions.invoke).
  • Live updates — the realtime subscription builders (Amba.collection(name).subscribe(), Amba.gamification.subscribe()). The conversation realtime builder appears above as messaging.conversation.
  • The offline queue and optimistic-update helpers (Amba.offline).
  • Platform-specific extras such as Expo's registerPushToken() and the native sign-in conveniences described in each quickstart.

Picking an SDK

You're building…Use
A web app (React or otherwise)@layers/amba-web / @layers/amba-react
A server / backend job@layers/amba-node
A bare React Native app@layers/amba-react-native
An Expo app@layers/amba-expo
A native iOS appSwift SDK
A native Android appKotlin SDK
A Flutter appFlutter SDK
A Unity gameUnity SDK

See the per-platform quickstarts for install and setup, and the feature docs for the shared API surface.


Generated from the SDK method manifest by pnpm sdk:parity-matrix. Edits belong in the generator, never on this page.