
Не так страшны санкции для Android разработчика, как наш родной Роскомнадзор. Использовал этот сайт для анализа продвижения приложения.
Пользователь
Не так страшны санкции для Android разработчика, как наш родной Роскомнадзор. Использовал этот сайт для анализа продвижения приложения.
Сегодня мое приложение "Печать чека НПД" стало "кирпичом". Что случилось ? Налоговая сделала метод апи требующим авторизацию.
https://lknpd.nalog.ru/api/v1/receipt/nomer_inn/id_cheka/json
Вы спросите, так как какая проблема добавить к запросу авторизацию ?
1) Документации на апи нет
2) Проблемы пройти модерацию Google Play после такой доделки
а) Что отвечать на вопрос об афилированности с госорганами. В обоих вариантах чувствую тот еще гиморой
б) Секция персональных данных. Угу. Попробуй ИИ объяснить зачем тебе логин/пароль от чужого сайта
https://gist.github.com/Muraveiko/aa38f6a2670871b6e2aba00eb6d152b9
Хотел прикрутить обрезку картинок через штатное приложение камеры (com.android.camera.action.CROP). Накидал код контракта. Круто же по современному myCrop.launch() и код чистенький при использовании. А оно для моих целей не подходит. Готовую картинку можно получить или как parcel битмапа или в виде uri на новое приложение. Сразу не подумал, что мне нужно БОЛЬШУЮ. А если мне урл на нее возращают, значит обрезанная картинка большого размера остается в галерее :(
В общем жалко просто выкинуть. Может кому потом меньше кода писать будет.
Есть (были) такие термопринтеры Paperang. Вот только оказалось, что под капотом там несколько протоколов. Изначально пакеты обрамлялись байтами 0x02 ... 0x03.
Насчитал еще три варианта: с первыми байтами 0x07 , 0xA5 и вариант общения по IPP.
Разбирался с Paperang P2.
{0xA5, 0x01} - префик
два байта длины
полезная нагрузка
crc32(4 байта)
0x5A - суффикс
{5,0x19,1,0,0}
5 - команда относится к термопечати
25 - начало передачи растра изображения
третий байт может быть 1/2/3 - АХЗ. В респонсе обычно 2. В данных, которые посылаются на принтер 1 (из андроид приложения) или 3 ( драйвера под винду)
int16(0) - длина аргументов
Сам растер засылается по типу матрешки. (тип,длина,((тип,длина,данные),(тип,длина,((тип,длина,(данные))))))
Недавно Гугл плей в своем отчете поделился тем, что почистил много низкокачественных приложений.
Но возможно дело тут не только в заслугах модерации.
В общем я снимаю с публикации добровольно пару приложений. Дело в том, что трудозатраты на поднятие таргет сдк до 34 никогда не окупяться.
За пять лет было 650 покупок (134 возврата) и у другого 588 ( -79). Потраченное время будет окупаться несколько лет. А под меняющиеся требования гугла скорее всего придется еще дополнительно править еще несколько раз.
В ходе работы над своим драйвером печати мне пришлось написать эмулятор IPP принтера. Оформил его как бесплатное приложение в гугл плее. Анонс сервиса в mDNS IppVirtual._ipp._tcp.local. Добился автоматического его распознования стандартной службы печати андроида. Поднял http сервер на порту 10631. отдаю иконку принтера и 404 страницы. При обращении по rp = p/virеual реализовал команды IPP протокола: получить свойства принтера, печать документа и другие. Проще всего было реализовать поддержу PDL для PCLm (по сути тотже aplication/pdf), полученный файл просто передается встроенному просмотровщику. Для urf,pwg и SPL(QPDL) написал декодеры в битмап с последующей конвертацией в pdf.
Не получилось полностью реализовать драйверлес для macOS и windows :(
На маках находит, но ставиться только при ручном указание ppd, который можно сформировать запуском
/System/Library/Printers/Libraries/ipp2ppd урл_принтера
На виндовс устанавливается через мастер установки Bonjour. Драйвер приходится выбирать в ручную. Подходят стандартные от майкрософт (н-р универсальный IPP).
Эмулятор может быть полезен программистам, которые решили внедрить в свою программу прямую печать на IPP принтеры.
Приложение в данный момент опубликовано для открытого тестирования