Ein SDK installieren
Wähle das SDK für deine Laufzeitumgebung. Jedes sendet Ereignisse an denselben Ingest-Endpunkt und wertet Feature-Flags lokal nach denselben Regeln aus, sodass ein Nutzer unabhängig von deiner Wahl im selben Rollout landet.
Der Schlüssel in diesen Ausschnitten kommt aus der Konsole: API-Schlüssel erhalten
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
eventsquery
Browser und Node
Bash
bun add @prodantix/sdk
# React-Apps nehmen zusätzlich den Adapter:
bun add @prodantix/reactJavaScript
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 und Dart
Bash
flutter pub add prodantix_sdk_flutter
# Dart-Server oder CLI, ohne die Flutter-Schicht:
dart pub add prodantix_sdkPython-Server
Bash
pip install prodantix-sdkDein Projektschlüssel ist öffentlich: Er benennt das Projekt, gewährt aber keinen Zugriff auf dessen Daten und gehört damit in den Client-Code. Ein Server-Schlüssel, der schreiben darf, niemals.
Bestätigen, dass es angekommen ist
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 } }"}'