Статьи

Использование BugSense для отслеживания ошибок и событий в приложении Windows Phone

 

BugSenseПочему BugSense?

Ошибки / исключения являются раздражающими и полезными одновременно. Они могут раздражать вас при создании приложения. В то же время они помогают вам улучшить качество вашего приложения (в большинстве случаев). Они раздражают ваших пользователей, если они приводят к сбою вашего приложения. В то же время, у них есть хороший шанс связаться с вашими пользователями — например, вы можете перехватить необработанные исключения и попросить пользователя отправить его вам.

Но что, если ваши пользователи решат игнорировать ошибку? Как вы должны улучшить качество вашего приложения? Что делать, если вы получаете только плохие отзывы? Довольно сложная задача, особенно если у вас совершенно новое приложение. У меня была такая ситуация снова и снова — и, конечно, меня это раздражало.

Поэтому я исследовал Интернет для решений. Google Analytics — это одна служба, которая работает и в основном используется в корпоративных приложениях. Я использую его в приложении, которое разрабатываю для своей работы 9to5 на Windows Phone и Android, но я могу использовать его только на Windows Phone из-за сторонней библиотеки. Если разработчик решит не продолжать свои усилия, в какой-то момент он перестанет работать или по крайней мере нуждается в ручном обслуживании с моей стороны (глядя на вас, TweetSharp ).

BugSense был второй альтернативой, на которую я посмотрел. Они являются крупным игроком на рынке мобильного мониторинга и имеют очень хорошую базовую модель, которая идеально подходит для среднего разработчика (500 ошибок в месяц, 350000 точек данных в месяц бесплатно) и их первый этап ценообразования, если у вас есть больше приложений, и я понимаю, что разработчикам-независимостям нужно поддерживать более одного приложения.

Кроме того, часто есть возможность получить промо-коды, которые бесплатно разблокируют некоторые функции в течение ограниченного времени (например, промо-коды DVLUP и т. Д.).

Я могу только рекомендовать дать ему хотя бы попытку. Основным положительным моментом был тот факт, что BugSense также имеет приложение для Windows Phone, которое помогает вам быть в курсе ошибок и идей, пока вы находитесь в пути.

Настроить приложение также довольно просто, будь то отслеживание ошибок или отслеживание событий. Давайте посмотрим на код.

Обработка ошибок

Первое, что вам нужно установить, — это BugSense SDK либо через Nuget («BugSense.WP8» для WP 8.0 / 8.1 Silverlight, «BugSense.WP81» для WP 8.1 Runtime), либо вы можете загрузить пакет вручную здесь и импортировать DLL для SL проектов.

Следующим шагом является авторизация вашего приложения в конструкторе вашего приложения:

public App()
{
    //connect your app to the BugSense API’s
    BugSenseHandler.Instance.InitAndStartSession(new ExceptionManager(Current), RootFrame, "<your key="" api="">");
}</your>

Для проектов WINPRT вы не будете указывать параметр Rootframe.

Официальная документация гласит, что вам больше не нужен обработчик UnhandledException, и вы можете удалить его. В реальном приложении для Windows Phone это может привести к сбоям из-за исключений обработчиком BugSense, которые не обнаруживаются без какой-либо регистрации ошибок — спасибо Саре Сильве за указание на это (следуйте за ней!). Я оставлю это на ваше усмотрение, если вы оставите это там для обработки этих ошибок или если у вас все в порядке с аварийным завершением вашего приложения в этом случае.

Я также рассказываю вам, что я сделал: я оставил там обработчик UnhandledException, потому что мои пользователи уже привыкли к другой вещи, которую я использовал ранее: RadDiagnostics Telerik , которая позволяет пользователям отправлять эти сообщения об ошибках по почте. Я оставил это там по двум причинам:

  • сохранить взаимодействие с моим пользователем, которое у меня уже было при появлении ошибки
  • чтобы предотвратить сбой моего приложения — независимо от того, произошла ли ошибка от BugSense или моего кода

Для регистрации ошибок остается только один пункт. После моего опыта регистрация ошибок работает только после регистрации нового экземпляра обработчика BugSense (я делаю это в событии Loaded моей первой страницы):

BugSenseHandler.Instance.RegisterAsyncHandlerContext();

Вот и все, теперь все ваши ошибки собираются в вашей учетной записи BugSense.

Отслеживание событий

Если вы хотите отслеживать события в своем приложении, BugSense также поможет в этой задаче. Самый простой способ достичь этого:

await BugSenseHandler.Instance.LogEventAsync(“<your here="" text="" event="" custom="">");</your>

Вывод

С BugSense вам не нужны сложные настройки для удаленного сбора ошибок и отслеживания событий с ваших пользовательских устройств. Цены умеренные, и у вас даже есть мобильное приложение, которое позволяет вам отслеживать ошибки, когда вы не на своем компьютере разработчика. BugSense имеет гораздо больше возможностей , для начала я надеюсь, что этот пост будет полезен для некоторых из вас.

До следующего поста, счастливого кодирования!