Перейти к содержанию

Часто задаваемые вопросы по Mendix

Какая версия Studio Pro требуется для модуля Pushwoosh?

Anchor link to

Studio Pro 11.12.3 или новее. Пакет модуля собран с этой версией формата модели, и Studio Pro не позволяет открывать пакеты, созданные в более новой версии.

Есть и вторая причина не использовать более старые версии. Mendix обновляет Studio Pro, нативный шаблон и React Native вместе, поэтому версия Studio Pro определяет, на какой версии React Native будет работать ваше приложение, а модуль собран для React Native 0.84. Авторитетное сопоставление версий находится в файле mendix_version.json в репозитории нативного шаблона.

Почему ничего не происходит после добавления модуля?

Anchor link to

Скорее всего, приложение запущено в приложении Make It Native, которое не может содержать сторонний нативный код, поэтому все действия Pushwoosh завершаются ошибкой без уведомления. Вместо этого создайте собственное приложение для разработки или полноценную нативную сборку.

Если приложение уже является нативной сборкой, убедитесь, что виджет Pushwoosh events находится на первой загружаемой странице и что его свойство Application Code заполнено. Без действительного Application Code SDK не запустится.

Почему перестают приходить уведомления на Android?

Anchor link to

Две службы уведомлений зарегистрированы для одного и того же события Firebase и мешают друг другу.

Pushwoosh заменяет встроенные push-уведомления приложения Mendix, а не работает параллельно с ними. В Native Mobile Builder установите следующие возможности:

  • Push notifications: выключено.
  • Firebase Android: включено, чтобы файл google-services.json по-прежнему использовался.

Для com.google.firebase.MESSAGING_EVENT может быть зарегистрирована только одна служба. Если ваше приложение содержит другой плагин, который также регистрирует службу, см. раздел Использование Pushwoosh SDK с другими службами FCM.

Нужно ли вызывать Initialize при использовании виджета событий Pushwoosh?

Anchor link to

Нет. Виджет сам инициализирует SDK из своего свойства Application Code. Действие Initialize существует для приложений, которые запускают SDK из нанопотока (nanoflow) вместо размещения виджета, например, когда Application Code неизвестен до входа пользователя в систему.

Вызов обоих действий безвреден, но виджет уже выполнит свою работу к моменту запуска вашего нанопотока.

Как передать JSON в SetTags или PostEvent из выражения Mendix?

Anchor link to

Запишите JSON в одинарных кавычках, чтобы двойные кавычки внутри него оставались неэкранированными:

'{"Language":"en","Level":7}'

Строка в выражении Mendix заключается в одинарные кавычки, что позволяет использовать двойные кавычки JSON без изменений. Удвоение кавычек или их экранирование обратной косой чертой создаст строку, которую действие не сможет разобрать, и действие отклонит ее с ошибкой разбора.

Как отключить системное оповещение, когда приложение открыто?

Anchor link to

По умолчанию уведомление, которое приходит, когда приложение открыто, отображается системой как оповещение, и при этом также запускается нанопоток (nanoflow) виджета On push received. Вызовите действие SetShowForegroundAlert со значением false, чтобы подавить оповещение и обрабатывать уведомление только в нанопотоке, например, отображая собственное сообщение или обновляя список.

Вызывайте это действие только на iOS. Android SDK не предоставляет эту настройку, а JavaScript-обертка вызывает нативный метод безусловно, поэтому на Android это действие вызовет ошибку, а не просто ничего не сделает.

Можно ли собрать нативное приложение с помощью Studio Pro для Mac?

Anchor link to

Не с помощью Native Mobile Builder, который поставляется только с Windows-версией Studio Pro. Все остальное работает в сборке для Mac, включая написание модуля, размещение виджета и экспорт приложения.

В macOS настройте нативный шаблон с помощью инструмента командной строки @mendix/native-mobile-toolkit, который устанавливает возможности, URL-адрес среды выполнения, идентификатор приложения и нативные зависимости из файла конфигурации. Затем соберите сгенерированные проекты для iOS и Android локально с помощью Xcode и Gradle.

Как отправить тестовое уведомление на одно конкретное устройство?

Anchor link to

Вызовите действие GetHwid, чтобы получить HWID устройства, и адресуйте этот HWID из Панели управления Pushwoosh или через серверный API. Другой способ — зарегистрировать устройство как тестовое, что описано в разделе Тестирование интеграции.