Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это важно
Центр приложений Visual Studio был прекращен 31 марта 2025 г., за исключением функций аналитики и диагностики, которые будут поддерживаться до 30 июня 2026 г. Подробнее.
Сбор подробных журналов
Инструкции по настройке уровня журнала на VERBOSE
см. в разделе «Другие API».
Подробные журналы можно найти в окне отладки>Windows>Вывода.
Проблемы во время установки
- Для приложения Xamarin.Forms убедитесь, что пакеты установлены во всех проектах, ссылающихся на любые библиотеки. В противном случае вы увидите ошибки.
- Если при создании Xamarin.iOS возникает эта ошибка:
MTOUCH: Error MT3001: Could not AOT the assembly 'obj/**/Build/Microsoft.AppCenter.**.iOS.Bindings.dll' (MT3001)
необходимо обновить компонент Xamarin.iOS до версии 10.4.0.128 или более поздней. - Если при создании Xamarin.iOS возникает эта ошибка:
MTOUCH: Error MT5210: Native linking failed, undefined symbol: _OBJC_METACLASS_$_MS{SomeSdkClassName}. Please verify that all the necessary frameworks have been referenced and native libraries are properly linked in. (MT5210)
или аналогичная ошибка (MT5211
код с аналогичным сообщением, упоминающим Центр приложений), убедитесь, что перед использованием API определенной службы необходимо вызватьAppCenter.Start
. Если вы вызываетеStart
, но у вас эта проблема, необходимо обновить компонент Xamarin.iOS до версии 10.4.0.128 или более поздней. - В консоли найдите журнал Assert с сообщением "Пакет SDK для Центра приложений успешно настроен". Это проверяет, успешно ли настроен пакет SDK.
Данные аналитики не отображаются на портале
Убедитесь, что вы правильно интегрировали модули SDK.
Убедитесь, что правильный ключ доступа приложения включен в вызов метода
Start()
. Вы можете скопировать точныйStart()
код, открыв приложение на портале и перейдя на страницу "Начало работы".Если вы хотите просмотреть журналы, отправляемые на серверную часть, измените уровень журнала на Verbose в приложении, а пакет SDK будет выводить журналы в консоли. Вызовите приведенный ниже API перед запуском пакета SDK.
AppCenter.LogLevel = LogLevel.Verbose;
Проверьте журналы: "SDK Центра приложений настроен успешно," на уровне журнала информации, а затем проверьте, отображаются ли журналы запросов HTTPS.
Убедитесь, что устройство подключено к сети.
Иногда отображение журналов в портале может потребовать несколько минут. Подождите некоторое время, если это так.
Чтобы проверить, получены ли ваши данные на сервере Центра приложений, перейдите в раздел "Поток журналов" в службе Analytics. Ваши события должны появляться после того, как они были отправлены.
Сбои не отображаются на портале
Убедитесь, что вы правильно интегрировали модули SDK.
Убедитесь, что правильный ключ доступа приложения включен в вызов метода
Start()
. Вы можете скопировать точныйStart()
код, открыв приложение на портале и перейдя на страницу "Начало работы".Перезапустите приложение после сбоя. App Center Crashes отправляет журнал сбоев только после перезапуска. Кроме того, в Xamarin.iOS и Xamarin.Mac пакет SDK не сохранит журнал сбоев, если вы подключили отладчик. Убедитесь, что отладчик не подключен при сбое приложения iOS. В Xamarin.Android может произойти сбой при прикреплённом отладчике, но после вхождения в необработанное исключение необходимо продолжить выполнение.
Если вы хотите просмотреть журналы, отправляемые на серверную часть, измените уровень журнала на Verbose в приложении, а пакет SDK будет выводить журналы в консоли. Вызовите приведенный ниже API перед запуском пакета SDK.
AppCenter.LogLevel = LogLevel.Verbose;
Проверьте журналы: "SDK Центра приложений настроен успешно," на уровне журнала информации, а затем проверьте, отображаются ли журналы запросов HTTPS.
Не используйте другую библиотеку, которая предоставляет функции отчетов о сбоях, например Xamarin Insights или HockeyApp. Вы можете интегрировать только один пакет SDK для создания отчетов о сбоях.
Убедитесь, что устройство подключено к сети.
Иногда отображение журналов в портале может потребовать несколько минут. Подождите некоторое время, если это так.
Если вы хотите проверить, обнаружил ли SDK сбой при следующем запуске приложения, можно вызвать API, чтобы проверить, было ли приложение аварийно завершено в последнем сеансе, и увидеть отображение соответствующего оповещения. Кроме того, можно расширить обратный вызов аварийного восстановления, чтобы узнать, был ли он успешно отправлен на сервер.
Чтобы убедиться, что серверная часть App Center получила отчёт о сбое, перейдите в раздел журнала событий в службе Аналитики. Ваши сбои должны появиться там, как только они будут отправлены.
Распространение и обновления в приложении блокируют автоматические тесты пользовательского интерфейса.
Если вы выполняете автоматические тесты пользовательского интерфейса, включено обновление в приложении блокирует автоматические тесты пользовательского интерфейса, так как они будут пытаться пройти проверку подлинности в серверной части Центра приложений. Рекомендуем не включать App Center Distribute для тестирования пользовательского интерфейса.
Google Play отклоняет приложение после добавления DistributePlay
Google Play отклоняет приложения, использующие модуль, Distribute
так как он содержит реализацию обновления в приложении. Чтобы избежать этой ситуации, пакет SDK центра приложений содержит DistributePlay
модуль, содержащий заглушки для основного модуля. Он заменяет основную сборку на подставную сборку, которая моделирует API Distribute
. В клиентском приложении никаких дополнительных изменений не требуется. В DistributePlay
отсутствует код, связанный с обновлением внутри приложения.
Если после замены модуля Distribute
на DistributePlay
ваше приложение всё ещё отклоняется, выполните следующие шаги, чтобы убедиться, что модуль Distribute
был заменён правильно:
- Убедитесь, что вы заменили
Distribute
наDistributePlay
, все ваши выпуски для всех ваших групп публикации в консоли Google Play. - Если вы используете
Xamarin.Forms
, убедитесь, что вы добавили модуль как в общий, так и вDistributePlay
иXamarin.Android
проекты. - Убедитесь, что выходной файл не содержит сборку
Microsoft.AppCenter.Distribute.Android.Bindings.dll
. Чтобы проверить его, можно использовать анализатор APK .
Сообщения в консоли, указывающие, что база данных не может быть открыта в iOS
Центр приложений использует SQLite для сохранения журналов перед отправкой в серверную часть. Если вы упаковываете своё приложение вместе с собственной библиотекой SQLite вместо той, что предоставляется ОС, вы можете увидеть такие ошибки в консоли [AppCenter] ERROR: -[MSACDBStorage executeSelectionQuery:]/147 Failed to open database
и не получите аналитические данные или информацию о сбоях в серверной части. Обновите пакет SDK до версии 0.16.0 или более поздней.
Защита секретного значения Центра приложений
Это app_secret
идентификатор вашего приложения, необходимо знать, к какому приложению применяется трафик, и его нельзя использовать для извлечения или изменения существующих данных. Если ваш app_secret
становится доступным, наибольшая опасность заключается в отправке недостоверных данных в приложение; однако это не повлияет на безопасность данных.
Чтобы получить конфиденциальные данные, необходимо предоставить маркер приложения или пользователя, который создается на стороне клиента. Нет способа сделать данные на стороне клиента полностью безопасными.
Вы можете улучшить безопасность приложения с помощью переменной среды для внедрения секрета приложения в код. Таким образом, секрет не отображается в коде.