Skip to content

Getting Started

Terminal window
bun add @capgo/capacitor-firebase-app-check
bunx cap sync
import { FirebaseAppCheck } from '@capgo/capacitor-firebase-app-check';

Get the current App Check token.

import { FirebaseAppCheck } from '@capgo/capacitor-firebase-app-check';
await FirebaseAppCheck.getToken();

Activate App Check for the given app. Can be called only once per app.

import { FirebaseAppCheck } from '@capgo/capacitor-firebase-app-check';
await FirebaseAppCheck.initialize();

Set whether the App Check token should be refreshed automatically or not.

import { FirebaseAppCheck } from '@capgo/capacitor-firebase-app-check';
await FirebaseAppCheck.setTokenAutoRefreshEnabled({} as SetTokenAutoRefreshEnabledOptions);
export interface GetTokenOptions {
/**
* If `true`, will always try to fetch a fresh token.
* If `false`, will use a cached token if found in storage.
*
* @since 1.3.0
* @default false
*/
forceRefresh?: boolean;
}
export interface GetTokenResult {
/**
* The App Check token in JWT format.
*
* @since 1.3.0
*/
token: string;
/**
* The timestamp after which the token will expire in milliseconds since epoch.
*
* Only available for Android and iOS.
*
* @since 1.3.0
*/
expireTimeMillis?: number;
}
export interface InitializeOptions {
/**
* If `true`, the debug provider is used.
*
* ⚠️ **Attention**: The debug provider allows access to your Firebase resources from unverified devices.
* Don't use the debug provider in production builds of your app, and don't share your debug builds with untrusted parties.
*
* ⚠️ **Deprecated**: Use `debugToken` instead. This option will be removed in the next major version.
*
* Read more: https://firebase.google.com/docs/app-check/web/debug-provider
*
* @since 1.3.0
* @deprecated Use `debugToken` instead. This option will be removed in the next major version.
* @default false
*/
debug?: boolean;
/**
* If `true`, the debug provider is used.
*
* On **Web**, you can also set a predefined debug token string instead of `true`. On Android and iOS, you have to use environment variables for this.
*
* ⚠️ **Attention**: The debug provider allows access to your Firebase resources from unverified devices.
* Don't use the debug provider in production builds of your app, and don't share your debug builds with untrusted parties.
*
* @since 7.1.0
* @default false
* @see https://firebase.google.com/docs/app-check/android/debug-provider#ci
* @see https://firebase.google.com/docs/app-check/ios/debug-provider#ci
* @see https://firebase.google.com/docs/app-check/web/debug-provider
*/
debugToken?: boolean | string;
/**
* If `true`, the SDK automatically refreshes App Check tokens as needed.
*
* @since 1.3.0
* @default false
*/
isTokenAutoRefreshEnabled?: boolean;
/**
* The provider to use for App Check. Must be an instance of
* `ReCaptchaV3Provider`, `ReCaptchaEnterpriseProvider`, or `CustomProvider`.
*
* Only available for Web.
*
* @since 7.1.0
* @default ReCaptchaV3Provider
* @see https://firebase.google.com/docs/app-check/web/custom-provider
*/
provider?: any;
/**
* The reCAPTCHA v3 site key (public key). This option is ignored when `provider` is set.
*
* Only available for Web.
*
* @deprecated Use `provider` instead.
* @since 1.3.0
*/
siteKey?: string;
}
export interface SetTokenAutoRefreshEnabledOptions {
/**
* If `true`, the SDK automatically refreshes App Check tokens as needed.
* This overrides any value set during initializeAppCheck().
*
* @since 1.3.0
*/
enabled: boolean;
}

Callback to receive the token change event.

export type TokenChangedListener = (event: TokenChangedEvent) => void;
export interface GetPluginVersionResult {
/**
* The semantic version of this plugin.
*
* @since 8.0.1
*/
version: string;
}
export interface TokenChangedEvent {
/**
* The App Check token in JWT format.
*
* @since 1.3.0
*/
token: string;
}

This page is generated from the plugin’s src/definitions.ts. Re-run the sync when the public API changes upstream.

If you are using Getting Started to plan dashboard and API operations, connect it with API Overview for the implementation detail in API Overview, Introduction for the implementation detail in Introduction, API Keys for the implementation detail in API Keys, Devices for the implementation detail in Devices, and Bundles for the implementation detail in Bundles.