Android: интеграция Crashlytics в библиотеку Android, которая будет распространяться как AAR

Мы создаем Android SDK для некоторых наших клиентов, который будет распространяться как AAR. Мы хотим интегрировать Crashlytics или какой-либо другой SDK для отчетов о сбоях в наш SDK, чтобы в случае любого сбоя в нашем SDK о нем сообщалось нам (а не клиенту).

Нашим клиентам должно быть удобно добавлять ссылку на репозиторий maven Fabric в файле build.gradle проекта.

Я хочу понять, есть ли способ сделать это??

Здесь Майк (разработчик из Fabric) предполагает, что это невозможно и не рекомендуется, если родительское приложение не является решающим фактором для инициализации Fabric. В этом случае, если родительское приложение инициализирует Crashlytics, будет ли оно работать?


person thrust    schedule 06.06.2017    source источник


Ответы (1)


Майк (снова) из Fabric.

Позвольте мне уточнить, что включение Fabric в SDK, который распространяется на другие приложения, вызовет проблемы как для приложения, так и для вашего SDK. Не поставляйте Fabric в SDK, распространяемых извне.

person Mike Bonnell    schedule 07.06.2017
comment
Большое спасибо, Майк, за эту информацию. О каких проблемах мы говорим? Предположим, что наш клиент не будет использовать crashlytics в своем родительском приложении, и мы можем попросить его включить путь репозитория maven к Fabric в его build.gradle. Если есть какие-то проблемы, возникающие из-за того, что SDK и родительское приложение запускают независимые крашлитики, в этом случае я думаю, что мы можем прийти к консенсусу с нашими клиентами и попросить их не использовать крашлитики с родительским приложением. Будут ли другие проблемы?? Спасибо еще раз :) - person thrust; 07.06.2017
comment
Fabric можно инициализировать только один раз в любом приложении, поэтому, если ваш SDK инициализирует Fabric, если родительское приложение также инициализирует Fabric, то в зависимости от того, какое из них будет инициализировано первым, этот вызов получит отчет о сбое. Кроме того, хотя сейчас у вас может быть консенсус, он может измениться, и будущие разработчики могут не знать, что ваш SDK запускает Fabric. Есть проблемы с конфиденциальностью. Конечные пользователи клиентского приложения не знают, что данные могут быть переданы вам, поскольку они не могут заключить с вами соглашение, только приложение. Каждый клиент должен будет согласиться с тем, что его код может отображаться в отчетах, которые вы получаете. Не используйте ткань. - person Mike Bonnell; 07.06.2017