ПРИЛОЖЕНИЕ · IPHONE · IPAD · MAC · ANDROID

Приложение, которое кладет весь парк экранов в карман

SpinetiX Find & Monitor — приложение для iPhone, iPad, Mac и Android, которое находит медиаплееры SpinetiX в сети, показывает состояние каждого и присылает push-уведомление, когда плеер перестал отвечать, перегрелся или забил накопитель. Издатель — Media La Vista FZCO (ОАЭ), в России приложение представляет DSTOOLS. Бесплатно — 3 сохраненных плеера.

Приложение находит плееры, показывает кадр, который каждый из них выдает на экран прямо сейчас, и следит за теми, которые вы отметили. Три плеера или три тысячи — работает оно одинаково.

Поиск в локальной сети работает без аккаунта и без покупки.

Сканер сети и наблюдение за здоровьем парка на устройстве, которое у вас с собой

Запустите поиск — приложение перечислит все плееры SpinetiX, до которых дотянулось. Откройте любой, и увидите его состояние: время работы, температуру, прошивку, занятое место и снимок кадра на экране. Включите мониторинг — приложение продолжит опрашивать сохраненные плееры и пришлет уведомление в тот момент, когда показание перейдет заданную вами границу.

На плееры при этом ничего не устанавливается. Локальный поиск читает тот же веб-интерфейс, который DSOS отдает и без приложения, а облачный мониторинг пользуется полем концентратора, которое у плеера уже есть. Отдельной консоли нет, своего сервера поднимать не нужно.

Список плееров SpinetiX в приложении на iPhone: два облачных плеера, один из них офлайн

Что показывает плеер и из-за чего звонит телефон

Сколько ваших экранов может погаснуть в пятницу вечером и остаться незамеченными до понедельника? Ради этого вопроса приложение и написано.

В списке и в карточке плеера

  • Онлайн или нет — метка стоит прямо в списке
  • Время работы с последней перезагрузки
  • Температура в °C
  • Модель и версия прошивки
  • Занятое место относительно всего накопителя
  • Загрузка процессора и графики
  • Ушел ли плеер в безопасный режим
  • Снимок кадра, который сейчас на экране
  • Переход в Control Center плеера одним касанием

Три условия, по которым приходит уведомление

  • Плеер офлайн — сохраненный плеер перестал отвечать на запросы
  • Температура — показание перешло потолок в °C, который вы задали
  • Накопитель — занятое место перешло долю в процентах, которую вы задали

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

Три плеера бесплатно, дальше одна цена на весь парк

Доплаты за каждый следующий плеер нет. Несколько десятков экранов и несколько тысяч стоят одинаково.

Сравнение бесплатного тарифа и Pro
Бесплатно Pro
Сохраненных плееров 3 без ограничения
Поиск в локальной сети да да
Состояние и снимок экрана по запросу да да
Переход в Control Center да да
Фоновые проверки по вашим порогам нет да
Push при закрытом приложении нет да
Облачный мониторинг для плееров за NAT нет да
Pro на год USD 29.99 в год

Начинается с 7-дневного пробного периода. Пробным периодом распоряжается App Store или Google Play, и отменяется он там же, в вашем аккаунте магазина.

Pro навсегда USD 69.99 один раз

Разовая покупка, продлевать нечего. Возможности те же, что и в годовой подписке.

Издатель приложения — Media La Vista FZCO (ОАЭ), партнер SpinetiX по Ближнему Востоку; в России приложение распространяет DSTOOLS. Оплата Pro проходит через App Store или Google Play, и магазины могут отклонить карту, выпущенную в России. Обходного способа активации у нас нет. Если приложение нужно на парк плееров или нужен облачный мониторинг для плееров за NAT, напишите нам — разберем вашу ситуацию.

iPhone, iPad и Mac делят одну покупку в пределах одного аккаунта Apple. Google Play — отдельный магазин со своим биллингом, и покупка там восстанавливается тоже там.

Как это выглядит

Частые вопросы о приложении

Найдет ли приложение плееры в сегменте, где закрыт multicast?

Обычно да, и именно поэтому поиск идет тремя способами, а не одним. Сначала уходит multicast-запрос SSDP. Затем приложение обходит локальную сеть /24, стучится на порты 80 и 443 каждого адреса и спрашивает у всего, что ответило, страницу /info. Третьим проходом работает mDNS. Обход не выходит за частные диапазоны адресов. Плеер в другой подсети добавляется вручную — по IP, по паре хост:порт или по полному URL.

Можно ли смотреть плееры, когда я не в их сети?

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

Где хранятся пароли администратора от плееров?

На том устройстве, где вы их ввели. На iPhone, iPad и Mac учетные данные пишутся в Keychain, на Android — в хранилище, зашифрованное ключом из Keystore. Из записи, которая синхронизируется с вашим аккаунтом, они исключены, поэтому не попадают ни на серверы, ни в резервные копии, ни к третьим лицам. Сам список плееров синхронизируется, чтобы те же плееры были видны на других ваших устройствах, но пароли с ним не едут.

Что происходит с уведомлениями, когда приложение закрыто?

На тарифе Pro продолжают работать два механизма. Локальный мониторинг просит у операционной системы фоновое время и опрашивает сохраненные плееры. Облачный мониторинг считается на стороне сервиса, поэтому тревога поднимется независимо от того, просыпалось ли приложение, и придет push-уведомлением. Сработавшее уведомление не повторяется 12 часов, если показание за это время не вернулось в норму, — так один больной плеер не забивает собой всю ленту.

Почему фоновые проверки на iPhone и Android ведут себя по-разному?

Android планирует периодическую фоновую работу и выполняет ее довольно предсказуемо. iOS воспринимает такой же запрос как пожелание: система сама решает, когда дать приложению время, и это может случиться сильно позже или не случиться вовсе, пока вы не пользуетесь приложением достаточно часто. Это честное ограничение платформы, и ради него сделан облачный мониторинг — если о событии нужно узнать наверняка, включайте его.

Можно ли следить за плеером, который уже подключен к 123CMS?

Через облачный мониторинг — нет. У плеера SpinetiX одно поле концентратора, и оно указывает либо на 123CMS, либо на сервис мониторинга приложения, но не на оба сразу. Плееры, которыми управляет 123CMS, остаются на мониторинге там. Открывать их в приложении по локальной сети или по прямому адресу можно и дальше: эти два режима поля концентратора не касаются.

Сколько плееров можно добавить и сколько стоит Pro?

Бесплатно хранится 3 плеера, покупка для этого не нужна. Pro снимает ограничение, и доплаты за каждый следующий плеер нет: парк из нескольких десятков и парк на тысячи экранов стоят одинаково. Pro на год — USD 29.99 в год, начинается с 7-дневного пробного периода. Pro навсегда — USD 69.99 один раз, без продления.

Как оплатить Pro из России?

Оплата идет только через App Store или Google Play — так устроены покупки внутри приложения, и издатель тут ничего не решает. Магазины могут отклонить карту, выпущенную в России; обходного способа активации у нас нет, и обещать его было бы нечестно. Если приложение нужно на парк плееров, напишите нам — разберем вашу ситуацию отдельно.

С какой прошивкой плеера работает приложение?

Приложение читает штатный Status API плеера по HTTP или HTTPS и не привязано к конкретному выпуску. Текущая сборка проверена на DSOS 4.9.8. Облачный мониторинг использует поле концентратора в конфигурации плеера — тот же механизм, что и у 123CMS. На практике так: если плеер отвечает на запрос /info, приложение его прочитает.

Как удалить аккаунт и все, что с ним хранится?

В разделе аккаунта есть удаление. Оно стирает облачные устройства и push-токены, привязанные к вашему аккаунту на сервисе мониторинга, а затем и сам аккаунт. Сроки хранения и полный перечень данных описаны в политике конфиденциальности приложения.

ДЛЯ ТЕХ, КТО СОГЛАСУЕТ

Как это устроено технически

Если подписывать разрешение на работу приложения в вашей сети предстоит вам, вот короткая версия. Развернутая, со сроками хранения и перечнем обработчиков, — в политике конфиденциальности приложения (на английском языке).

Поиск плееров
Multicast-запрос SSDP M-SEARCH; ограниченный обход локальной сети /24 по портам 80 и 443 с последующим запросом /info у всего, что ответило; проход по mDNS. Три способа нужны потому, что ломаются они по-разному: multicast режут на сегментированных сетях, обход видит только ту подсеть, в которой находится телефон, а mDNS требует, чтобы плеер сам о себе объявлял. Любой кандидат подтверждается ответом /info, поэтому принтер, слушающий порт 80, в списке плееров не появится.
Опрос плеера
Обычные запросы к Status API плеера по адресу /info и к его снимку экрана, с теми учетными данными, которые вы для него сохранили. Самоподписанные сертификаты принимаются только у адресов из частных диапазонов. Плеер на публичном адресе должен предъявить сертификат, который вы сами закрепили в приложении; закрепление хранится отдельно для каждой пары хоста и порта.
Что остается на устройстве
Учетные данные администратора: в Keychain на устройствах Apple и в зашифрованном ключом Keystore хранилище на Android. Там же остаются результаты поиска, снятые показания и локальная история мониторинга; они стираются по мере устаревания.
Что уходит в облако
Ваш список плееров — под идентификатором аккаунта, с учетными данными, отрезанными на уровне правил доступа. Для плееров, включенных в облачный мониторинг, телеметрия идет на собственный сервис мониторинга Media La Vista на серверах в Хельсинки (Финляндия, ЕС). Больше с устройства не уходит ничего.
Локальный мониторинг
Соединение открывает приложение. На Android периодический запуск планирует системный планировщик фоновых задач; на iOS это запрос на фоновое обновление, время для которого система выбирает сама. Каждый запуск опрашивает сохраненные плееры и применяет ровно те же правила порогов, что и опрос при открытом приложении, — тревога не может сработать в одном месте и промолчать в другом.
Облачный мониторинг
Соединение открывает сам плеер. Он исходящим соединением изнутри вашей сети обращается к сервису мониторинга, поэтому не нужен ни проброшенный порт, ни VPN, ни статический адрес. Сервис разбирает отчеты, пересчитывает, отвечает ли плеер, и проверяет пороги, которые ему передало приложение.
Логика тревог
Три условия: плеер офлайн, температура выше вашего порога, занятое место выше вашей доли. Сработавшая тревога глушится на 12 часов и взводится заново только после того, как показание вернулось ниже порога с запасом. Иначе плеер, стоящий ровно на границе, поднимал бы тревогу при каждой проверке.
Доставка уведомлений
APNs на устройствах Apple, FCM на Android, по токену, привязанному к вашему аккаунту. Текст уведомления собирается на языке, который выставлен в приложении, а не на языке сервера.

Поставьте и просканируйте свою сеть

Три плеера не стоят ничего, а поиск занимает примерно столько, сколько вы читали это предложение. Если речь о парке плееров или об облачном мониторинге для тех, что стоят за NAT, обсудим отдельно.