Многие бегуны с утра измеряют пульс покоя. Если с утра он повышен, значит ты дал лиху — перетренировался. Я не бегун, но тоже измеряю. На апсторе есть удобная программа для измерения пульса по лицу, которая идеально мне подходит.
Но около года назад я отложил свой айфон в сторону, взяв андроид. На следующее утро я неожиданно понял — я больше не могу измерять пульс по лицу не вставая с постели. Я обыскал весь Google Play, но не нашел ничего похожего. Почему таких приложений нет в андроид?
Я тоже задался этим вопросом, тема мне показалась довольно интересной и решил написать свое приложение, заодно и разработку под андроид попробую.
Получить пульс по лицу — непростая задача. Соотношение сигнал-шум просто ужасное: если цветовое разрешение камеры имеет 256 градаций на цвет, то амплитуда полезного сигнала будет меньше 1 (минимального шага): 0.08 — 0.30. Понятно, что результаты измерения будут сильно зависеть от железа: камеры, встроенных алгоритмов постобработки изображения и вычислительной мощности.
К началу лета я написал приложение и протестировал на всех доступных устройствах — получалось приемлемо. Пришло время для тестов на людях и тут в мое поле зрения попала статья о новой возможности Google Play — внутреннем тестировании (internal test track). Я решил попробовать.
Как это выглядело в моей голове
- Закачиваю приложение, даю ссылку тестерам, выясняю работает ли приложение вообще
- Выхожу на модераторов Гугл, предлагаю фичеринг (подборка от редакции русского Google Play разделе “Новые программы”)
- Ориентируюсь по обстоятельствам
Возможно, попадание в рекомендации выглядит немного самонадеянно. Но перед этим я провел небольшое исследование: в российские подборки попадают приложения с менее чем 1000 скачиваний. В тот момент в подборке было приложение «кот звуки». У меня было машинное обучение, измерение пульса по лицу, а у них проигрывается «мяу», если нажать на экран. Можно побороться.
Как все было на самом деле
Я загрузил приложение на Google Play. Нажал «опубликовать», но ничего не произошло. Тут я очень быстро перешел от первого пункта к третьему, но не тем путем, которым хотелось. Оказывается, для внутреннего тестирования на 2 человека вам нужно:
- Заполнить листинг приложения, включающий кроме описания и скриншотов иконку 512*512 и брендированный задник (так как у меня нет дизайнера — графика отняла у меня много времени)
- Создать и захостить политику конфиденциальности приложения (это те лонгриды, которые пользователи обычно никогда не читают)
- Пройти анкету и утвердить возрастной рейтинг
- Настроить распространение приложения (выбрать страны и цены)
Сам того не подозревая, я “придумал” политику конфиденциальности Ecquire. Что, по моим субъективным ощущениям, тоже повлияло на дальнейшие события.

Видимо, все эти приготовления были просто необходимы, чтобы протестировать прототип с парой друзей (“Internal test: Quickly distribute your app for internal testing and quality assurance checks.”). В Apple App Store, насколько я знаю, для тестирования прототипа можно обойтись только пунктом про загрузку приложения на сервер.
После отправки я получил отказ в публикации приложения для внутреннего теста. Это было немного неожиданно, но не накладно — я исправил недочеты в описании по своему разумению. Переотправил — его быстро приняли. Разослал ссылки тестерам, работа закипела.
Неожиданные препятствия
Вечером того же дня мне пришла анонимка письмо с угрозами:

Ваше приложение приостановлено.
Приостановлено — не забанено, подумал я. И был прав. «Приостановлено» значит не просто забанено, а выпилено из магазина вместе со всеми пользователями, оценками, описаниями, которые вы сочиняли, и графикой, которую вы сохраняли. Также ваш аккаунт помечается как недобросовестный для будущих проверок.
Надежды на фичеринг резко утихли. Читаем письмо дальше
Ecли это повторится — мы удалим ваш и все связанные гугл-аккаунты, которые найдем.

Это повергло меня в шок. Гугл, остынь. Я просто хочу отправить свое приложение друзьям, чтобы они смогли протестировать его. Это внутренний тест на 2 человека. А ты хочешь удалить мои аккаунты? Я привязал аккаунт разработчика к основной почте, пользуюсь gmail, диском, youtube, многие сервисы привязаны к этой почте — ты бы хоть предупредил при создании аккаунта разработчика.
О проверке медицинских приложений
Я стал внимательно вчитываться.

Видимо, для медицинских приложений очень строгая модерация (хорошую категорию я выбрал).
Да нет, в Google Play более 100 пульсометров, часть из которых вообще не работает, а часть предлагают приложить палец к экрану, чтобы измерить пульс и давление.
Например, приложение Проверка артериального давления: тест сканирования или Регистратор артериального давления. Последний еще и рекламируется в Google Play. Ниже скриншот первой программы, при нажатии на «Save» давление и пульс сохраняются в дневник.

Нужно связаться с поддержкой.
Общение с поддержкой
Через специальную форму я отправил вопрос: “в чем, собственно, проблема?” Сотрудник Google, отвечавший мне, почему-то решил, что вопрос — это апелляция и сообщил, что проблема до сих пор присутствует.

Было бы странно ожидать другого, ведь с блокировкой разработчик лишается любого доступа к приложению, в том числе и возможности заливать новые версии.
Далее он сообщил, что я попрал честь платформы, разместив свое приложение. А именно:
Приложение имитирует работу системных приложений андроид или других

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

Приложение обманывает пользователя

Что скрывалось за пунктом “обман пользователя” было решительно непонятно. Тут надо заметить, что поддержка часто отвечает общими фразами вида “проблемы с метаданными”, оставляя возможность разработчику самому догадаться, что не так с приложением.
Попытки узнать это натыкались на “ничем не могу помочь”. Мои идеи, как сделать так, чтобы приложение соответствовало правилам, были встречены тем же. Диалог не строился.
Я подумал, что качество приложения было слишком низким для внутреннего теста. Если для внутреннего теста нужны production-ready политики и страница в магазине, логично предположить, что само приложение к этому моменту тоже должно быть production-ready.
В любом случае, поддержка не отвечала, и я начал тестирование собственными силами. Правил мелкие баги, улучшал производительность. Добавил “не для медицинского использования” на страницу в магазине и на непропускаемый первый экран приложения.
Публикуем «второе» приложение
За переписками по почте и разработкой прошел месяц. Учтя все предыдущие ошибки, я отправил новую версию для внутреннего теста в Google Play. По рекомендациям Гугл, мне пришлось придумать новое название и сделать вид, что я заливаю другое приложение, потому что первое было заблокировано навсегда.

Через пару часов мне опять пришел бан. Теперь у меня 2 заблокированных приложения в консоли разработчика. Еще на шаг ближе к удалению моих аккаунтов. Тут я задумался над тем, как замечательно провел последние полгода, медитативно вбивая код в IDE и занимаясь массой других интересных вещей, связанных с разработкой приложения.
Я спросил поддержку: “за что?” В этот раз, сотрудник Гугл написал что-то кроме общих слов. Он рассказал, что измерять пульс по лицу невозможно. Я обрадовался — наконец-то я понял в чем проблема.
Я подготовил для него мини-статью с научными исследованиями на эту тему и картинками и меня тут же разблокировали, но только одно приложение. Второе до сих пор висит мертвым грузом в консоли разработчика, на письма по нему просто перестали отвечать.
Ищем пользователей
Прошел ещё месяц. Я выпустил первую версию в продакшн. И, вот какая оказия, приложение вообще не ищется по ключевым словам. А на периферии Google Play Console слышен шепот: “Никто не может найти вашу страницу? Grow your user base with Google Ads”.

Похоже, ты не оставил мне выбора.
Создаю новую кампанию.
Размещаю объявление.
Reject.
Общий посыл (на основании моего исследования):

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

Они отклонили объявление, обвинив меня в экстрасенсорике, целительстве и ясновидении. Не забыв взять перед этим 500 рублей, чтобы объявление приняли на модерацию.
Когда я послал им выжимки из научных статей и демонстрацию работы со сравнением с эталонными методами, они ответили:
«Это все, конечно, хорошо, но»

Задаток позже вернули через поддержку.
MyTarget
Отличился в хорошую сторону тем, что не стал брать задаток. И в плохую, тем, что мурыжил меня правками, прямым текстом обещая публикацию. Правки закончились, а объявление все не проходило. Когда я прислал модераторам научно-популярное обоснование, MyTarget подытожил:

Выводы
Не занимайтесь магией. Делайте приложения с котиками, их все любят.
Автор: KirillGerasimov