Documentation Officielle

Livro Delivery SDK Integration

Guide complet d'intégration du SDK pour votre application mobile.

1 Présentation

Cette documentation décrit les différentes étapes suivies pour intégrer le Livro Delivery SDK dans l'application Livro Boutique. L'objectif est de permettre à l'application Boutique de communiquer avec la plateforme Livro afin de créer et suivre des demandes de livraison en toute simplicité.

2 Prérequis

Avant de commencer l'intégration, vérifiez que vous disposez des éléments suivants :

Flutter installé et configuré.
URL d'API Livro & Token.
Identifiant client (Client ID)
Public Key & Secret Key.

3 Installation du SDK

Installez le package dans votre projet Flutter en exécutant la commande suivante dans votre terminal :

Terminal
flutter pub add livro_delivery_sdk

Une fois l'installation terminée, importez le SDK dans vos fichiers Dart :

main.dart
import 'package:livro_delivery_sdk/livro_delivery_sdk.dart';

4 Gestion des dépendances

Lors de l'intégration, un conflit peut survenir si une version antérieure de geolocator est déjà présente. Le SDK requiert :

Requis : geolocator: ^13.0.0(et plus)

Mettez à jour cette dépendance dans votre fichier pubspec.yaml, puis réinstallez les packages :

Terminal
flutter pub get

5 Configuration des clés d'authentification

Récupérez vos identifiants sur la plateforme officielle :

  1. Connectez-vous sur : https://livro-plateforme.dihas.tech/
  2. Après authentification, rendez-vous dans l'onglet Développeurs.
  3. Copiez votre Public Key et votre Secret Key.

6 Initialisation du SDK

Initialisez le SDK dans votre fichier main.dart avant le lancement de l'application :

lib/main.dart
void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await SDKBubbleService.initialize();

  LivroSDK.initialize(
    baseUrl: "YOUR_API_BASE_URL",
    token: "YOUR_API_TOKEN",
    externalApp: true,
    externalClientId: "YOUR_CLIENT_ID",
    externalClientName: "YOUR_CLIENT_NAME",
    publicKey: "YOUR_PUBLIC_KEY",
    secretKey: "YOUR_SECRET_KEY",
    onExit: () {
      LivroSDK.navigatorKey.currentState?.popUntil(
        (route) => route.isFirst,
      );
    },
  );

  runApp(const MyApp());
}

7 Configuration du MaterialApp

Intégrez les éléments du SDK directement dans votre MaterialApp. Le navigatorKey permet au SDK de gérer sa navigation interne, tandis que SDKFloatingBubble affiche automatiquement la bulle flottante lorsqu'une livraison est en cours.

lib/main.dart
MaterialApp(
  navigatorKey: LivroSDK.navigatorKey,

  builder: (context, child) {
    return SDKFloatingBubble(
      child: child!,
    );
  },

  home: const HomePage(),
)
Remarque : Ces deux propriétés doivent être ajoutées au même MaterialApp. Si votre application possède déjà un builder, encapsulez simplement son contenu avec SDKFloatingBubble au lieu de le remplacer.

8 Intégration dans Livro Boutique

Une fois le SDK initialisé, vous pouvez ouvrir l'interface Livro depuis n'importe quel bouton de votre application. L'exemple ci-dessous utilise un FloatingActionButton, mais vous pouvez également utiliser un ElevatedButton, un TextButton, un GestureDetector ou tout autre widget déclenchant une action.

Exemple : FloatingActionButton
lib/views/orders_page.dart
floatingActionButton: FloatingActionButton(
  onPressed: () {
    final draft = CourseDraft();

    draft.setSupplier(
      LatLng(6.4158538, 2.3429723),
      'Rue Vincent Guézodjè',
      'FOOD House',
      '+229 12345678',
    );

    LivroSDK.openCoursesHome(
      context,
      draft: draft,
    );
  },
  child: const Icon(Icons.add),
)
Explication des paramètres
  • LatLng(latitude, longitude) : représente les coordonnées GPS du point de départ (latitude et longitude du fournisseur ou de la boutique).
  • 'Rue Vincent Guézodjè' : correspond à l'adresse du fournisseur, c'est-à-dire le lieu où le livreur viendra récupérer le colis.
  • 'FOOD House' : correspond au nom du fournisseur, de la boutique ou du commerce.
  • '+229 12345678' : correspond au numéro de téléphone du fournisseur, utilisé pour faciliter la prise de contact si nécessaire.
À retenir
  • Le FloatingActionButton est uniquement un exemple d'intégration.
  • Vous pouvez appeler LivroSDK.openCoursesHome() depuis n'importe quel bouton ou événement de votre application.
  • Avant d'ouvrir le SDK, renseignez les informations du fournisseur dans un objet CourseDraft.

9 Fonctionnalités disponibles

Une fois l'intégration finalisée, vous profitez instantanément de :

Création de livraison instantanée
Suivi GPS temps réel sur carte
Génération automatique de QR Code
Cash & Mobile Money intégré
Détails complets de la course
Bulle flottante interactive

SDK en cours de développement

Cette version du SDK n'est pas encore disponible au public. Nos équipes techniques travaillent actuellement sur son déploiement.

Disponible prochainement