2. Инициализация SDK
Убедитесь, что эти шаги выполнены успешно:Настройка точек интеграции:
Результат шага «Инициализация SDK»:
- Приложение запустилось без ошибок на обеих платформах (iOS и Android);
- В консоли разработчика в Xcode выведен deviceUUID SDK mindbox;
- Дополнительно, только если вы делаете интеграцию с созданием и подпиской анонимного пользователя в системе Mindbox — создастся клиент Mindbox.
1. Выбор варианта конфигурации SDK
Выберите вариант конфигурации SDK на основе требований от маркетинга.
Необходимо получить «<ендпоинт проекта>» от вашего менеджера проекта Mindbox, либо посмотреть его в настройках точки интеграции. Обратите внимание, что «<ендпоинт проекта>» чувствителен к регистру, то есть имеет значение, используются ли заглавные или строчные буквы.
Domain API MindboxЭто домен, по которому будет происходить обращение в API Mindbox.
Чтобы получить нужный домен для вашего проекта, сделайте следующее:
- Откройте админку проекта
- Перейдите в операции (Кампании - Список кампаний - Операции)
- Откройте любую операцию
- Нажмите "Посмотреть описание"
- Возьмите домен из Url в спецификации
1. Хочу передавать в Mindbox анонимных пользователей и отправлять им push-уведомления
const configuration = {
domain: '<Domain API Mindbox>',
endpointId:
Platform.OS === 'ios'
? '<endpoint для iOs>'
: '<endpoint для Android>',
subscribeCustomerIfCreated: true,
shouldCreateCustomer: true,
};
2. Хочу передавать в mindbox анонимных пользователей без возможности отправлять им push-уведомления
const configuration = {
domain: '<Domain API Mindbox>',
endpointId:
Platform.OS === 'ios'
? '<endpoint для iOs>'
: '<endpoint для Android>',
subscribeCustomerIfCreated: false,
shouldCreateCustomer: true,
};
3. Не хочу передавать в mindbox анонимных пользователей
const configuration = {
domain: '<Domain API Mindbox>',
endpointId:
Platform.OS === 'ios'
? '<endpoint для iOs>'
: '<endpoint для Android>',
subscribeCustomerIfCreated: false,
shouldCreateCustomer: false,
};
2. Инициализация SDK
2.1. Настройка React Native-части проекта
Инициализировать SDK нужно синхронно в основном файле приложения App.tsx / App.js
, используйте вариант конфигурации, выбранный на этапе 1.
import MindboxSdk from 'mindbox-sdk';
import React, {useCallback, useEffect, useState} from 'react';
const App = () => {
const appInitializationCallback = useCallback(async () => {
try {
ВСТАВЬТЕ СЮДА ВЫБРАННУЮ НА ЭТАПЕ 1 КОНФИГУРАЦИЮ SDK
await MindboxSdk.initialize(configuration);
} catch (error) {
console.log(error);
}
}, []);
....
return()
}
Чтобы проверить корректность инициализации, добавьте вывод deviceUUID в консоль в любом удобном месте.
Советуем вывести deviceUUID сразу за вызовом Mindbox.init
.
Далее запустите приложение через Android Studio на реальном устройстве или эмуляторе:
import MindboxSdk from 'mindbox-sdk';
import React, {useCallback, useEffect, useState} from 'react';
const App = () => {
...
MindboxSdk.getDeviceUUID(console.log);
return ();
}
Запустите приложение на Android и проверьте результаты выполнения этапа.
2.2. Настройка iOS-части проекта
Для работы Mindbox SDK в React-Native проекте нужно добавить Mindbox iOS SDK в нативную часть проекта и выполнить необходимые настройки.
2.2.1. Добавление AppGroups

- Откройте в Xcode файл
{your_project}.xcworkspace
. - Откройте настройки проекта.
- Выберите основной таргет.
- Перейдите на вкладку
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 выбросит исключение.
Проверьте результат шага «Инициализация SDK»:
- Приложение запустилось без ошибок на обеих платформах (iOS и Android);
- В консоли разработчика в Xcode выведен deviceUUID SDK mindbox;
- Дополнительно, только если вы делаете интеграцию с созданием и подпиской анонимного пользователя в системе Mindbox — создастся клиент Mindbox.
Если вам нужно изменить endpoint
Если ваше приложение используется в нескольких странах, а точное местоположение клиента становится известно только после запуска приложения, может потребоваться смена endpoint
для корректной передачи информации о стране. Для этого нужно повторно вызвать MindboxSdk.initialize
и указать в конфигурации новые endpoint
Updated 2 months ago