Skip to content

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

Убедитесь, что предыдущие шаги выполнены успешно
  • SDK добавлено в ваше мобильное приложение
  • В проекте подключен пакет carrotquest_sdk
Результат шага
  • Приложение запускается без ошибок
  • SDK инициализируется корректно

Получение ключей

Для работы с Carrot quest для Flutter понадобятся API Key и User Auth Key. Возьмите их в Carrot quest: НастройкиРазработчикам.

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

Для инициализации используйте Carrot.setup(), например сразу после запуска приложения:

dart
import 'package:carrotquest_sdk/carrotquest_sdk.dart';

await Carrot.setup(apiKey, appGroup: appGroup);

Параметр appGroup является опциональным и используется в iOS-части приложения для предотвращения дублей push-уведомлений.

Проверка статуса инициализации

На Android возможен сценарий, при котором Flutter-часть приложения перезапустилась после долгого нахождения в фоне, а нативная Android-часть еще нет. Чтобы избежать повторной инициализации, проверьте статус SDK:

dart
final isInit = await Carrot.isInit();
if (isInit) return;

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

Если в приложении есть авторизация, вы можете передать ID пользователя в Carrot quest. Есть два варианта.

Передача ID через userAuthKey

dart
final String? carrotId = await Carrot.auth(
  userId,
  userAuthKey: userAuthKey,
);

Передача ID через hash

Если hash генерируется у вас на бэкенде, используйте:

dart
final String? carrotId = await Carrot.auth(
  userId,
  userHash: hash,
);

Метод auth() возвращает CarrotID - уникальный идентификатор пользователя в сервисе.

Смена пользователя

Чтобы завершить сессию текущего пользователя и авторизовать другого, вызовите:

dart
await Carrot.logOut();