@layers/amba-react-native
v3.0.3
Published
amba SDK for React Native — pure-JS HTTP client, full 25-namespace surface, secure on-device identity persistence, native push notifications.
Readme
@layers/amba-react-native
Amba is the agent-native backend-as-a-service for mobile and web apps. This package is the React Native SDK. Works in both bare React Native and Expo (Go + bare workflow).
What's new in 2.0.0
The SDK is now a pure-JS HTTP client — smaller bundles, faster cold starts, no native runtime dependency. The public API (Amba.configure, Amba.auth.*, Amba.events.track, …) is unchanged. Customers upgrading from 1.x do not need any code changes.
If you were importing values directly from @layers/amba-core through this SDK, install @layers/amba-core as a direct dependency. Most apps don't need this.
Install
npm install @layers/amba-react-native @react-native-async-storage/async-storage
# or, for Expo:
npx expo install @layers/amba-react-native @react-native-async-storage/async-storageConfigure + first call
import { Amba } from "@layers/amba-react-native";
await Amba.configure({ apiKey: "amba_pk_…" });
await Amba.auth.signInAnonymously();
await Amba.events.track("app_opened");Push registration
import { Platform } from "react-native";
import * as Notifications from "expo-notifications";
import { Amba } from "@layers/amba-react-native";
const { data: token } = await Notifications.getDevicePushTokenAsync();
await Amba.push.register(token, Platform.OS === "ios" ? "apns" : "fcm");Sign in with Apple / Google
import * as AppleAuthentication from "expo-apple-authentication";
import { Amba } from "@layers/amba-react-native";
const credential = await AppleAuthentication.signInAsync({
requestedScopes: [
AppleAuthentication.AppleAuthenticationScope.FULL_NAME,
AppleAuthentication.AppleAuthenticationScope.EMAIL,
],
});
if (credential.identityToken) {
await Amba.auth.signInWithSocial("apple", credential.identityToken);
}Google works the same way via expo-auth-session/providers/google (pass response.params.id_token to Amba.auth.signInWithSocial("google", …)).
Docs
Full reference: https://docs.amba.dev/sdk/react-native.
License
MIT
