Перейти к основному содержимому

Установите SDK

Выберите SDK для своей среды выполнения. Каждый отправляет события в одну и ту же точку приёма и вычисляет флаги функций локально по одним и тем же правилам, поэтому пользователь попадёт в один и тот же раскат, что бы вы ни выбрали.

Ключ в этих фрагментах выдаёт консоль: Получите ключ API

At a glance

Packages
@prodantix/sdk (web), prodantix_sdk (Dart), prodantix_sdk_flutter (Flutter), prodantix-sdk (Python)
Ingest host
https://eu.api.prodantix.com
Flags host
https://api.prodantix.com
Credentials
Public project key in the client, access token for GraphQL
Verify
Read the event back from the events query

Браузер и Node

Bash
bun add @prodantix/sdk

# Приложениям на React нужен ещё и адаптер:
bun add @prodantix/react
JavaScript
import { createWebClient } from '@prodantix/sdk/web';

const prodantix = createWebClient({
  apiKey: PRODANTIX_PUBLIC_KEY,
  host: 'https://eu.api.prodantix.com',
  flagsHost: 'https://api.prodantix.com',
});

prodantix.capture('order.completed', { properties: { amount: 4200 } });
JavaScript
import { ProdantixProvider, useProdantix } from '@prodantix/react';

<ProdantixProvider options={{ apiKey: PRODANTIX_PUBLIC_KEY, host: 'https://eu.api.prodantix.com' }}>
  <App />
</ProdantixProvider>

const prodantix = useProdantix();
prodantix?.capture('order.completed');

Flutter и Dart

Bash
flutter pub add prodantix_sdk_flutter

# Сервер на Dart или CLI, без слоя Flutter:
dart pub add prodantix_sdk

Сервер на Python

Bash
pip install prodantix-sdk

Ключ проекта публичен: он называет проект, но не даёт доступа к его данным, поэтому его место в клиентском коде. Серверному ключу, который умеет писать, там не место никогда.

Убедитесь, что событие дошло

Ingestion answers 202 as soon as the batch is accepted. To see the event itself, read it back from the events query, or watch it arrive on the realtime project room.

Bash
curl "https://api.prodantix.com/graphql" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"query":"{ events(projectId: \"p_1\", limit: 5) { name receivedAt } }"}'