https://settings.crashlytics.com/spi/v2/platforms/android/apps/ 에서 설정을 검색하지 못했습니다.
새로운 Firebase/Crashlytics 설정을 시도 중인데 이상한 문제가 발생한 것 같습니다.
- 나는 여러 제품의 맛을 가진 하나의 안드로이드 코드 베이스를 가지고 있고 각각의 맛은 개별 앱입니다.
- 이 모든 앱은 패브릭에 등록되어 있습니다(과거부터).
- 이 모든 앱은 Firebase에 추가되었습니다.
- 둘 사이의 모든 연결은 괜찮아 보입니다(Fabric 측과 Firebase 측에서 모두 연결되어 있다고 표시됨).
- 매니페스트 파일에서 Fabric API 키를 제거하고 두 Gradle 파일에 적절한 플러그인/의존성 등을 추가했습니다.
파이어베이스 지침에 따라 테스트 충돌 보고서를 보내려고 합니다.
- 제품 맛 중 하나는 완벽하게 잘 받아서 모든 게 잘 되는 것 같아요.하지만,
- 나머지 제품 맛은 충돌 보고서를 보내지 않으며 로그에 다음 오류가 표시됩니다.
E/Fabric:https://settings.crashlytics.com/spi/v2/platforms/android/apps/package 이름/주소에서 설정을 검색하지 못했습니다.
좋아요, 문제를 해결했다고 생각하지만, 해결책은 작동 방식이 아닌 것 같습니다(적어도 저는 생각하지 않습니다).
- Firebase Console > Project Settings > Account Linking > Fabric > 앱 선택 후 연결 해제
- 패브릭 > 앱 > Firebase - 연결 해제 여부 확인
- Firebase > Project > Crashlytics(원하는 앱 선택)로 이동하면 앱을 다시 연결할 수 있는 대화상자가 나타납니다.
- 새 충돌 분석(기존 분석이 아님)으로 연결하려면 이 항목을 선택하고 지침을 선택합니다.
- 그 후에는 모든 것이 잘 작동할 것입니다.
그래서 기본적으로 패브릭에서 >Firebase 화면 - Firebase에서 볼 수 있는 링크가 없음>Account Linking > Fabric 화면 - 또한 링크가 보이지 않습니다.연결은 안되지만, 당신의 충돌은 파이어베이스에서 볼 수 있습니다.
이 작업은 올바르게 마이그레이션하는 방법을 파악하는 것보다 많은 시간이 걸립니다.실제로 두 가지 방법이 있습니다.
패브릭 충돌 분석으로부터 충돌 기록을 유지하지 않고 마이그레이션 정리 수행
이 방법은 Firebase Crashlytics 개발자 안내서에 설명되어 있습니다.여기서 제거해야 합니다.
com.crashlytics.ApiKeymeta-data앱 매니페스트 파일에서.이러한 방식으로 패브릭을 Firebase와 연결하지 마십시오. 그렇지 않으면 충돌이 Firebase 또는 패브릭 콘솔에 표시되지 않습니다.
패브릭을 Firebase와 연결하고 충돌 기록 유지
이 방법은 아마 어디에도 기록되어 있지 않을 것입니다.중요한 것은 당신의 매니페스토에 보관해야
meta-data하는 것입니다.그런 다음 Fabric Crashlytics를 Firebase와 연결해야 합니다.또한 이벤트(이전의 응답)를 Firebase Analytics로 전달할 수 있습니다.두 가지 작업이 모두 패브릭 콘솔에 표시됩니다. 사이드 메뉴에서 Firebase를 찾습니다.모든 새 충돌 보고서는 패브릭 콘솔과 Firebase 콘솔에 모두 표시됩니다.또한 이 링크를 통해 모든 패브릭 충돌 보고서 기록을 Firebase에 복사할 수 있습니다.
생각합니다
firebase-core아티팩트는 여기서 필요하지 않지만, 제가 추가했습니다.Events를 Fabric Events와 함께 ㅠㅠㅠㅠㅠㅠㅠfirebase-core추가 앱 사용 이벤트가 Firebase Analytics에 표시되었습니다.
저도 같은 문제가 있었고 해결하는 데 많은 시간이 걸렸습니다.는 저는제문해니다습했결를에 했습니다.FireBase Console > [my project] > Crashlytics드롭다운에서 앱을 선택해야 합니다.그런 다음 세 단계의 마법사가 나타납니다.
당신에게 맞는 옵션을 클릭하세요, 저는 새로운 앱이기 때문에 첫 번째를 선택했습니다.그런 다음 두 번째 단계가 나타납니다.
여기서 중요한 부분이 나옵니다.설명서로 이동하려면 링크를 클릭해야 합니다!새 브라우저 탭이 열립니다.저처럼 이미 프로젝트 설정을 마쳤다면 닫을 수 있습니다.그런 다음 세 번째 옵션으로 자동 이동합니다.대부분의 경우 이미 설치를 완료했기 때문에 링크를 클릭하지 않았습니다.한 번은 다른 탭에 있기 때문에 세 번째 옵션을 사용할 수 있다는 사실을 전혀 몰랐습니다.결과적으로 저는 세 번째 옵션을 보지 못했습니다.
이 시점에서 앱을 열면 문제 없이 Firebase에 자동으로 연결됩니다.
편집: 다른 빌드 변형을 추가하려고 시도한 후 설정을 검색하는 동안 일부 오류가 발생하는 것을 발견했습니다.그것을 해결하는 방법을 알아내는 데 많은 시간이 걸렸습니다.제가 생각해낸 가장 좋은 것은:
- 빌드 변형으로 전환
- 그래들 탭에서 어셈블리[YOUR_BUILD_VARANT]를 수행합니다.
- build > rebuild 프로젝트
- 이전 앱이 있는 경우 장치에서 삭제합니다.
- 앱을 설치하고 엽니다.가끔은 이것도 효과가 없었고 같은 단계를 한두 번 더 시도했는데 갑자기 효과가 나타나기 시작했습니다.
또한 패브릭 및 충돌 분석에 대한 추가 디버그 로깅을 사용할 수 있도록 지원했습니다.
adb shell setprop log.tag.Fabric DEBUG
adb shell setprop log.tag.CrashlyticsCore DEBUG
비행기 모드와 같이 네트워크 연결이 있는 경우 모든 것이 올바르게 설정되어 있더라도 이 오류가 발생합니다.
또한 다음과 같은 이점이 있습니다.
E/Fabric﹕ Failed to retrieve settings from https://settings.crashlytics.com/spi/v2/platforms/android/apps/com.xyz/settings
W/Fabric﹕ Received null settings, skipping initialization!
기록 시 충돌 분석이 더 이상 중단되는 것을 방지하기 위해 다음 작업을 수행합니다.
boolean fabricInitialized = Fabric.isInitialized();
if (fabricInitialized) {
Crashlytics.log(someString);
}
프로젝트 설정으로 이동하여 안드로이드 앱의 SHA-1 키를 추가합니다.그런 다음 Google-service.json을 소스에 다시 다운로드합니다.이로 인해 이 오류가 사라집니다.
E/Fabric: Failed to retrieve settings from https://settings.crashlytics.com/spi/v2/platforms/android/apps/package name/settings
상당히 지연된 후 Firebase Console에서 충돌이 발생합니다.
그런데 이것은 한 구글 계정에 등록된 앱들과 다른 계정으로 이동하는 데 도움이 되지 않습니다.이 문제에 대한 Firebase 팀의 답변을 기다립니다.
다음을 추가하는 것을 잊으셨을 것입니다.
<meta-data
android:name="io.fabric.ApiKey"
android:value="h4132h4k324hjh4l4324h24hk21h4kj2h4" />
매니페스트 파일로 이동합니다.적어도 제 경우에는, 그것이 이유였습니다.
저의 경우 meta-data:io.fabric.ApiKey의 위치가 잘못되었습니다.
- app/src/main/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>
이것이 도움이 되길 바랍니다.
Firebase Crashlytics로 전환한 후 기존 앱의 등록을 취소하고 Firebase에 다시 등록해야 했습니다.
초기 Firebase Crashlytics 등록을 위해 앱을 실행하기 전에 다음 지점으로 이동해야 합니다(콘솔이 초기 등록을 기다립니다). 그렇지 않으면 등록되지 않습니다. 여기에 이미지 설명을 입력하십시오.
이 중 어느 것도 명백하지 않습니다!
Firebase Crashlytics SDK Android & iOS로 업그레이드합니다.
이제 다른 Firebase 제품과 더욱 일관되고 사용하기 쉬운 향상된 API를 제공하는 새로운 공식 Firebase Crashlytics SDK를 사용하여 앱에서 Crashlytics를 설정할 수 있습니다.이 가이드에서는 Fabric Crashlytics SDK에서 새 SDK로 업그레이드하는 방법을 설명합니다.새 API와 함께 제공되는 변경 사항, 변경 이유 및 필요한 경우 코드를 업데이트하는 방법에 대해 설명합니다.
안드로이드
전제 조건:AndroidX로 앱 마이그레이션
Firebase 구성 파일 추가
- 프로젝트 설정을 엽니다.
- Google-services.json 다운로드를 클릭하여 Firebase Android 구성 파일을 가져옵니다.
- 구성 파일을 앱의 모듈(앱 수준) 디렉터리로 이동합니다.
종속성 전환
(프로젝트 레벨)/build.gradle
사용되지 않는 시작:
buildscript {
// ...
repositories {
// ...
// Remove Fabric's Maven repository.
maven { url 'https://maven.fabric.io/public' }
// Add Google's Maven repository (if it's not there already).
google()
}
dependencies {
// ..
// Add the Google Services Gradle plugin (if it's not there already).
classpath 'com.google.gms:google-services:4.3.3'
// Remove the Fabric Gradle plugin.
classpath 'io.fabric.tools:gradle:1.31.2'
}
}
받는 사람:
buildscript {
// ...
repositories {
// ...
// Add Google's Maven repository (if it's not there already).
google()
}
dependencies {
// ..
// Add the Google Services Gradle plugin (if it's not there already).
classpath 'com.google.gms:google-services:4.3.3'
// Add the Firebase Crashlytics Gradle plugin.
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.1.0'
}
}
(앱 수준)/build.gradle
마지막으로 Firebase Crashlytics SDK를 추가합니다.애플리케이션 수준의 build.gradle에서 기존 Fabric Crashlytics SDK를 새 Firebase Crashlytics SDK로 교체합니다.Firebase Crashlytics를 사용하여 최적의 환경을 얻으려면 Google Analytics용 Firebase SDK를 앱에 추가하는 것이 좋습니다(사용자와 빵 부스러기가 없는 실시간 사용자를 얻으려면 버전 17.2.3 이상을 추가하십시오).
사용되지 않는 시작:
apply plugin: 'com.android.application'
// Apply the Google Services plugin (if it's not there already).
apply plugin: 'com.google.gms.google-services'
// Remove the Fabric plugin.
apply plugin: 'io.fabric'
dependencies {
// Remove the Fabric Crashlytics SDK.
implementation 'com.crashlytics.sdk.android:crashlytics:2.10.1'
// Recommended: Add the Google Analytics SDK.
implementation 'com.google.firebase:firebase-analytics:17.4.1'
}
받는 사람:
apply plugin: 'com.android.application'
// Apply the Google Services plugin (if it's not there already).
apply plugin: 'com.google.gms.google-services'
// Add the Firebase Crashlytics plugin.
apply plugin: 'com.google.firebase.crashlytics'
dependencies {
// Add the Firebase Crashlytics SDK.
implementation 'com.google.firebase:firebase-crashlytics:17.0.0'
// Recommended: Add the Google Analytics SDK.
implementation 'com.google.firebase:firebase-analytics:17.4.1'
}
코드 업데이트
- Crashlytics.log가 이제 인스턴스 메서드입니다.
Fabric: 패릭에서:Crashlytics.log("my message");
Firebase Crashlytics SDK로 이동:
FirebaseCrashlytics crashlytics = FirebaseCrashlytics.getInstance();
// To log a message to a crash report, use the following syntax:
crashlytics.log("E/TAG: my message");
- 충돌 방법이 제거되었습니다.
Fabric: 패릭에서:Crashlytics.getInstance().crash().
Firebase Crashlytics SDK로 이동:
throw RuntimeException("Test Crash")
이제 Firebase Crashlytics는 새로운 Firebase Crashlytics SDK에 정의된 ContentProvider를 사용하여 자동으로 시작됩니다.패브릭에 대한 호출을 제거합니다.그들이 존재하는 경우 193과 함께.Firebase Crashlytics를 이미 사용 중인 경우 앱이 이미 자동 시작을 사용하고 있을 수 있으며 Fabric에 대한 호출이 포함되어 있지 않을 수 있습니다.193과 함께
GL
새로운 Firebase SDK를 17.0.0+ 버전으로 업그레이드할 때 이 문제를 발견했습니다.
우리가 여러 가지 맛을 사용할 때 문제가 발생했습니다.별도의 플레이버 - 디버그를 사용하고 있으며 파이어베이스에도 연결되어 있는 경우 앱 루트에 구글-services.json 파일을 추가하는 대신 플레이버 전용 json 파일을 플레이버 - app -> src -> (flavor 폴더)에 대한 적절한 폴더에 추가해야 합니다.
이렇게 하면 생성된 코드가 맛에 대한 올바른 클라이언트 ID를 가지게 됩니다.
이것은 어리석은 실수이지만 사람들이 그것을 놓칠 가능성이 있습니다.
먼저 콘솔에서 프로젝트의 Crashlytics 탭에서 Crashlytics를 활성화하거나(Crashlytics의 모든 종속성을 추가하기 전 또는 후) 이 링크에 나와 있는 다음 단계를 수행해야 합니다.
https://firebase.google.com/docs/crashlytics/get-started?authuser=0&platform=://firebase.google.com/docs/crashlytics/get-started?authuser=0&platform=android
인터넷 연결을 확인한 후 Firebase 콘솔에서 앱에 대한 Crashlytics를 활성화하여 이 문제를 해결했습니다(그 후 앱을 다시 시작하면 모두 정상적으로 작동합니다).
앱 연결을 해제하지 않고 작동하기를 원하는 사람들을 위해 이 답변을 게시합니다.Firebase Crashlytics.
이를 달성하기 위해서는 다음과 같은 작업을 수행해야 합니다.
패브릭 API 키를 다시 추가합니다.AndroidManifest~하듯이metadata.
<meta-data
android:name="io.fabric.ApiKey"
android:value="fabric_api_key"
/>
초기화Fabric.
Fabric.with(this, new Crashlytics());
이 두 단계를 수행한 후Crashlytics앱의 연결을 해제하지 않고 다시 작동을 시작합니다.
언급URL : https://stackoverflow.com/questions/49192218/failed-to-retrieve-settings-from-https-settings-crashlytics-com-spi-v2-platfor
'programing' 카테고리의 다른 글
| 후행 0.0을 자릅니다. (0) | 2023.06.13 |
|---|---|
| 인덱스 온 뷰(Oracle) (0) | 2023.06.13 |
| 각도 형식 필드를 수동으로 유효하지 않게 설정하려면 어떻게 해야 합니까? (0) | 2023.06.08 |
| Xcode 7의 "변환 전용 계층에서 속성 마스크 ToBounds 변경, 영향을 미치지 않음" (0) | 2023.06.08 |
| @angular/cdk-experimental이 있는 Angular 재료 2 표에서 가상 스크롤 사용 (0) | 2023.06.08 |

