tanyadisini_sdk 1.1.6 copy "tanyadisini_sdk: ^1.1.6" to clipboard
tanyadisini_sdk: ^1.1.6 copied to clipboard

Tanyadisini Messenger SDK for Flutter.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:tanyadisini_sdk/tanyadisini_sdk.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  final controller = Get.put(MessengerController(), permanent: true);

  final res = await controller.openMessenger();
  final customerId = res.data?.customer.id ?? "";

  controller.appId.value = '2159fe1b97f8349ef89957a028162eb4';
  controller.customerId.value = customerId;

  runApp(const ExampleApp());
}

class ExampleApp extends StatelessWidget {
  const ExampleApp({super.key});

  @override
  Widget build(BuildContext context) {
    final light = ThemeData(
      colorScheme: ColorScheme.fromSeed(seedColor: const Color(0xFF39A2FF)),
    );

    return GetMaterialApp(
      debugShowCheckedModeBanner: false,
      theme: light,

      home: const ExampleHome(),

      builder: (context, child) {
        return TDSMessengerLauncherOverlay(
          child: child ?? const SizedBox.shrink(),
          onOpenMessenger: () {
            final controller = Get.find<MessengerController>();

            if (controller.appId.value.isEmpty ||
                controller.customerId.value.isEmpty) {
              return;
            }

            Get.to(
              () => TDSMessengerShell(
                appId: controller.appId.value,
                customerId: controller.customerId.value,
              ),
            );
          },
        );
      },
    );
  }
}

class ExampleHome extends StatelessWidget {
  const ExampleHome({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('Example Home')),
      body: const Center(
        child: Text('Floating button will open TanyaDisini Messenger'),
      ),
    );
  }
}