# Expo a React Native (https://docs.vitrinka.ai/cs/qa/recorder/expo)



## Instalace [#install]

```bash
npx expo install @vitrinka/expo react-native-view-shot react-native-keyboard-controller
```

## Přidejte config plugin [#plugin]

Vyjmenujte build profily, které smí rekordér nést.

```json
{
  "expo": {
    "plugins": [
      ["@vitrinka/expo", { "allowedProfiles": ["development"] }]
    ]
  }
}
```

## Zapojte Metro [#metro]

Jeden povinný řádek. Config plugin ověřuje, že tam je — chybějící obal build shodí, místo aby rekordér potichu odjel do produkce.

```js
// metro.config.js
const { withRecorderStrip } = require('@vitrinka/expo/recorder/metro');
module.exports = withRecorderStrip(config);
```

## Připojte ho [#mount]

Rekordér se připojí jen u buildů, které mají nastavenou proměnnou `EXPO_PUBLIC_VITRINKA_URL`. U všech ostatních se celý vyřízne z bundle při kompilaci.

```js
import { VitrinkaRecorderRoot } from '@vitrinka/expo/recorder';
```

## Propojte zařízení [#link]

Do dev ani TestFlight buildu se nepeče žádný token. Klepnutí na tečku nahrávače (**Link recorder**) ukáže krátký kód a tlačítko **Open vitrinka**; kód ve vitrince schvalte (když patříte do více workspaců, vyberte který) a aplikace dostane token, který umí jen vytvářet a doplňovat session v tom workspacu. Vyprší 30 dní po posledním použití a je vidět a odvolatelný v **Nastavení → tokeny**.

Buildy bez člověka (testovací dráha nad produkcí) mohou dál nést admin vydaný **recorder key** jako `EXPO_PUBLIC_VITRINKA_TOKEN` — připnutý k projektu, jen ingest session. Nikdy workspace token.

<Callout type="warn">
  Zdroj dostupný pod Elastic License 2.0: můžete ho číst, používat, měnit i šířit — nesmíte ho nabízet třetím stranám jako spravovanou službu.
</Callout>
