- What is fabric android
- Пример использования Fabric (Twitter Kit) в Android Studio
- Android Fabric Crashlytics Integration
- 1. Import Fabric plugin into Android Studio
- 2. Create a New Android Application Project (or open a project you want to integrate Crashlytics)
- 3. Composing build.gradle file to include Crashlytics
- 4. Adding the source code in the starting Activity of our application
- 5. Android Manifest
- 6. Build and run the application
- 7. Download the Android Studio Project
- Сервисы дистрибуции мобильных приложений для iOS. Часть 4 (заключительная): Fabric (Crashlytics)
- Fabric
- Регистрация и интеграция
- Основной функционал
- Дополнительный функционал
- Continuous Integration
- Заключение
What is fabric android
Краткое описание:
Предлагает ряд панелей для автоматического отображения основных проблем и вместо отправки электронной почты о проблемах, приложение, естественно, использует push-уведомления.
Описание:
Monitor your app on the go and get real-time alerts when something is critically affecting your app. See the information you need to know to triage the issue:
— Full stack traces
— Number of affected users
— Insight into who is affected
We sift through millions of events every day to intelligently bring the most important information to you. So that even before you pull up your laptop, you know where to look for a bug, who on your team to reach out to, and how that could be affecting your metrics.
Always have access to your key metrics — see crash free and daily active users at a glance, and track your currently active users in real time!
Twitter выпустил мобильное приложение Fabric
Twitter выпустил мобильное приложение для пользователей платформы разработки Fabric. Теперь они смогут отслеживать свои продукты на ходу.
Twitter представил платформу для разработчиков мобильных приложений Fabric в октябре 2014 года. Платформа состоит из трёх модульных комплектов, которые призваны решить основные проблемы разработчиков: стабильность, дистрибуцию, доход и идентификацию. Fabric сочетает услуги Twitter, сервиса Crashlytics и рекламной сети MoPub.
Мобильное приложение Fabric доступно для устройств на базе iOS и Android.
Теперь в случае появления каких-либо сбоев в работе своего приложения разработчик получит оповещение. В срочных ситуация уведомления будут включать такую информацию, как количество пострадавших пользователей и какие устройства и платформы были затронуты.
Новинка будет особенно полезна новым компаниям на рынке, которые должны оперативно исправлять баги, чтобы не потерять привлечённых пользователей.
Разработчикам приложений больше не нужно полагаться на настольные компьютеры и ноутбуки, чтобы проверить здоровье своих программ, узнать количество ежемесячных активных пользователей или среднюю продолжительность сессий пользователей, или отыскать сбои, затрагивающие пользователей. Теперь, после пяти месяцев разработки в Twitter, вышло специальное мобильное приложение.
Кликните для увеличения
Новое приложение может особенно пригодиться в нерабочее время. Например, если Runkeeper наиболее активно применяют по выходным, «когда большая часть команды не в офисе», о чём сказали представители Twitter.
Twitter повышает полезность инструментов для разработчиков в большем числе ситуаций. И, кстати, в октябре Twitter сообщили, что Fabric интегрируется с другими инструментами, в том числе Amazon Web Services (AWS), Optimizely и Stripe.
Вместо того, чтобы заставить пользователей приложения создавать кучу фильтров, Fabric сразу предлагает ряд панелей для автоматического отображения основных проблем. и вместо отправки электронной почты о проблемах, приложение, естественно, использует push-уведомления. Оповещения по email, по мнению компании, можно похоронить. Пользователи могут настроить частоту уведомлений и совсем отключить звук, если пожелают.
Требуется Android: 5.0 и выше
Русский интерфейс: Нет
Источник
Пример использования Fabric (Twitter Kit) в Android Studio
В конце октября прошлого года ребята из твиттера запустили Fabric. До сих пор информации о Fabric на русском языке в сети не было, поэтому я решил на примере объяснить, как все работает на примере авторизации, ленты твитов, добавлении твита и выходе из аккаунта.
Для начала вам нужно получить сам Fabric. Для этого вам необходимо оставить здесь адрес почты. Письмо не заставит себя долго ждать, я получил платформу через часа два. После подтверждения вы попадаете на страницу с установкой плагина на вашу IDE.
Выбираем Android Studio, скачиваем плагин.
Установить его тоже очень просто: Preferences -> Plugins -> Install plugin from disk Ставим плагин, перезапускаем IDE и вуаля, у нас на панели инструментов появляется синий значок платформы, при клике на который появляется окно авторизации и выбора проекта, но мы создадим новый.
1. Авторизация
Итак, создаем проект. Снова вызываем окно фабрика, выбираем проект для него. Дальше нужно будет установить Twitter Kit (остальные нам пока неинтересны). Для авторизации в твиттере нам понадобиться выбрать в следующем окне третий вариант с авторизаций(Log in with Twitter). Зависимости, мета даты, твиттер кеи он подтянет сам. В следующих окнах он будет уже просить нас добавить несколько строк кода, ну мы же ему не сможем отказать?
В итоге, наш стартовый xml будет иметь тольку кнопку логина:
В нашем активити тоже все просто:
Билдим, запускаем, пробуем авторизоваться, все работает. Просто? да!
2. Лента твитов
Создадим новое активити на базе ListActivity и будем использовать уже имеющий в инструментарии, адаптер.
Отлично, идем дальше.
3. Пишем свой твит
Идем в javadoc для этого метода и смотрим:
Видим, что единственный обязательный параметр — status. Окей, пишем метод:
Надо заметить, что в нынешней версии добавить к твиту фотографию нельзя. Придется подождать.
4. Logout
И он прервет текущую сессию.
Если сравнивать с тем, какие костыли приходились делать раньше даже с этими 4 функциями, то можно смело сделать вывод, что разработчики Fabric довольно сильно упростили жизнь разработчикам.
Источник
Android Fabric Crashlytics Integration
Posted by: Chryssa Aliferi in Android April 14th, 2016 0 Views
Twitter has recently released a new software development kit. Its name is Fabric and it provides a set of crash reporting and mobile analytics tools for mobile applications. One of the tools that Fabric offers, is Crashlytics. Crashlytics is a crash reporting service, that can track your Android application crashes and lots of statistical information and analytics. Crashlytics is a very known tool, it is completely free of charge and can help you have a very detailed view of your application crashes in the real production world.
Twitter has also created a plugin both for Android Studio as well as for Eclipse, in order to fasten this procedure with very specific details and step by step instructions.
In this example, we will see how we can use Fabric via Android Studio in order to add Crashlytics in our Android application and implement the crash tracking service step by step.
For our example will use the following tools in a Windows 64-bit or an OS X platform:
- JDK 1.7
- Android Studio 1.3.2
- Android SDK 5.1
Let’s take a closer look:
1. Import Fabric plugin into Android Studio
For this example, we have to install the Fabric Plugin for Android Studio. Let’s open Android Studio select Configure > Plugins.
“Welcome to Android Studio” screen. Choose “Configure”.
In the “Configuration” screen choose “Plugins”.
Then we should find the “Fabric” Plugin, download and install it into Android Studio.
Type “Fabric” and click “Browse Directories”.
Download the “Fabric” Plugin into Android Studio.
Restart Android Studio, after “Fabric” plugin download.
2. Create a New Android Application Project (or open a project you want to integrate Crashlytics)
Open Android Studio and choose “Start a new Android Studio Project” in the welcome screen.
“Welcome to Android Studio” screen. Choose “Start a new Android Studio Project”.
Specify the name of the application, the project and the package.
“Configure your new project” screen. Add your application name and the projects package name.
In the next window, select the form factors your app will run on.
“Target Android Devices” screen.
In the next window you should choose to “Add an activity to Mobile”. In our example, we will choose to create a project with no activity, because we will migrate our Activities for the eclipse formed project. So, choose: “Add no activity”.
“Add an activity to Mobile”. Choose: “Add no activity”.
Now, our project has just been created. This is how it looks like in the “Android” project view:
This is how our Android Studio workspace looks like with the new project and the “Fabric” plugin opened.
3. Composing build.gradle file to include Crashlytics
Open build.gradle file, and add the following code:
4. Adding the source code in the starting Activity of our application
We are going now to add the Crashlytics code in our starting Activity.
Open src/main/java/com.javacodegeeks.androidcrashlyticsexample/StartActivity.java file and paste the code below.
5. Android Manifest
The AndroidManifest.xml of our project is simple and contains the permissions:
6. Build and run the application
When we build, compile and run our project, the Fabric web application control panel will start to track crashes and general statistics.
7. Download the Android Studio Project
This was an example of Android Fabric Crashlytics implementation.
Источник
Сервисы дистрибуции мобильных приложений для iOS. Часть 4 (заключительная): Fabric (Crashlytics)
Достаточно известный ранее сервис Crashlytics с осени 2014 года является частью Fabric — набора специализированных SDK (или, как сказано на официальном сайте, “modular, cross-platform mobile development suite”), каждый из которых возможно интегрировать по отдельности, либо совместно. В своем обзоре я остановлюсь только на Crashlytics Kit — сервисе и SDK, отвечающими за дистрибуцию мобильных приложений.
Система оценки: сервисы оцениваются по 10-балльной шкале по каждому из разделов (Регистрация и интеграция, Основной функционал, Дополнительный функционал, Continuous Integration). Суммарная оценка позволит определить победителя.
Fabric
Регистрация и интеграция
Регистрация в сервисе построена на заявительном принципе — каждый желающий создать новый аккаунт может оставить заявку, которая, исходя из нашего опыта, будет рассмотрена в кратчайшие сроки (не так давно заявка нашего сотрудника была одобрена в течение часа). Лишним будет говорить, что интеграция SDK Fabric является быстрой и простой. Ни один другой сервис дистрибуции не предоставляет настолько удобный пошаговый мастер интеграции. Через этот процесс лучше пройти самостоятельно, редкий случай, когда рутинная, как правило, работа, доставляет удовольствие и выполняется с интересом.
Основной функционал
Примечание (обновлено 15 июня 2015): говоря о дистрибуции приложений для iOS необходимо помнить, что на данный момент все сервисы, кроме TestFlight от Apple, по-прежнему должны учитывать ограничение на количество устройств доступных при использовании AdHoc provision profiles. Следовательно, максимум используемых устройств равен 100 на каждое семейство устройств (это условие было изменено 8 июня 2015 года, после объявления на WWDC об объединении всех developers programs в одну), в которые входят в том числе и устройства, используемые непосредственно разработчиками. Самым же большим ограничением является то, что список зарегистрированных устройств можно “обнулять” только раз в год, после продления подписки на iOS Developer Program (возможно в последующем и это условие будет изменено).
В части основного функционала Fabric концептуально отличается от всех других рассмотренных сервисов. Так, например, добавление нового проекта (“приложения” в терминологии Fabric) осуществляется не на сайте сервиса, а в десктопном клиенте:
Добавление новых пользователей/тестировщиков возможно как при помощи приложения-клиента, так и на вебсайте сервиса. В первом случае возможно добавить тестировщика не включая его ни в какую группу:
Во втором же случае необходимо выбрать существующую группу или создать новую, куда и будут добавляться все новые члены команды:
Примечание: Сервис предоставляет возможность для импорта списка тестировщиков из старой версии TestFlight: dev.twitter.com/crashlytics/beta-distribution/testflight-migration. Но этот функционал будет полезным, если вы заранее позаботились об экспорте списка, так как с марта 2015 года старая версия TestFlight уже недоступна.
Импорт списка тестировщиков возможен из CSV-файла, его формат должен быть следующим:
Последующие шаги совпадают с аналогичными шагами у других сервисов: письмо-приглашение, регистрация устройства, установка тестового приложения.
Установить предыдущие версии приложения очень просто, под кнопкой для установки последней версии находится список всех доступных конкретному пользователю версий:
Дополнительный функционал
В предыдущих частях обзора мы уже рассмотрели несколько вариантов реализации дополнительного функционала, помогающего ускорить процесс разработки и исправления допущенных ошибок.
Посмотрим, что же предлагает Fabric.
Первое — это символизация отчётов о падении приложения. И это очевидно даже из оригинального названия сервиса: Crashlytics.
Разработчики SDK прилагают усилия, чтобы сбор и обработка отчётов работали как часы и с максимальной эффективностью. Не утруждая себя пересказом, просто процитирую список с официального сайта:
- Defensive Reporting: processes that crash often end up sustaining considerable damage before the kernel takes action to terminate them. This can result in secondary crashes, where the crash handling code itself is unable to operate correctly and fails. We’ve invested in making our file handling code extremely defensive, so parsing cache files can’t crash unexpectedly.
- Stack Unwinding: one of the most abstruse aspects of crash detection is stack unwinding, the seemingly omniscient ability to determine historic code execution that directly lead to the crash. Our SDK determines the calling instruction that works in the case of objc_msgSend and many other methods that conform to Apple’s iOS ABI.
- Mach Exceptions: we capture crashes using the lowest level system available on iOS and OS X. The Mach Exception API makes it possible for us to capture every crash, consistently, and without some of the indeterminate behavior of other mechanisms. This also gives us data that much more closely matches what a developer would see in Xcode.
- Uncaught exception reporting: when your app throws an uncaught exception, the Crashlytics springs to life. Crashlytics quickly records the stack trace and state of the device at the time the exception was thrown and sends the crash information to our servers for processing. You get complete visibility for every crash, effortlessly.
- Caught exception reporting: Crashlytics isn’t just for uncaught exceptions! Adding a single line of code in your catch block will report caught exceptions to Crashlytics for processing, and you are still free to handle the exception however is best for your users. You get the full stack trace and all the same device information we collect for fatal crashes, so you can identify and fix bugs even if your app doesn’t crash!
- Fully automated deobfuscation: we automate deobfuscation of ProGuarded stack traces for apps built using our ant tools, maven tools or IDE plugins. We did the legwork for you. Built into your existing workflow, our SDK will have negligible impact on your app.
Более подробную информацию можно получить здесь и из пресс-релиза к 3-й версии SDK.
После отправки отчёта с устройства на сервер Fabric (это происходит после перезапуска “упавшего” приложения), сервис рассылает уведомления по электронной почте, а также выводит оповещение на компьютерах с установленным клиентом:
В качестве недостатка можно отметить то, что во втором случае отсуствует возможность запуска Xcode с нужным проектом, классом и выделенной строкой кода (как это сделано в клиенте HockeyApp).
Также возможно настроить интеграцию с трекерами и другими сервисами, после чего уведомления будут передаваться и туда. Большим плюсом является возможность подключения сразу нескольких сервисов. А недостатком — скудность справочной информации, относящейся к данному функционалу.
Примечание: в тестовом проекте была настроена интеграция с Bitbucket и Hipchat. В результате сообщения о новых падениях приходили только в Hipchat, новые тикеты в Bitbucket не создавались.
Fabric предоставляет возможность повысить полезность связанной с отчётами о падении информации при помощи трёх дополнительных инструментов:
Custom keys: фреймворк предоставляет специальные методы, позволяющие сохранить значения переменных, критически важных для последующего анализа.
Примечание: максимальное количество переменных — 64. Подробнее можно узнать тут.
Custom logging: использование макроса “CLS_LOG” позволяет записывать служебные сообщения в лог устройства, однако в отличие от стандартного NSLog при использовании этого макроса лог будет прикреплён к отчёту о падении (подробнее).
Примечание: в отчёте сохраняется весь лог целиком с момента запуска приложения. Есть возможность поиска по логу с использованием регулярных выражений.
User information: также есть возможность идентифицировать пользователя приложения (идентификатор, имя и адрес почты — подробнее). При использовании необходимо учитывать политику Apple в отношении персональных данных.
Для использования не требуется дополнительных действий, при условии интеграции Fabric SDK, вся информация будет собираться в автоматическом режиме. Подробнее о сервисе можно узнать тут.
Continuous Integration
Примечание: Описанные далее нюансы использования сервисов как части непрерывной интеграции (continuous integration) в данном обзоре подразумевают, что она будет делаться на основе решения, предлагаемого компание Apple. То есть при помощи Mac OS X Server и Xcode bots — подробно на организации такой интеграции я не буду останавливаться, возможно это станет темой для отдельной статьи. Желающие могут ознакомиться с темой самостоятельно, например, обратившись к официальному руководству от Apple.
Для использования API загрузки дистрибутива приложения необходимо получить API_KEY и BUILD_SECRE. Узнать их можно на странице “Settings -> Organizations -> страница с детальной информацией для конкретной организации -> скрытые поля под названием организации”:
Загрузка осуществляется при помощи специальной утилиты, которая включена в фреймворк, пример использования:
Примечание: emails, notesPath и groupAliases — необязательные параметры.
Полный список параметров:
Справочная страница на официальном сайте: http://support.crashlytics.com
Итого суммарная оценка по всем разделам: 34 балла.
Заключение
В своём обзоре я постарался рассмотреть плюсы и минусы четырёх сервисов дистрибуции мобильных приложений для iOS, а также оценить их. Признаюсь, изначально мне казалось, что победитель очевиден, но в итоге, после более тщательного изучения, всё не так однозначно.
По формальным критериям суммарной оценки сервисы распределились следующим образом:
- Fabric — 34 балла.
- HockeyApp — 33 балла.
- Ubertesters — 32 балла.
- Testflight — 15 баллов.
На первом месте Fabric, самыми большими достоинствами этого сервиса является бесплатность, высокая эффективность в сборе и обработке отчётов о падениях. Из недостатков можно отметить некоторую ориентированность на разработчиков* и отсутствие встроенной системы сбора отзывов.
*Здесь я подразумеваю узкую специализацию сервиса: если какой-либо член команды не является разработчиком, то в приложении ему недоступен никакой другой дополнительный функционал (кроме того что требуется от приложения по спецификации). И если приложение работает без падений, для предоставления отзыва потребуется использование какого-то другого сервиса.
Второе и третьте место у HockeyApp и Ubertesters — разница в оценках всего 1 балл.
Плюсами HockeyApp является поддержка символизации отчётов о падении и более тесная, в сравнении с другими сервисами, интеграция с Xcode (открытие проекта/класса на строке вызвавшей падение приложения). Из недостатков можно отметить отсутствие нормального бесплатного тарифного плана и ограниченность имеющейся системы сбора отзывов.
Ubertesters на данный момент выглядит самым интересным, с точки зрения дальнейших перспектив, сервисом. Развитая система сбора отзывов и система отслеживания действий тестировщиков позволяет решать определенный круг задач с максимальной эффективностью. Отсутствие встроенной поддержки символизации отчётов о падении на данный момент является недостатком, но я верю, что с дальнейшим развитием он будет устранён. Наличие же бесплатного тарифного плана с доступом ко всему основному функционалу также является большим преимуществом сервиса.
TestFlight, разместившийся на последнем месте, выглядит аутсайдером, но я думаю, что это временное положение и с дальнейшим развитием как сервиса, так и всей эко-системы разработки от Apple, он вполне может потеснить текущих лидеров, последние новости с WWDC 2015 вселяют определенный оптимизм.
Надеюсь, что серия обзоров получилась полезной и смогла кому-то с выбором подходящего сервиса для распространения своего приложения. Буду рад ответить на дополнительные вопросы.
Источник