carrotquest_sdk 1.4.0 copy "carrotquest_sdk: ^1.4.0" to clipboard
carrotquest_sdk: ^1.4.0 copied to clipboard

Conversational platform for business. Flutter sdk.

example/example.md

carrotquest_sdk — пример использования #

Полное demo-приложение лежит в каталоге example/ репозитория. Ниже — ключевые сценарии из него.

Инициализация #

import 'package:carrotquest_sdk/carrotquest_sdk.dart';

await Carrot.setup(apiKey, appGroup: 'group.your.app'); // appGroup нужен только на iOS

Как это сделано в примере: lib/app.dart. Ключи в примере не хранятся в коде, а передаются через --dart-define-from-file — см. lib/app_config.dart.

Авторизация пользователя #

final carrotId = await Carrot.auth(userId, userAuthKey: userAuthKey);
// или с хэшем, вычисленным на вашем сервере:
final carrotId = await Carrot.auth(userId, userHash: hash);

await Carrot.logOut();

Форма логина: lib/ui/sheets/login_sheet.dart.

Чат #

await Carrot.openChat();

Carrot.getUnreadConversationsCountStream().listen((count) {
  // обновить бейдж
});

await Carrot.setTheme(CarrotTheme.dark); // light, dark, fromDevice, fromWeb

События и трекинг экранов #

await Carrot.trackEvent('Оформил заказ', params: {'order_id': '12345', 'amount': '1990'});
await Carrot.trackScreen('CatalogScreen');

Экраны примера: lib/ui/screens/prepared_events_screen.dart, custom_events_screen.dart, screen_tracking_screen.dart.

Свойства пользователя #

await Carrot().setUserProperty(CarrotUserProperty(property: CarrotProperty.email, value: 'user@example.com'));
await Carrot().setUserProperty(EcommerceUserProperty(property: EcommerceProperty.cart_amount, value: '1990'));
await Carrot().setUserProperty(UserProperty(name: 'plan', value: 'pro'));

Экран примера: lib/ui/screens/user_properties_screen.dart.

Push-уведомления (Firebase Cloud Messaging) #

final token = await FirebaseMessaging.instance.getToken();
await Carrot.sendFcmToken(token!);

FirebaseMessaging.onMessage.listen((message) {
  if (Carrot.isCarrotQuestPush(message.data)) {
    Carrot.sendFirebasePushNotification(message.data);
  }
});

Полная связка, включая фоновый обработчик: lib/push/fcm_service.dart.

UTM-метки из диплинков #

Carrot.trackUtm(uri.toString());

Получение диплинков через app_links и передача в SDK: lib/app.dart.

Запуск примера #

Инструкция по ключам, Firebase-конфигу и проверке диплинков — в example/README.md.

8
likes
135
points
467
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Conversational platform for business. Flutter sdk.

Homepage
Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on carrotquest_sdk

Packages that implement carrotquest_sdk