Публикация мобильных приложений на базе 1С в Google Play часто сопровождается строгими требованиями со стороны консоли разработчика. В процессе проверки Google выставляет претензии к производительности и безопасности приложения. Рассмотрим, как проанализировать эти ошибки и привести конфигурацию в соответствие с актуальными стандартами.
Google устанавливает жесткие лимиты на запуск приложения после установки. Если ваше приложение 1С запускается дольше 5 секунд, консоль выдаст ошибку. Поскольку платформа 1С загружает значительный объем библиотек и движок при инициализации, нам нужно минимизировать нагрузку на этапе старта.
ПриНачалеРаботыСистемы. Перенесите всю ресурсоемкую логику — получение данных с сервера, формирование сложных отчетов, инициализацию тяжелых объектов — в фоновые процессы.ПодключитьОбработчикОжидания. Это позволит интерфейсу приложения прорисоваться быстрее, а выполнение логики начнется уже после того, как пользователь увидит основной экран.Ошибка «Ваше приложение принимает сертификаты пользователей во время проверки защищенных подключений» указывает на то, что текущая конфигурация безопасности позволяет системе доверять сторонним сертификатам, установленным в ОС Android. Это считается риском безопасности. Чтобы это исправить, нам необходимо настроить файл network_security_config.xml.
Создайте (или отредактируйте) конфигурационный файл безопасности и явно укажите, что доверять нужно только системным сертификатам. В манифесте вашего приложения добавьте ссылку на этот файл:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config>
<trust-anchors>
<certificates src="system" />
</trust-anchors>
</base-config>
</network-security-config>
Этот подход исключает возможность использования самоподписанных сертификатов, установленных пользователем в настройках устройства.
Google требует, чтобы весь обмен данными происходил по протоколу HTTPS. Ошибка «Незашифрованный трафик разрешен для всех доменов» означает, что в манифесте вашего проекта параметр android:usesCleartextTraffic установлен в значение true или не задан явно.
Для исправления ситуации выполните следующие действия:
AndroidManifest.xml убедитесь, что в теге <application> атрибут настроен следующим образом:
android:usesCleartextTraffic="false"
Если же ваше приложение по техническим причинам обязано обращаться к каким-то конкретным локальным ресурсам по HTTP, не делайте общее исключение для всего приложения. Используйте секцию <domain-config> в network_security_config.xml, чтобы разрешить незашифрованный трафик только для конкретных доверенных доменов:
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">ваш-локальный-сервер.local</domain>
</domain-config>
Стандартный сборщик мобильных приложений 1С значительно упрощает процесс выпуска продукта, однако при строгой проверке Google Play может потребоваться ручная доработка. Мы рекомендуем собирать проект с помощью штатных средств платформы, а затем, при необходимости, открывать полученный проект в среде Android Studio. Это позволит вам гибко настроить манифест и файлы конфигурации безопасности, не дожидаясь обновлений платформы 1С для каждого специфического требования Google.
Помните, что безопасность и производительность — это непрерывный процесс. Регулярно тестируйте приложение на актуальных уровнях API Android и следите за изменениями в правилах публикации Google Play.