Начало работы с Android

Важно!

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

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

Пакет SDK центра приложений использует модульную архитектуру, поэтому вы можете использовать любую или все службы.

Сведения о данных, собираемых Центром приложений, можно найти на страницах , собранных пакетами SDK для Центра приложений, общим регламентом по защите данных и часто задаваемыми вопросами .

Давайте приступим к настройке пакета SDK для Android центра приложений в приложении для использования аналитики Центра приложений и сбоев Центра приложений. Чтобы добавить приложение Распространение в Центр приложений, ознакомьтесь с документацией по распространению в Центре приложений.

1. Предварительные требования

Прежде чем приступить к работе, убедитесь, что у вас есть следующие необходимые компоненты.

  • Проект Android настроен в Android Studio.
  • Вы нацелены на устройства под управлением Android версии 5.0 (УРОВЕНЬ API 21) или более поздней.

2. Создайте приложение на портале Центра приложений, чтобы получить секрет приложения

Если вы уже создали приложение на портале Центра приложений, этот шаг можно пропустить.

  1. Перейдите к appcenter.ms.
  2. Зарегистрируйтесь или войдите в систему и нажмите кнопку Добавить новый в правом верхнем углу страницы и выберите Добавить новое приложение в раскрывающемся меню.
  3. Введите имя и необязательное описание приложения.
  4. Выберите Android в качестве ОС и Java в качестве платформы.
  5. Нажмите кнопку Добавить новое приложение .

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

3. Добавление модулей пакета SDK центра приложений

  1. Откройте файл build.gradle на уровне приложения проекта (app/build.gradle) и добавьте следующие строки после apply plugin. Включите в проект необходимые зависимости. Каждый модуль ПАКЕТА SDK необходимо добавить в качестве отдельной зависимости в этом разделе. Если вы хотите использовать аналитику и сбои Центра приложений, добавьте следующие строки:
dependencies {
    def appCenterSdkVersion = '5.0.4'
    implementation "com.microsoft.appcenter:appcenter-analytics:${appCenterSdkVersion}"
    implementation "com.microsoft.appcenter:appcenter-crashes:${appCenterSdkVersion}"
}

Примечание

Если версия подключаемого модуля Android Gradle ниже 3.0.0, необходимо заменить реализацию слова компиляцией.

Примечание

Из-за прекращения поддержки jCenter все наши сборки были перемещены в репозиторий Maven Central. Следуйте указаниям в этом руководстве по миграции из jCenter в Maven Central. Обратите внимание, что Maven Central не содержит устаревших модулей. Убедитесь, что в проекте нет зависимостей от устаревших модулей sdk центра приложений.

  1. Обязательно активируйте синхронизацию Gradle в Android Studio.

Теперь, когда вы интегрировали пакет SDK в приложение, пора запустить пакет SDK и использовать Центр приложений.

4. Запустите пакет SDK

4.1. Добавление метода start()

Чтобы использовать Центр приложений, необходимо согласиться на использование модулей, которые вы хотите использовать. По умолчанию модули не запускаются, и необходимо явно вызывать каждый из них при запуске пакета SDK.
Вставьте следующую строку в класс onCreate-callback класса действия main приложения, чтобы использовать аналитику Центра приложений и сбои центра приложений:

AppCenter.start(getApplication(), "{Your App Secret}", Analytics.class, Crashes.class);
AppCenter.start(application, "{Your App Secret}", Analytics::class.java, Crashes::class.java)

Предупреждение

Не рекомендуется внедрять секрет приложения в исходный код.

Если вам нужно запустить службы Центра приложений отдельно, выполните следующие действия:

  1. Настройте или запустите его с помощью секрета приложения.
  2. Если код можно вызвать несколько раз, проверка, если центр приложений уже настроен.
  3. Запустите необходимые службы без секрета приложения.
AppCenter.configure(application, "{Your App Secret}");
if (AppCenter.isConfigured()) {
    AppCenter.start(Analytics.class);
    AppCenter.start(Crashes.class);
}
AppCenter.configure(application, "{Your App Secret}");
if (AppCenter.isConfigured()) {
    AppCenter.start(Analytics::class.java);
    AppCenter.start(Crashes::class.java);
}

Если у вас есть несколько точек входа в приложение (например, действие прямой ссылки, служба или широковещательный приемник), вызовите start в пользовательском классе приложения или в каждой точке входа. В последнем случае проверка, если центр приложений уже настроен перед вызовомstart:

if (!AppCenter.isConfigured())) {
  AppCenter.start(getApplication(), "{Your App Secret}", Analytics.class, Crashes.class);
}
if (!AppCenter.isConfigured()) {
  AppCenter.start(application, "{Your App Secret}", Analytics::class.java, Crashes::class.java)
}

4.2. Замените заполнитель секретом приложения

Обязательно замените {Your App Secret} текст фактическим значением для приложения. Секрет приложения можно найти на странице начало работы или на странице параметров на портале Центра приложений.

Страница начало работы содержит приведенный выше пример кода с секретом приложения. Вы можете просто скопировать и вставить весь пример.

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

Если вы не хотите использовать одну из двух служб, удалите соответствующий параметр из вызова метода выше.

Если вы явно не указали каждый модуль в качестве параметров в методе start, вы не сможете использовать эту службу Центра приложений. Кроме того, start() API можно использовать только один раз в жизненном цикле приложения. Все остальные вызовы будут записывать предупреждение в консоль, и будут доступны только модули, включенные в первый вызов.

Например. Если вы просто хотите подключиться к аналитике Центра приложений, необходимо изменить start() вызов API следующим образом:

AppCenter.start(getApplication(), "{Your App Secret}", Analytics.class);
AppCenter.start(application, "{Your App Secret}", Analytics::class.java)

Android Studio автоматически предлагает необходимые инструкции импорта после вставки start() метода, но если вы видите ошибку, что имена классов не распознаны, добавьте следующие строки в инструкции import в классе действия:

import com.microsoft.appcenter.AppCenter;
import com.microsoft.appcenter.analytics.Analytics;
import com.microsoft.appcenter.crashes.Crashes;
import com.microsoft.appcenter.AppCenter
import com.microsoft.appcenter.analytics.Analytics
import com.microsoft.appcenter.crashes.Crashes

Все готово для визуализации данных аналитики и сбоев на портале, которые пакет SDK собирает автоматически.

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

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

5. Правила резервного копирования (только для Android)

Примечание

Для приложений, предназначенных для Android 6.0 (уровень API 23) или выше, автоматически включено автоматическое резервное копирование. 

Примечание

Если у вас уже есть пользовательский файл с правилом резервного копирования, перейдите к третьему шагу.

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

5.1. Для Android 11 (уровень API 30) или ниже.

  1. Создайте appcenter_backup_rule.xml файл в папке res/xml .
  1. Откройте файлAndroidManifest.xml проекта. android:fullBackupContent Добавьте атрибут в <application> элемент . Он должен указывать на файл ресурсовappcenter_backup_rule.xml .
android:fullBackupContent="@xml/appcenter_backup_rule"
  1. Добавьте следующие правила резервного копирования в файлappcenter_backup_rule.xml :
<full-backup-content xmlns:tools="http://schemas.android.com/tools">
      <exclude domain="sharedpref" path="AppCenter.xml"/>
      <exclude domain="database" path="com.microsoft.appcenter.persistence"/>
      <exclude domain="database" path="com.microsoft.appcenter.persistence-journal"/>
      <exclude domain="file" path="error" tools:ignore="FullBackupContent"/>
      <exclude domain="file" path="appcenter" tools:ignore="FullBackupContent"/>
  </full-backup-content>

5.2. Для Android 12 (уровень API 31) или более поздней версии.

  1. Создайте appcenter_backup_rule.xml файл в папке res/xml .
  1. Откройте файлAndroidManifest.xml проекта. android:dataExtractionRules Добавьте атрибут в <application> элемент . Он должен указывать на файл ресурсовappcenter_backup_rule.xml .
android:dataExtractionRules="@xml/appcenter_backup_rule"
  1. Добавьте следующие правила резервного копирования в файлappcenter_backup_rule.xml :
<data-extraction-rules xmlns:tools="http://schemas.android.com/tools">
    <cloud-backup>
        <exclude domain="sharedpref" path="AppCenter.xml"/>
        <exclude domain="database" path="com.microsoft.appcenter.persistence"/>
        <exclude domain="database" path="com.microsoft.appcenter.persistence-journal"/>
        <exclude domain="file" path="error" tools:ignore="FullBackupContent"/>
        <exclude domain="file" path="appcenter" tools:ignore="FullBackupContent"/>
    </cloud-backup>
    <device-transfer>
        <exclude domain="sharedpref" path="AppCenter.xml"/>
        <exclude domain="database" path="com.microsoft.appcenter.persistence"/>
        <exclude domain="database" path="com.microsoft.appcenter.persistence-journal"/>
        <exclude domain="file" path="error" tools:ignore="FullBackupContent"/>
        <exclude domain="file" path="appcenter" tools:ignore="FullBackupContent"/>
    </device-transfer>
</data-extraction-rules>