Skip to main content

arkadia_sdk 1.1.0 copy "arkadia_sdk: ^1.1.0" to clipboard
arkadia_sdk: ^1.1.0 copied to clipboard

SDK officiel de l'API Arkadia pour Flutter et Dart. Envoie l'activité et les ventes de votre app, avec file hors ligne et renvois sans doublon.

arkadia_sdk #

SDK officiel de l'API Arkadia pour Flutter : envoyez l'activité et les ventes de votre application, lisez votre quota et vos statistiques.

  • File d'attente hors ligne, renvois automatiques sans doublon (clé d'idempotence)
  • Envoi automatique quand l'app passe en arrière-plan
  • Android, iOS, web, desktop

Installation #

flutter pub add arkadia_sdk

Démarrage #

import 'package:arkadia_sdk/arkadia_sdk.dart';

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await ArkadiaClient.init(
    apiKey: 'ark_live_…',        // onglet « API » de votre espace Arkadia
    appCode: 'APP-XXXX-XXXX',
    platform: defaultTargetPlatform.name,
    appVersion: '2.3.0',
    debug: kDebugMode,
  );
  runApp(const MyApp());
}
ArkadiaClient.screenView('dashboard', previousScreen: 'login');
ArkadiaClient.sessionStart(userId: hashedUserId);
ArkadiaClient.sessionEnd(342);
ArkadiaClient.featureUsed('export_pdf', metadata: {'format': 'a4'});
ArkadiaClient.crash('StateError', e.toString(), stackTrace: st.toString());

// Ventes — montants en centimes (9 900 XOF = 990000)
ArkadiaClient.subscriptionStarted('pro', 990000, 'monthly', userId: hashedUserId);
ArkadiaClient.purchaseCompleted('module-crm', 'Module CRM', 250000);
ArkadiaClient.trialStarted('pro', 14);

// Event générique
ArkadiaClient.track('app.onboarding_completed', properties: {'durationSeconds': 120});

Les events partent toutes les 30 secondes, dès qu'un lot est plein, quand l'app passe en arrière-plan, ou avec await ArkadiaClient.flush(). Les crashs partent immédiatement. Pour userId, envoyez un identifiant anonymisé.

Quota et statistiques #

final status = await ArkadiaClient.status();
final quota = status['quota'] as Map<String, dynamic>;
print('${quota['used_this_month']} / ${quota['limit']} events ce mois');

final stats = await ArkadiaClient.analytics(
  from: DateTime.utc(2026, 9, 1),
  to: DateTime.utc(2026, 9, 30),
);

Ces méthodes lèvent une ArkadiaApiException (statusCode, code, message) en cas d'erreur.

Webhooks #

Les webhooks se vérifient côté serveur. En Node.js, utilisez @arkadiadev/sdk/webhooks ; dans un autre langage, calculez HMAC-SHA256(secret, "<t>.<corps brut>") en hexadécimal et comparez-le à la valeur v1 de l'en-tête X-Arkadia-Signature: t=<t>,v1=<signature> (en refusant un t vieux de plus de 5 minutes).

Limites #

Clé live Clé test
Events par requête 50 20
Events par minute 300 60
Lectures (status, analytics) par minute 60 30

Le SDK respecte automatiquement ces limites et l'en-tête Retry-After.

0
likes
160
points
248
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

SDK officiel de l'API Arkadia pour Flutter et Dart. Envoie l'activité et les ventes de votre app, avec file hors ligne et renvois sans doublon.

Homepage

Topics

#analytics #sdk

License

MIT (license)

Dependencies

flutter, http, shared_preferences

More

Packages that depend on arkadia_sdk