Как исправить ошибки консоли Google Play при публикации мобильного приложения на платформе 1С?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Публикация мобильных приложений на базе 1С в Google Play часто сопровождается строгими требованиями со стороны консоли разработчика. В процессе проверки Google выставляет претензии к производительности и безопасности приложения. Рассмотрим, как проанализировать эти ошибки и привести конфигурацию в соответствие с актуальными стандартами.

Оптимизация времени холодного запуска приложения

Google устанавливает жесткие лимиты на запуск приложения после установки. Если ваше приложение 1С запускается дольше 5 секунд, консоль выдаст ошибку. Поскольку платформа 1С загружает значительный объем библиотек и движок при инициализации, нам нужно минимизировать нагрузку на этапе старта.

  1. Отключение флеш-заставки: Проверьте настройки сборки. Часто отключение или оптимизация графических элементов, загружаемых при старте, помогает выиграть драгоценные миллисекунды.
  2. Перенос тяжелой логики: Проанализируйте код в модуле управляемого приложения, а именно в процедуре ПриНачалеРаботыСистемы. Перенесите всю ресурсоемкую логику — получение данных с сервера, формирование сложных отчетов, инициализацию тяжелых объектов — в фоновые процессы.
  3. Отложенная инициализация: Реализуйте запуск второстепенных процедур через метод ПодключитьОбработчикОжидания. Это позволит интерфейсу приложения прорисоваться быстрее, а выполнение логики начнется уже после того, как пользователь увидит основной экран.

Настройка безопасности: сертификаты пользователей

Ошибка «Ваше приложение принимает сертификаты пользователей во время проверки защищенных подключений» указывает на то, что текущая конфигурация безопасности позволяет системе доверять сторонним сертификатам, установленным в ОС 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 или не задан явно.

Для исправления ситуации выполните следующие действия:

  1. Переведите все взаимодействия с вашим сервером 1С на защищенный протокол HTTPS. Это основное требование безопасности современных версий Android.
  2. В файле 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.

← На главную