> ## Documentation Index
> Fetch the complete documentation index at: https://docs.evox.wraithesports.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Lifecycle ve eventler

> Plugin session, action binding ve cihaz eventlerini güvenli sırayla işleyin.

Plugin, event handlerlarını kaydettikten sonra `client.start()` çağırır. Host `host.hello` ile protocol aralığını, authoritative plugin kimliğini, granted capability’leri ve request limitlerini gönderir.

## Plugin eventleri

* `plugin.start`, `plugin.stop`, `plugin.suspend`, `plugin.resume`.
* `device.connected` ve `device.disconnected`.

## Action eventleri

* `action.willAppear` ve `action.willDisappear`.
* `action.keyDown` ve `action.keyUp`.
* `action.dialDown`, `action.dialUp` ve `action.dialRotate`.
* `action.settingsChanged`.

Her `bindingInstanceId` yalnız o context için geçerlidir. `willDisappear` sonrasında display çağrısı `CONTEXT_EXPIRED` ile reddedilebilir.

```js theme={null}
client.on('action.keyDown', async (event) => {
  if (event.context?.actionId !== 'counter') return;
  await client.setTitle(event.context.bindingInstanceId, '1');
});

client.on('action.willDisappear', (event) => {
  counters.delete(event.context?.bindingInstanceId);
});
```

Plugin kapanırken handler cleanup fonksiyonlarını ve `client.dispose()` çağrısını çalıştırın.
