Инициализация SDK
Убедитесь, что эти шаги выполнены успешно:
Результат шага «Инициализация SDK»:
- Приложение запустилось без ошибок на обеих платформах (iOS и Android);
- В консоли разработчика в Xcode выведен deviceUUID SDK Mindbox;
- Дополнительно, только если вы делаете интеграцию с созданием и подпиской анонимного пользователя в системе Mindbox — создастся клиент Mindbox.
1. Выбор варианта конфигурации SDK
Выберите вариант конфигурации SDK на основе требований от маркетинга.
Необходимо получить «<эндпоинт проекта>» от вашего менеджера проекта Mindbox, либо посмотреть его в настройках точки интеграции. Обратите внимание, что ендпоинт проекта чувствителен к регистру, то есть имеет значение, используются ли заглавные или строчные буквы.
Domain API Mindbox
Это домен, по которому будет происходить обращение в API Mindbox.
Чтобы получить нужный домен для вашего проекта, сделайте следующее:
1. Перейдите на сайт проекта
2. Перейдите в список операций через "Кампании" → "Список кампаний" → "Операции"
3. Откройте любую операцию
4. Нажмите «Посмотреть описание»
5. Скопируйте домен из URL в спецификации

1. Хочу передавать в Mindbox анонимных пользователей и отправлять им push-уведомления
Code
2. Хочу передавать в mindbox анонимных пользователей без возможности отправлять им push-уведомления
Code
3. Не хочу передавать в mindbox анонимных пользователей
Code
Дополнительное поле shouldIncludeVersionCode (Since 2.15.4)
Отвечает за то, включать ли номер сборки Android-приложения (versionCode) в версию приложения, которую SDK передает в Mindbox.
По умолчанию: true.
Работает только на Android — на iOS параметр игнорируется: iOS SDK не передает номер сборки.
true— версия приложения передается в форматеversionName(versionCode), например4.5.0(1024);false— передается толькоversionName, например4.5.0.
Укажите false, чтобы в версии приложения, которая передается в Mindbox, не отображался versionCode. Это полезно, если versionCode увеличивается при каждой сборке — тогда одна и та же версия приложения создает несколько значений версии в фильтрах административного раздела Mindbox.
Code
2. Инициализация SDK
2.1. Настройка Flutter-части проекта
Инициализировать SDK нужно синхронно в файле lib/main.dart в функции main.
Используйте вариант конфигурации, выбранный на этапе 1.
main.dart
Чтобы проверить корректность инициализации, добавьте вывод deviceUUID в консоль в любом удобном месте.
На этом этапе вы уже можете запустить приложение на Android
2.2. Настройка iOS-части проекта
Для интеграции Mindbox SDK во Flutter-проект необходимо подключить нативный Mindbox iOS SDK и выполнить соответствующие настройки проекта.

- Откройте настройки проекта.
- Выберите основной таргет.
- Перейдите на вкладку
Signing & Capabilities. - Нажмите на кнопку «добавить» и выберите
AppGroups. - Добавьте новую группу с названием по шаблону
group.cloud.Mindbox.{bundle id приложения}
Например, bundle id приложения -Mindbox-Sample-App, тогда значение App Group должно бытьgroup.cloud.Mindbox.Mindbox-Sample-App.
AppGroup должна быть собрана по шаблону:
group.cloud.Mindbox.{bundle id приложения}
Если допустить ошибку в шаблоне AppGroup в Main Target — приложение не соберется.
Фактическое значение лучше проверять через файл с расширением .entitlements.
SDK валидирует, что группа названа по шаблону. Если нарушить шаблон, SDK выбросит исключение.
Запустите приложение на iOS и проверьте результаты выполнения этапа.
Проверьте результат шага «Инициализация SDK»:
- Приложение запустилось без ошибок на обеих платформах (iOS и Android);
- В консоли разработчика в Xсode выведен deviceUUID SDK Mindbox;
- Дополнительно, только если вы делаете интеграцию с созданием и подпиской анонимного пользователя в системе Mindbox — создастся клиент Mindbox.
Изменение endpoint
Если приложение используется в нескольких странах и фактическое местоположение пользователя определяется только после запуска, может потребоваться динамическая смена endpoint для корректной передачи данных о стране.
Для обновления настроек повторно вызовите Mindbox.instance.init и передайте в конфигурации актуальные значения endpointAndroid и endpointIos.