Skip to content

Crashlytics 6.13 fails installed via UPM #652

@CoderGamester

Description

@CoderGamester

Please fill in the following fields:

Unity editor version: 2019.3.5f
Firebase Unity SDK version: 6.13.0
Source you installed the SDK (.unitypackage or Unity Package Manager): Unity Package Manager
Firebase plugins in use (Auth, Database, etc.): Crashlytics
Additional SDKs you are using (Facebook, AdMob, etc.): None
Platform you are using the Unity editor on (Mac, Windows, or Linux): Mac
Platform you are targeting (iOS, Android, and/or desktop): Android & iOS
Scripting Runtime (Mono, and/or IL2CPP):IL2CPP

Please describe the issue here:

The new Firebase Crashlytics fails to work both on iOS and Android when build from banchmode.
This can be checked by installing the quickstart crashlytics sample project with the new UPM package version.
I get this error during build:

Crashlytics could not send build event. Error: HTTP_REDIRECT_ERROR 

Failed to run 'python "/Users/CoderGamester/Desktop/quickstart-unity-master/crashlytics/testapp/Library/PackageCache/com.google.firebase.app@6.13.0/Firebase/Editor/network_request.py" post --url "https://api.crashlytics.com/spi/v1/platforms/android/apps/com.bundle.id/built" --header "X-CRASHLYTICS-DEVELOPER-TOKEN:771b48927ee581a1f2ba1bf60629f8eb34a5b63f" --header "X-CRASHLYTICS-API-KEY:b31affb49555c728973bc1404fdb29ee26b22acc" --header "X-CRASHLYTICS-API-CLIENT-ID:firebase.crashlytics.client.unity" --header "X-CRASHLYTICS-API-CLIENT-DISPLAY-VERSION:crashlytics_editor_not_found" --header "X-CRASHLYTICS-API-CLIENT-BUILD-VERSION:crashlytics_editor_not_found" --body "app_name=com.bundle.id&app_identifier=com.bundle.id&base_identifier=com.bundle.id&platform_id=android&unity_version=2019.3.5f1" --timeout 5'
stdout:
[INFO] Parsing headers: ['X-CRASHLYTICS-DEVELOPER-TOKEN:771b48927ee581a1f2ba1bf60629f8eb34a5b63f', 'X-CRASHLYTICS-API-KEY:b31affb49555c728973bc1404fdb29ee26b22acc', 'X-CRASHLYTICS-API-CLIENT-ID:firebase.crashlytics.client.unity', 'X-CRASHLYTICS-API-CLIENT-DISPLAY-VERSION:crashlytics_editor_not_found', 'X-CRASHLYTICS-API-CLIENT-BUILD-VERSION:crashlytics_editor_not_found']
[INFO] Sending network request -
[INFO] 	Url: https://api.crashlytics.com/spi/v1/platforms/android/apps/com.bundle.id/built
[INFO] Received Network response -
[INFO] 	Status code: 302
[ERROR] Request (https://api.crashlytics.com/spi/v1/platforms/android/apps/com.bundle.id/built) failed with status code 302


stderr:

exit code: 5

On android I was able to find that Firebase.Crashlytics.Editor.VersionInfo:GetEditorGvhVersio is hardcoded to search for configs in Assets/Firebase/Editor because of the following error during build time

AssetDatabase.FindAssets: Folder not found: 'Assets/Firebase/Editor'
UnityEngine.DebugLogHandler:Internal_Log(LogType, LogOption, String, Object)
UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
UnityEngine.Logger:Log(LogType, Object)
UnityEngine.Debug:LogWarning(Object)
UnityEditor.<FindInFolders>d__27`1:MoveNext() (at /Users/builduser/buildslave/unity/build/Editor/Mono/AssetDatabase/AssetDatabaseSearching.cs:93)
UnityEditor.<FindAllAssets>d__25:MoveNext() (at /Users/builduser/buildslave/unity/build/Editor/Mono/AssetDatabase/AssetDatabaseSearching.cs:37)
System.Linq.SelectEnumerableIterator`2:ToArray()
System.Linq.Enumerable:ToArray(IEnumerable`1)
UnityEditor.AssetDatabase:FindAssets(SearchFilter) (at /Users/builduser/buildslave/unity/build/Editor/Mono/AssetDatabase/AssetDatabaseSearching.cs:31)
UnityEditor.AssetDatabase:FindAssets(String, String[]) (at /Users/builduser/buildslave/unity/build/Editor/Mono/AssetDatabase/AssetDatabaseSearching.cs:26)
Firebase.Crashlytics.Editor.VersionInfo:GetEditorGvhVersion() (at Z:\tmp\tmp.L9NW4gXiEw\firebase\crashlytics\client\unity\editor\src\VersionInfo.cs:42)
Firebase.Crashlytics.Editor.BuildEventPostBuild:SendBuildEventAsync(BuildEvent) (at Z:\tmp\tmp.L9NW4gXiEw\firebase\crashlytics\client\unity\editor\src\BuildEventPostBuild.cs:83)
Firebase.Crashlytics.Editor.BuildEventPostBuild:OnPostprocessBuild(BuildTarget, String) (at Z:\tmp\tmp.L9NW4gXiEw\firebase\crashlytics\client\unity\editor\src\BuildEventPostBuild.cs:66)
System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&)
System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)
System.Reflection.MethodBase:Invoke(Object, Object[])
UnityEditor.Build.AttributeCallbackWrapper:OnPostprocessBuild(BuildReport) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildPipelineInterfaces.cs:177)
UnityEditor.Build.<>c__DisplayClass17_0:<OnBuildPostProcess>b__1(IPostprocessBuildWithReport) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildPipelineInterfaces.cs:433)
UnityEditor.Build.BuildPipelineInterfaces:InvokeCallbackInterfacesPair(List`1, Action`1, List`1, Action`1, Boolean) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildPipelineInterfaces.cs:391)
UnityEditor.Build.BuildPipelineInterfaces:OnBuildPostProcess(BuildReport) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildPipelineInterfaces.cs:431)
UnityEditor.BuildPipeline:BuildPlayerInternalNoCheck(String[], String, String, BuildTargetGroup, BuildTarget, BuildOptions, Boolean)
UnityEditor.BuildPipeline:BuildPlayerInternal(String[], String, String, BuildTargetGroup, BuildTarget, BuildOptions) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline.bindings.cs:376)
UnityEditor.BuildPipeline:BuildPlayer(String[], String, String, BuildTargetGroup, BuildTarget, BuildOptions) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline.bindings.cs:275)
UnityEditor.BuildPipeline:BuildPlayer(BuildPlayerOptions) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline.bindings.cs:258)
Game.Scripts.Editor.Builder:JenkinsBuild() (at Assets/Editor/Builder.cs:147)

On iOS I was able to fix it by following the this resolution and add the link.xml file to the project

<linker>

    <assembly fullname="Firebase.Crashlytics" ignoreIfMissing="1">
        <namespace fullname="Firebase.Crashlytics" preserve="all"/>
    </assembly>

    <assembly fullname="Firebase.App" ignoreIfMissing="1">
        <namespace fullname="Firebase.App" preserve="all"/>
    </assembly>

</linker>

Please answer the following, if applicable:

Have you been able to reproduce this issue with just the Firebase Unity quickstarts (this GitHub project)? Yes

What's the issue repro rate? (eg 100%, 1/5 etc) 100%

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions