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

Важно!

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

Узнайте больше о сроках поддержки и альтернативных вариантах.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Каково влияние пакета 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()
}