# SDK — Cordova / Capacitor (/docs/sdk/cordova)



<Callout type="warn">
  **Status: not yet published.** `cordova-plugin-layers` does not exist on
  npm, and `@layers/capacitor` is not published. The previous content on
  this page described a planned API, not a real package.
</Callout>

## What exists today [#what-exists-today]

For Cordova and Capacitor apps, the supported path is the **Web SDK**:

```bash
npm i @layers/client
```

```ts
import { LayersClient } from '@layers/client';

const layers = new LayersClient({
  apiKey: 'unused-but-required-by-type',
  appId: 'app_xxx',
  environment: 'production',
});
await layers.init();
await layers.track('purchase_success', { revenue: 9.99, currency: 'USD' });
```

This runs in the WebView process, which is sufficient for event tracking
on most hybrid apps. Native features like iOS ATT and Android install
referrer are NOT available through the web SDK; for those you would need
first-party native bindings (not yet published).

## Roadmap [#roadmap]

A Capacitor plugin is a plausible future deliverable but is not on a
committed roadmap. If you have a hard dependency on one, let the team
know via [support](/docs/api/operational/status-and-support).

## If you need hybrid now [#if-you-need-hybrid-now]

* Use `@layers/client` inside the WebView (works in Capacitor 5/6 and
  Cordova without modification).
* For anything requiring native APIs (ATT, install referrer, Keychain),
  integrate a native helper yourself and call it from the WebView.
