firebase / quickstart-unity

Firebase Quickstart Samples for Unity
https://firebase.google.com/games
Apache License 2.0
819 stars 424 forks source link

How to use Unity Cloud Build CI/CD platform + Firebase symbol upload for Android #1326

Closed max-critcrew closed 1 year ago

max-critcrew commented 1 year ago

[READ] For Firebase Unity SDK issues, please report to Firebase Unity open-source

Once you've read this section and determined that your issue is appropriate for this repository, please delete this section.

[REQUIRED] Please fill in the following fields:

[REQUIRED] Please describe the issue here:

Is there any way to use the Unity Cloud Build CI/CD platform and automatically upload Android symbols?

We want to have automatic builds via CI/CD and make sure that Crashlytics/Firebase has all relevant symbols.

Steps to reproduce:

Relevant Code:

AlmostMatt commented 1 year ago

There is some information on uploading symbols for crashlytics on Android here: https://firebase.google.com/docs/crashlytics/get-started?platform=unity#set-up-symbol-uploading

The summary is that you need to get the firebase CLI, update your build settings, and run a command to upload android symbols after you build your Unity project.

Let us know if this does not work or if you need additional information

max-critcrew commented 1 year ago

@AlmostMatt

I understand that and used it, locally on my computer. The questions: How to automate it when using the Unity CI/CD solution, Unity cloud build: https://unity.com/solutions/ci-cd

Have you ever tried that / made a test project for this? Without being able to use CI/CD + Firebase Crashlytics, it's pretty hard to fit in the workflow :)

AlmostMatt commented 1 year ago

Oh, I understand the issue now. We do not have experience working with Unity's CI/CD, so I do not have a tested solution.

I think the desired solution would be a way to run custom scripts as part of the automated build process and have the custom script interact with the Firebase CLI. I see some mention of Script Hooks in Unity documentation that might be able to accomplish this: https://docs.unity.com/devops/en/manual/build-target-configurations#Script_hooks, and https://docs.unity.cn/2020.3/Documentation/Manual/UnityCloudBuildScriptHooks.html

Searching online, this blog post appears to do something with firebase cli as a post-script in Unity CI automated builds, it's solving a slightly different problem but might be a good example. https://blog.kakeragames.com/2019/11/03/firebase-app-distribution-with-unity-cloud-build.html

google-oss-bot commented 1 year ago

Hey @max-critcrew. We need more information to resolve this issue but there hasn't been an update in 5 weekdays. I'm marking the issue as stale and if there are no new updates in the next 5 days I will close it automatically.

If you have more information that will help us get to the bottom of this, just add a comment!

max-critcrew commented 1 year ago

@AlmostMatt Thank you so much, we will try this and come back to you if we need anything :)

In case you (now or later) decide to make any samples with Unity CI/CD that'd be amazing and definitely help everyone using Crashlytics to integrate it more seamlessly :)