Материал из Module developer
Перейти к: навигация, поиск
Другие языки:
English • ‎русский

Требования для добавления модулей в iRidium store

Для размещения модуля в магазине модулей необходимо придерживаться следующих правил:
Функциональность:
Модератор отклоняет модули, которые

  • падают
  • содержат видимые ошибки
  • делают не то, что написано в описании
  • содержат недокументированные или скрытые функции
  • скачивают, устанавливают или запускают исполняемый код
  • «бета», «демо» и «тестовые» версии
  • содержат рекламные и маркетинговые материалы
  • проводят некорректную диагностику или отображают неверные данные об устройстве
  • показывают приложения других разработчиков
  • неправильно используют push-оповещения
  • посылают персональную или конфиденциальную информацию в push-оповещениях
  • содержат вирусы, спам, рекламу
  • используют сторонние механизмы монетизации
  • быстро расходуют батарею или нагревают устройство
  • не имеет отношения к управлению умным устройством или сервисом
  • допускают нелегальный обмен файлами
  • некорректно работают на нескольких панелях - отклоняется (исключение - если устройство ограничивает работу нескольких панелей, в таком случае это обязательно должно быть указано в описании)
  • некорректно восстанавливают соединение с устройством после перезагрузки
  • модуль имеет утечки памяти, которые приводят к падению приложения по прошествии определенного времени
  • дизайн не соответствует style guide

Модератор МОЖЕТ отклонить модули, которые:

  • повторяют модули, которые уже есть в магазине модулей

Прочее

  • разработчики захламляющие магазин модулей разными версиями одного и того же модуля будут заблокированы.
  • модули обязаны спрашивать разрешения пользователя на передачу данных о нем и сообщать где и зачем эти данные будут использованы.

Технические требования к модулю

  • Должна быть оформлена заявка на разработку модуля в системе заявок модулей
  • Модуль должен содержать минимум 1 подустройство
  • В модуле должно быть такое количество подустройств, сколько рабочих зон поддерживает устройство
  • Для каждого подустройства должен быть минимум один виджет
  • Графическая часть модуля должна состоять из элементов, расположенных в галерее
  • Модуль должен содержать такие Actions, Events, Conditions, которые описывают минимальный функционал устройства
  • Скрипты должны быть разделены на драйверный, интерфейсные и общие
  • В драйверных скриптах не должно быть упоминаний об интерфейсной части
  • Все названия интерфейсных частей, должны иметь флаг локализации
  • Все надписи в интерфейсе должны быть на английском языке
  • Для регистрации модуля необходимо корректно заполнить описание в форме регистрации модуля. Описание должно соответствовать разработанному модулю
  • Необходимо использовать функции из области имен module вместо IR
  • Для всех Remote необходимо реализовать версию под планшет и смартфон

Правила тестирования модуля перед публикацией

Перед публикацией модуля необходимо:

  1. Проверить что модуль имеет корректное описание, скриншоты и иконку
  2. Проверить все надписи. Они должны быть на английском языке и не содержать ошибок
  3. Проверить функционал модуля. Все функциональные элементы должны работать и не вызывать ошибок в скриптах
  4. Проверить что модуль понимает что связь с устройством потеряна и показывает пользователю информацию об этом
  5. Проверить что модуль восстанавливает соединение с устройством и продолжает корректно работать после сворачивания и разворачивания приложения
  6. Проверить что модуль работает на 2-ух панелях одновременно
  7. Проверить что модуль работает на сервере
  8. Проверить что работают все Actions, Events, Conditions
  9. Проверить корректность Setup файла и корректность изменения настроек
  10. Проверить что модуль имеет дизайн для планшета и телефона
  11. Если в модуле есть поля для ввода текста, то надо проверить что при нажатии на поле открывается клавиатура
  12. Проверить модуль на утечки памяти. Для этого надо запустить модуль на панели и оставить его работать на 1 день. По истечению одного дня модуль должен продолжать корректно работать