Не удалось получить настройки с https://settings.crashlytics.com/spi/v2/platforms/android/apps/.

Я пробую новую настройку Firebase/Crashlytics и, похоже, столкнулся со странной проблемой.

  • У меня есть одна кодовая база Android с несколькими вариантами продуктов, и каждый вариант - это отдельное отдельное приложение.
  • все эти приложения зарегистрированы в Fabric (из прошлого)
  • все эти приложения добавлены в Firebase
  • Все связи между ними кажутся нормальными (как со стороны Fabric, так и со стороны Firebase, это говорит о том, что все они связаны)
  • Я удалил ключ API Fabric из файла манифеста и добавил соответствующие плагины/зависимости и т.д. В оба файла Gradle

Я пытаюсь отправить тестовый отчет о сбое в соответствии с инструкциями Firebase.

  1. Я получаю его отлично на одном из продуктов, поэтому я полагаю, что все работает хорошо. Тем не менее,
  2. остальные версии продукта не отправляют отчет о сбое, и я получаю эту ошибку в журнале:

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

Это занимает у меня много времени, чем я понял, как правильно мигрировать. На самом деле у вас есть два способа сделать это:

  1. Выполните чистую миграцию, не сохраняя историю сбоев из Fabric Crashlytics

    Этот способ описан в руководстве разработчика Firebase Crashlytics. Здесь вы должны удалить com.crashlytics.ApiKey meta-data из файла манифеста приложения.

    Таким образом, вы не должны связывать Fabric с Firebase, иначе сбои не будут отображаться ни в Firebase, ни в консоли Fabric.

  2. 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-му варианту. Большую часть времени я никогда не нажимал на ссылку, потому что я уже завершил установку. И как только я это сделал, я никогда не замечал, что третий вариант доступен, потому что я на другой вкладке. В результате я никогда не видел третий вариант.

third step of setup На этом этапе вы должны открыть свое приложение, и оно автоматически подключится к Firebase без каких-либо проблем.

Изменить: После того, как я попытался добавить некоторые другие варианты сборки, я заметил, что у меня все еще есть некоторые ошибки при получении настроек. Мне потребовалось много времени, чтобы понять, как ее решить. Лучшее, что я могу придумать:

  1. перейти на вариант сборки
  2. выполнить сборку [YOUR_BUILD_VARIANT] на вкладке Gradle.
  3. построить> перестроить проект
  4. удалить старое приложение с устройства, если оно есть.
  5. установите приложение и откройте его. Иногда это тоже не срабатывало, и я пытался повторить те же шаги один или два раза, и вдруг это начинало работать...

Это также помогло мне включить дополнительное ведение журнала отладки для матрицы и сбоев.

adb shell setprop log.tag.Fabric DEBUG
adb shell setprop log.tag.CrashlyticsCore DEBUG

Ответ 6

Перейдите в Консоль Firebase> Настройки проекта> Связывание учетной записи> Fabric> Выберите приложение и отмените его связь Подтвердите в Fabric> App> Firebase - что он не связан Перейдите в Firebase> Проект> Crashlytics (выберите приложение, которое вы хотите), и теперь вы должны получить диалог, чтобы снова связать ваше приложение Выберите ссылку как новый Crashlytics (не существует) и следуйте инструкциям