Кому это подходит

Skomi для мобильных и настольных приложений

Почти каждый продукт аналитики, ставящий приватность на первое место, измеряет сайты и на этом останавливается. Skomi измеряет и приложения, в том же аккаунте, что и сайт. Но приложение отличается от страницы, и половины того, чего можно было бы ждать по опыту веб-стороны, здесь нет. Эта половина — на этой странице.

Что вы получаете

Восемь SDK под один замороженный контракт. Android, iOS, Flutter, Kotlin Multiplatform, React Native, Unity, .NET MAUI и Electron говорят на одном протоколе передачи, поэтому продукт, выпущенный на четырёх платформах, отчитывается одинаково.

Он работает без сети. Экраны копятся на диске и переживают выход, падение и две недели без связи. А именно те сессии, которые важнее всего, наивный SDK и теряет.

Он не считает дважды. Каждое событие несёт идентификатор, отчеканенный один раз и пересылаемый без изменений, поэтому повторно отправленная пачка распознаётся, а не считается второй раз. Очередь без этого не спасает данные, а выдумывает их.

Он переживает неверные часы. Каждая пачка записывает, когда её отправили, поэтому устройство, выставленное на следующий вторник, не отчитается следующим вторником.

Ошибки со стеками и признаком фатальности. Достаточно, чтобы увидеть плохой выпуск в числах, а не в отзывах.

Ваш сайт и ваше приложение в одном аккаунте. Один вход, один счёт и одно и то же окно сессии для обоих, так что «сессия» означает у них одно и то же.

Чего Skomi для вас не сделает

Приложение читает только аналитика. Ни тепловых карт, ни записей сессий, ни виджета отзывов для приложений нет. Эти три продукта сайтовые, им нужна страница в браузере, а в нативном окне им не к чему прицепиться. Если вы пришли сюда с тепловой половины Skomi, ожидая, что она пойдёт за вами в приложение, то она не идёт, и плана, по которому пойдёт, нет.

Ни выручки, ни покупок. Протокол приложений несёт экраны, сессии, версии, платформы, свойства и ошибки, и ничего про деньги. Встроенные покупки и выручка от подписок не измеряются и настройкой не включаются. Выручка существует только на стороне сайтов.

Ни атрибуции установок, ни аналитики магазина. Откуда пришла установка, как конвертировала карточка в магазине, сколько людей обновилось — это данные Apple и Google, и Skomi их не видит. Полей кампании и источника перехода в протоколе приложений нет вовсе.

Отчёты о падениях не символизируются. Стеки хранятся ровно в том виде, в каком их прислало ваше приложение, поэтому стек из релизной сборки читается настолько, насколько это сделала ваша сборка. Загрузить dSYM или файл соответствия некуда, и в ближайшее время будет некуда.

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

Настройка под то, как вы работаете

Добавьте SDK и запустите его один раз. На каждую платформу есть руководство: Flutter, MAUI и Electron описаны, а измерение приложения покрывает то, что общее у остальных.

Идентификатор приложения берётся в «Моих приложениях», и это не секрет: он идентифицирует приложение, а не аутентифицирует его, ровно как идентификатор сайта.

Называйте экраны так, как должен читаться ваш отчёт, а не так, как их зовёт ваш роутер. checkout/review лучше CheckoutReviewViewController в любом разговоре, который у вас потом об этом будет.

Отправляйте версию приложения. Большинство SDK спрашивают её у платформы; там, где не могут, передайте её сами. Без неё «сломал ли что-то новый выпуск» — вопрос без ответа.

Начинайте выключенным, если спрашиваете согласие, и включайте после. Пока выключено, не записывается ничего, в том числе в очередь на потом, и это правильное поведение, о котором стоит знать до того, как вы начнёте это проверять.

Один скрипт или один SDK. Отчёты в обоих случаях одни и те же.

Создайте аккаунт, зарегистрируйте сайт и включите то, что нужно.