Поделиться через


Устранение неполадок с пакетом SDK для Android

Это важно

Центр приложений Visual Studio был прекращен 31 марта 2025 г., за исключением функций аналитики и диагностики, которые будут поддерживаться до 30 июня 2026 г. Подробнее.

Какие разрешения Android требуются?

В зависимости от используемых служб требуются следующие разрешения:

  • Все службы: INTERNET, ACCESS_NETWORK_STATE
  • Распространение: REQUEST_INSTALL_PACKAGES, DOWNLOAD_WITHOUT_NOTIFICATION

Необходимые разрешения автоматически объединяются в манифест приложения пакетом SDK.

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

Данные аналитики не отображаются на портале

  1. Убедитесь, что вы правильно интегрировали модули SDK.

  2. Убедитесь, что правильный секрет приложения используется при вызове метода start(). Вы можете скопировать точный start() код, открыв приложение на портале и перейдя на страницу "Начало работы".

  3. Если вы хотите просмотреть журналы, отправляемые на серверную часть, измените уровень журнала на Verbose в приложении, а пакет SDK будет выводить журналы в консоли. Вызовите приведенный ниже API перед запуском пакета SDK.

    AppCenter.setLogLevel(Log.VERBOSE);
    
    AppCenter.setLogLevel(Log.VERBOSE)
    

    Проверьте журналы: "Пакет SDK для Центра приложений настроен успешно" (на уровне информации), а затем проверьте, отображаются ли журналы запросов HTTPS.

  4. Убедитесь, что устройство подключено к сети.

  5. Иногда отображение журналов в портале может потребовать несколько минут. Подождите некоторое время, если это так.

  6. Чтобы проверить, получены ли ваши данные на сервере Центра приложений, перейдите в раздел "Поток журналов" в службе Analytics. Ваши события должны появляться после того, как они были отправлены.

Сбои не отображаются на портале

  1. Убедитесь, что вы правильно интегрировали модули SDK.

  2. Убедитесь, что правильный секрет приложения используется при вызове метода start(). Вы можете скопировать точный start() код, открыв приложение на портале и перейдя на страницу "Начало работы".

  3. Перезапустите приложение после сбоя. Наш SDK отправит лог сбоев только после его перезапуска.

  4. Если вы хотите просмотреть журналы, отправляемые на серверную часть, измените уровень журнала на Verbose в приложении, а пакет SDK будет выводить журналы в консоли. Вызовите приведенный ниже API перед запуском пакета SDK.

    AppCenter.setLogLevel(Log.VERBOSE);
    
    AppCenter.setLogLevel(Log.VERBOSE)
    

    Проверьте журналы: "Пакет SDK для Центра приложений настроен успешно" (на уровне информации), а затем проверьте, отображаются ли журналы запросов HTTPS.

  5. Убедитесь, что устройство подключено к сети.

  6. Иногда отображение журналов в портале может потребовать несколько минут. Подождите некоторое время, если это так.

  7. Если вы хотите проверить, обнаружил ли SDK сбой при следующем запуске приложения, можно вызвать API, чтобы проверить, было ли приложение аварийно завершено в последнем сеансе, и увидеть отображение соответствующего оповещения. Кроме того, можно расширить обратный вызов аварийного восстановления, чтобы узнать, был ли он успешно отправлен на сервер.

  8. Чтобы убедиться, что серверная часть App Center получила отчёт о сбое, перейдите в раздел журнала событий в службе Аналитики. Ваши сбои должны появиться там, как только они будут отправлены.

Распространение и обновления в приложении блокируют автоматические тесты пользовательского интерфейса.

Если вы выполняете автоматические тесты пользовательского интерфейса, включенные обновления приложений будут блокировать эти тесты, так как они будут пытаться пройти проверку подлинности через серверную часть Центра приложений. Рекомендуем не включать App Center Distribute для тестирования пользовательского интерфейса.

Как влияет пакет SDK Центра приложений на размер приложения Android?

Пакет SDK центра приложений предназначен для минимального влияния на размер установки приложения.

Чтобы проиллюстрировать это, мы создали пустое приложение java с помощью шаблона "пустого приложения" Android Studio. Мы собрали приложение в конфигурации релиза и установили его на устройство с Android 7.0.

Тесты выполнялись без включения Proguard.

Приведенные ниже числа могут отличаться и зависят от параметров сборки, поэтому считайте их ориентировочным руководством. Влияние пакета SDK на приложение будет еще ниже, если вы используете Proguard.

Используемые модули Центра приложений Экспортируемый размер APK Размер установки (как сообщается устройством)
Нет (пустое приложение) 1,3 МБ 3,43 МБ
Аналитика Центра приложений 1,4 МБ 3,63 МБ
Сбой Центра приложений 1,4 МБ 3,70 МБ
Распространение в Центре приложений 1,4 МБ 3,71 МБ
Все модули Центра приложений 1,4 МБ 3,82 МБ

Защита секретного значения Центра приложений

Это app_secret идентификатор вашего приложения, необходимо знать, к какому приложению применяется трафик, и его нельзя использовать для извлечения или изменения существующих данных. Если ваш app_secret становится доступным, наибольшая опасность заключается в отправке недостоверных данных в приложение; однако это не повлияет на безопасность данных.

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

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

Миграция из jCenter в Maven Central

Из-за прекращения поддержки jCenter все сборки были перенесены в репозиторий Maven Central. Чтобы использовать Центр приложений, необходимо добавить mavenCentral() в репозиторий в файле Gradle, как показано ниже:

repositories {
   google()
   mavenCentral()
}