Added FirebaseFirestore and FirebaseStorage unity packages (version 8.8.0) as dependencies
Updated Android build identifier to match Firebase configuration
Implemented API for interacting with File Management Firebase backend:
A function to add text entry (for OCRed text)
Callback for responding to database updates (for dashboard), with a sample implementation that just logs changes
A function for getting download handle (so each file type can choose how to download)
Known Issues
[ ] You might see "Failed to update Android SDK package list. See the Console for details" when trying to compile due to Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema. This seems to be a bug with Unity and can be fixed by following this stack overflow solution.
[x] Unity complained about duplicate dependencies. Solved using pickFirst mentioned in https://github.com/wonday/react-native-pdf/issues/432. However, this might indicate underlying issues with how dependencies are imported.
Notes for Reviewer
This is again a gigantic PR 😢 but most files are just dependency binaries 🤔. You can focus on:
Main
Boardless/Assets/Scripts/FirebaseServices.cs: code for interacting with Firestore database and file Storage
Boardless/Assets/Scenes/FirebaseServicesTest.unity: a basic scene for quickly testing FirebaseServices
Configs
Boardless/Assets/Plugins/Android/launcherTemplate.gradle: workarounds for known issues
Boardless/Assets/Plugins/Android/gradleTemplate.properties: Android Resolver Properties wants to have this file once I added the above grade config, not sure why but okay
Generated using Assets/Firebase/Editor/generate_xml_from_google_services_json.py -i Assets/google-services.json -o Assets/Plugins/Android/Firebase.androidlib/res/values/google-services.xml
Why the Delay?
No print debugging, don't know what exactly is going wrong. Had to read the source code of our open source dependencies--insightful but time-consuming.
Confused by an outdated issue saying Firebase Unity SDK doesn't work on devices not having Google Play Services https://github.com/firebase/quickstart-unity/issues/223, despite decoupling is already completed for the ones we need. Spent time trying out other 3rd party libraries without success.
Changelog
Known Issues
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
. This seems to be a bug with Unity and can be fixed by following this stack overflow solution.pickFirst
mentioned in https://github.com/wonday/react-native-pdf/issues/432. However, this might indicate underlying issues with how dependencies are imported.Notes for Reviewer
This is again a gigantic PR 😢 but most files are just dependency binaries 🤔. You can focus on:
Boardless/Assets/Scripts/FirebaseServices.cs
: code for interacting with Firestore database and file StorageBoardless/Assets/Scenes/FirebaseServicesTest.unity
: a basic scene for quickly testing FirebaseServicesBoardless/Assets/Plugins/Android/launcherTemplate.gradle
: workarounds for known issuesBoardless/Assets/Plugins/Android/gradleTemplate.properties
:Android Resolver Properties
wants to have this file once I added the above grade config, not sure why but okayBoardless/ProjectSettings/ProjectSettings.asset
: Android bundle identifier.Boardless/Assets/google-services.json
: Firebase constantsBoardless/Assets/Plugins/Android/Firebase.androidlib/res/values/google-services.xml
Generated using
Assets/Firebase/Editor/generate_xml_from_google_services_json.py -i Assets/google-services.json -o Assets/Plugins/Android/Firebase.androidlib/res/values/google-services.xml
Why the Delay?