Начало работы с Unity
Важно!
Прекращение поддержки Центра приложений Visual Studio запланировано на 31 марта 2025 г. Хотя вы можете продолжать использовать Центр приложений Visual Studio, пока он не будет полностью выведен из эксплуатации, существует несколько рекомендуемых вариантов, на которые вы можете рассмотреть возможность миграции.
Узнайте больше о сроках поддержки и альтернативных вариантах.
Пакет SDK центра приложений использует модульную архитектуру, поэтому вы можете использовать любую или все службы.
Давайте приступим к работе и настроим пакет SDK центра приложений Unity для использования аналитики и сбоев Центра приложений. Сведения о добавлении распространения Центра приложений в приложение см. в документации по распространению в Центре приложений.
1. Предварительные требования
Перед началом работы убедитесь, что проект настроен в Unity 2018.1 или более поздней версии.
Пакет SDK центра приложений для Unity поддерживает следующие платформы:
- iOS (9.0 или более поздней версии)
- Android (5.0/API 21 или более поздней версии)
- UWP (сборка 16299 или более поздней версии)
Примечание
Версия среды выполнения сценариев .NET 3.5 и серверная часть скриптов .NET больше не поддерживаются на платформе UWP.
Чтобы узнать, как использовать сопрограммы и обратные вызовы вместо async/await
серверной части, ознакомьтесь с .NET 3.5
асинхронными API в разделе пакета SDK для Unity документации.
Кроме того, пакет SDK центра приложений для Unity доступен только в C#.
2. Создайте приложение на портале Центра приложений, чтобы получить секрет приложения
Если вы уже создали приложение на портале Центра приложений, этот шаг можно пропустить.
- Перейдите к appcenter.ms.
- Зарегистрируйтесь или войдите в Центр приложений.
- Нажмите синюю кнопку в правом верхнем углу портала с надписью Добавить и выберите Добавить новое приложение в раскрывающемся меню.
- Введите имя и необязательное описание приложения.
- Выберите соответствующую ОС и платформу в зависимости от проекта, как описано выше.
- Нажмите кнопку Добавить новое приложение в правом нижнем углу страницы.
После создания приложения его секрет можно получить на странице Параметры на портале Центра приложений. В правом верхнем углу страницы Параметры щелкните тройную вертикальную точку и выберите Copy app secret
, чтобы получить секрет приложения.
3. Добавление пакета SDK центра приложений в проект
3a Установка Редактор расширения
Пакет SDK центра приложений интегрируется путем импорта пакетов Unity в проект. Для этого сначала установите подключаемый модуль Unity Редактор Extensions в Центре приложений. Откройте расширения Редактор в меню Unity: Окно > Центра приложений > Редактор расширения и выберите "Установить пакет SDK центра приложений".
Примечание
В Unity версии 2019.1.2f1 и более поздних могут возникать ошибки в журналах во время установки, например Coroutine continue failure
. Это известная проблема Unity, и ее следует игнорировать.
3.1b Установка отдельных пакетов
В качестве альтернативы можно скачать и импортировать каждый из отдельных пакетов Unity. Они находятся на странице GitHub sdk для Unity для Центра приложений. Скачайте последние выпуски пакетов, которые вы хотите использовать. Имя должно быть в формате AppCenter{Analytics/Crashes/Distribute}-v{version}.unitypackage.
3.2b Импорт пакета
Откройте проект Unity, а затем дважды щелкните скачанный пакет. В проекте Unity должно появиться всплывающее окно со списком файлов. Выберите Импорт, и пакет SDK будет добавлен в проект. Повторите этот шаг для каждого загруженного пакета и планируете использовать в проекте.
4. Включение пакета SDK
4.1. Создание пустого игрового объекта
Центр приложений работает как компонент, который вы подключаете к игровому объекту в сцене, в которую запускается игра. Перейдите к этой сцене и добавьте пустой игровой объект. Присвойте ему описательное имя, например "Центр приложений".
4.2. Присоединение скрипта Центра приложений
В окне Проект перейдите в папку AppCenter, которая была добавлена в проект. Найдите скрипт с именем AppCenterBehavior и перетащите его на созданный игровой объект в окне Иерархия .
Примечание
Вам не нужно добавлять Центр приложений в каждую сцену, в которой вы хотите его использовать. Достаточно добавить его в первую загруженную сцену.
4.3. Настройка параметров Центра приложений
Щелкните этот новый объект "Центр приложений" и добавьте секреты приложения в соответствующие поля в окне Инспектор . Не забудьте также проверка поля "Использовать {service}" для каждой службы Центра приложений, которую вы планируете использовать.
Предупреждение
Не рекомендуется внедрять секрет приложения в исходный код.
Примечание
Если проект не поддерживает одну из трех платформ, перечисленных в параметрах, оставьте поле секрета приложения как есть; это не будет иметь никакого эффекта. Если ваш проект поддерживает платформы, которые не поддерживаются Центром приложений, api-интерфейсы и конфигурация не будут влиять на эти платформы.
Отлично, все готово для визуализации данных аналитики и диагностики (сбой и ошибок) на портале, которые пакет SDK будет собирать автоматически.
Ознакомьтесь с документацией по аналитике Центра приложений и сбоям Центра приложений , чтобы узнать, как использовать более сложные функции с обеими службами.
Чтобы узнать, как приступить к работе с обновлениями из приложения, ознакомьтесь с документацией по распространению в Центре приложений.
5. Правила резервного копирования (только для Android)
Примечание
Для приложений, предназначенных для Android 6.0 (уровень API 23) или выше, автоматически включено автоматическое резервное копирование.
Примечание
Если у вас уже есть пользовательский файл с правилом резервного копирования, перейдите к третьему шагу.
Примечание
Если у вас еще нет собственного файлаAndroidManifest.xml , создайте его в папке Assets/Plugins/Android . Этот манифест будет объединен с созданным по умолчанию Unity во время сборки.
Если вы используете автоматическое резервное копирование, чтобы избежать получения неверных сведений об устройстве, выполните следующие действия.
5.1. Для Android 11 (уровень API 30) или ниже.
- Создайте файлappcenter_backup_rule.xml в папке Assets/Plugins/Android/res/xml .
- Откройте файлAndroidManifest.xml проекта.
android:fullBackupContent
Добавьте атрибут в<application>
элемент . Он должен указывать на файл ресурсовappcenter_backup_rule.xml .
android:fullBackupContent="@xml/appcenter_backup_rule"
- Добавьте следующие правила резервного копирования в файл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) или выше.
- Создайте файлappcenter_backup_rule.xml в папке Assets/Plugins/Android/res/xml .
- Откройте файл AndroidManifest.xml проекта.
android:dataExtractionRules
Добавьте атрибут в<application>
элемент . Он должен указывать на файл ресурсовappcenter_backup_rule.xml .
android:dataExtractionRules="@xml/appcenter_backup_rule"
- Добавьте следующие правила резервного копирования в файл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>