Не удалось получить настройки с https://settings.crashlytics.com/spi/v2/platforms/android/apps/.
Я пробую новую настройку Firebase/Crashlytics и, похоже, столкнулся со странной проблемой.
- У меня есть одна кодовая база Android с несколькими вариантами продуктов, и каждый вариант - это отдельное отдельное приложение.
- все эти приложения зарегистрированы в Fabric (из прошлого)
- все эти приложения добавлены в Firebase
- Все связи между ними кажутся нормальными (как со стороны Fabric, так и со стороны Firebase, это говорит о том, что все они связаны)
- Я удалил ключ API Fabric из файла манифеста и добавил соответствующие плагины/зависимости и т.д. В оба файла Gradle
Я пытаюсь отправить тестовый отчет о сбое в соответствии с инструкциями Firebase.
- Я получаю его отлично на одном из продуктов, поэтому я полагаю, что все работает хорошо.
Тем не менее,
- остальные версии продукта не отправляют отчет о сбое, и я получаю эту ошибку в журнале:
E/Fabric: Failed to retrieve settings from https://settings.crashlytics.com/spi/v2/platforms/android/apps/package name/settings
Ответы
Ответ 1
Хорошо, я решил, что решил проблему, но решение, похоже, не так, как должно работать (по крайней мере, я не думаю).
- Перейдите в Firebase Console > Настройки проектa > Учетная запись > Ткань > Выберите приложение и отпустите его
- Confim in Fabric > App > Firebase - что это несвязано
- Перейдите в Firebase > Project > Crashlytics (выберите нужное приложение), и теперь вы должны получить диалог, чтобы связать ваше приложение снова
- Выберите ссылку как новую Crashlytics (не существующую) и следуйте инструкциям
- После этого все должно работать нормально
Так что, в основном, из Fabric > Firebase screen - нет видимой ссылки и из Firebase > Link Linking > Fabric screen - также нет видимых ссылок. Так что никаких ссылок, но ваши сбои будут видны в Firebase.
Ответ 2
Это занимает у меня много времени, чем я понял, как правильно мигрировать. На самом деле у вас есть два способа сделать это:
Выполните чистую миграцию, не сохраняя историю сбоев из Fabric Crashlytics
Этот способ описан в руководстве разработчика Firebase Crashlytics. Здесь вы должны удалить com.crashlytics.ApiKey
meta-data
из файла манифеста приложения.
Таким образом, вы не должны связывать Fabric с Firebase, иначе сбои не будут отображаться ни в Firebase, ни в консоли Fabric.
Link Fabric с Firebase и ведение истории сбоев
Этот способ, вероятно, нигде не задокументирован. Важно, чтобы com.crashlytics.ApiKey
meta-data
был в вашем манифесте. Затем вам нужно связать Fabric Crashlytics с Firebase. Вы также можете включить пересылку событий (ранее Ответы) в Firebase Analytics. Оба действия представлены в консоли Fabric, найдите Firebase в боковом меню.
Все новые отчеты о сбоях отображаются как в консоли Fabric, так и в консоли Firebase. Также эта ссылка организует копирование всей истории отчетов о сбоях Fabric в Firebase.
Я думаю, что артефакт firebase-core
здесь не нужен, но я добавил его. Я также использую Fabric Events, поэтому с firebase-core
в Firebase Analytics появились дополнительные события использования приложений.
Ответ 3
Перейдите к настройкам проекта и добавьте ключ SHA-1 для своего приложения для Android.
После этого повторно загрузите google-service.json в свои источники.
Это приводит к исчезновению этой ошибки
E/Fabric: Failed to retrieve settings from https://settings.crashlytics.com/spi/v2/platforms/android/apps/package name/settings
И после довольно большой задержки вы увидите сбои в Firebase Console.
Кстати, это не помогает мне с приложениями, которые были зарегистрированы в одной учетной записи Google, и после этого перешел на другую учетную запись. Wiating для ответа команды Firebase об этой проблеме.
Ответ 4
В моем случае расположение метаданных: io.fabric.ApiKey было неверным.
- приложение /SRC/главная /AndroidManifest.xml
Перед
<application
...>
<activity
...>
<meta-data
android:name="io.fabric.ApiKey"
android:value="xxxxxx" />
</activity>
</application>
после
<application
...>
<activity
...>
</activity>
<meta-data
android:name="io.fabric.ApiKey"
android:value="xxxxxx" />
</application>
Я надеюсь, что это поможет.
Ответ 5
У меня была та же проблема, и мне потребовалось много времени, чтобы разобраться.
Я решил свою проблему, перейдя к FireBase Console > [my project] > Crashlytics
. В раскрывающемся списке вам нужно выбрать приложение. После этого появится мастер с тремя шагами.
![first step of setup]()
Выберите любой вариант, который вам подходит, я выбрал первый, потому что это новое приложение. После этого появляется второй шаг.
![second step of setup]()
Теперь здесь важная часть. Не забудьте нажать на ссылку, чтобы перейти к документации! Откроется новая вкладка браузера. Если вы уже завершили настройку проекта, как я, вы можете закрыть его. После этого вы автоматически перейдете к 3-му варианту. Большую часть времени я никогда не нажимал на ссылку, потому что я уже завершил установку. И как только я это сделал, я никогда не замечал, что третий вариант доступен, потому что я на другой вкладке. В результате я никогда не видел третий вариант.
На этом этапе вы должны открыть свое приложение, и оно автоматически подключится к Firebase без каких-либо проблем.
Изменить: После того, как я попытался добавить некоторые другие варианты сборки, я заметил, что у меня все еще есть некоторые ошибки при получении настроек. Мне потребовалось много времени, чтобы понять, как ее решить. Лучшее, что я могу придумать:
- перейти на вариант сборки
- выполнить сборку [YOUR_BUILD_VARIANT] на вкладке Gradle.
- построить> перестроить проект
- удалить старое приложение с устройства, если оно есть.
- установите приложение и откройте его.
Иногда это тоже не срабатывало, и я пытался повторить те же шаги один или два раза, и вдруг это начинало работать...
Это также помогло мне включить дополнительное ведение журнала отладки для матрицы и сбоев.
adb shell setprop log.tag.Fabric DEBUG
adb shell setprop log.tag.CrashlyticsCore DEBUG
Ответ 6
Перейдите в Консоль Firebase> Настройки проекта> Связывание учетной записи> Fabric> Выберите приложение и отмените его связь
Подтвердите в Fabric> App> Firebase - что он не связан
Перейдите в Firebase> Проект> Crashlytics (выберите приложение, которое вы хотите), и теперь вы должны получить диалог, чтобы снова связать ваше приложение
Выберите ссылку как новый Crashlytics (не существует) и следуйте инструкциям