co.sleepyape.firebase-app v9.1.0
Firebase Unity SDK
The Firebase Unity SDK provides Unity packages for the following Firebase features on iOS and Android:
Feature | Unity Package |
---|---|
Firebase Analytics | FirebaseAnalytics.unitypackage |
Firebase Authentication | FirebaseAuth.unitypackage |
Firebase Crashlytics | FirebaseCrashlytics.unitypackage |
Firebase Dynamic Links | FirebaseDynamicLinks.unitypackage |
Cloud Firestore | FirebaseFirestore.unitypackage |
Firebase Functions | FirebaseFunctions.unitypackage |
Firebase Installations | FirebaseInstallations.unitypackage |
Firebase Messaging | FirebaseMessaging.unitypackage |
Firebase Realtime Database | FirebaseDatabase.unitypackage |
Firebase Remote Config | FirebaseRemoteConfig.unitypackage |
Firebase Storage | FirebaseStorage.unitypackage |
The SDK provides .NET 3.x and .NET 4.x compatible packages in the dotnet3
and
dotnet4
directories of the SDK:
- Unity 5.x and earlier use the .NET 3.x framework, so you need to import
packages from the
dotnet3
directory. - Unity 2017.x and newer allow the use of the .NET 4.x framework. If your
project is configured to use .NET 4.x, import packages from the
dotnet4
directory.
Desktop Workflow Implementations
The Firebase Unity SDK includes desktop workflow support for the following Firebase features, enabling their use in the Unity editor and in standalone desktop builds on Windows, OS X, and Linux:
Feature | Unity Package |
---|---|
Firebase Authentication | FirebaseAuth.unitypackage |
Firebase Realtime Database* | FirebaseDatabase.unitypackage |
Cloud Firestore | FirebaseFirestore.unitypackage |
Firebase Functions | FirebaseFunctions.unitypackage |
Firebase Remote Config | FirebaseRemoteConfig.unitypackage |
Firebase Storage | FirebaseStorage.unitypackage |
(* See Known Issues in the Release Notes below.)
This is a Beta feature, and is intended for workflow use only during the development of your app, not for publicly shipping code.
Stub Implementations
Stub (non-functional) implementations of the remaining libraries are provided for convenience when building for Windows, OS X, and Linux, so that you don't need to conditionally compile code when also targeting the desktop.
AdMob
The AdMob Unity plugin is distributed separately and is available from the AdMob Get Started guide.
Known Issues
.NET 4.x compatibility when using Unity 2017.x and newer.
.NET 4.x support is available as a build option in Unity 2017 and newer.
Firebase plugins use components of the
Parse SDK to provide some
.NET 4.x classes in earlier versions of .NET. Therefore, versions 5.4.0
and
newer of the {{unity_sdk}} provide plugins that are compatible with either
.NET 3.x or .NET 4.x in dotnet3
and dotnet4
directories of the
{{unity_sdk_link}}.
If you import a Firebase plugin that is incompatible with the .NET version enabled in your project, you'll see compile errors from some types in the .NET framework that are implemented by the Parse SDK.
To resolve the compilation error, if you're using .NET 3.x:
- Remove or disable the following DLLs for all platforms:
Parse/Plugins/dotNet45/Unity.Compat.dll
Parse/Plugins/dotNet45/Unity.Tasks.dll
- Enable the following DLLs for all platforms:
Parse/Plugins/Unity.Compat.dll
Parse/Plugins/Unity.Tasks.dll
To resolve the compilation error, if you're using .NET 4.x:
- Remove or disable the following DLLs for all platforms:
Parse/Plugins/Unity.Compat.dll
Parse/Plugins/Unity.Tasks.dll
- Enable the following DLLs for all platforms:
Parse/Plugins/dotNet45/Unity.Compat.dll
Parse/Plugins/dotNet45/Unity.Tasks.dll
If you import another Firebase plugin:
- Select the menu item
Assets > Play Services Resolver > Version Handler > Update
to enable the correct DLLs for your project.
Unity 4 workarounds
Firebase plugins are not officially supported in Unity 4. However, we do make an effort to ensure the plugins can work with some manual setup.
A couple of components do not work in Unity 4:
- Version Handler
does not work due to no PluginImporter and no clean way to prevent managed
DLLs from being loaded by Unity 4.
- This means it's not possible for plugins to automatically enable the most recent version of shared components (e.g Firebase, AdMob, Facebook etc. may share a common component).
- DLLs that target a specific .NET version (e.g .NET 4.x) are not disabled.
- Managed (C#) DLLs cannot be targeted to a specific platform which breaks our plugin where we have platform specific C# DLLs for some components.
To use in Unity 4 you will need to:
- Resolve any dependencies that are shared between multiple plugins.
For example, Firebase and AdMob use the
Play Services Resolver
which contains DLLs that encode the version in their filename under the
folder
PlayServicesResolver/Editor
. For each versioned DLL under the folderPlayServicesResolver/Editor
delete the oldest version of each DLL. - Remove .NET 4.x DLLs from
Parse/Plugins/dotNet45
. - Remove / rename platform specific DLLs.
Firebase plugins contain iOS specific DLLs under the folder
Firebase/Plugins/iOS
.- When not building for iOS:
- Change the extension of files under the
Firebase/Plugins/iOS
folder from.dll
to.dlldisabled
- Change the extension of files under the
- When building for iOS:
- Change the extension of files under the
Firebase/Plugins/iOS
folder from.dlldisabled
to.dll
- For each file in
Firebase/Plugins/iOS
change the file extension of the same name underFirebase/Plugins
from.dll
to.dlldisabled
. For example,Firebase/Plugins/iOS/Firebase.App.dll
andFirebase/Plugins/Firebase.App.dlldisabled
.
- Change the extension of files under the
- When not building for iOS:
Setup
You need to follow the SDK setup instructions. Each Firebase package requires configuration in the Firebase Console. If you fail to configure your project your app's initialization will fail.
Support
Release Notes
9.1.0
- Changes
- General: Added a missing namespace to the Google.MiniJson.dll.
- General (iOS): Fix an issue with bitcode not being enabled correctly.
- Functions: Add a new method
GetHttpsCallableFromURL
, to create callables with URLs other than cloudfunctions.net. - Analytics (iOS): Added InitiateOnDeviceConversionMeasurementWithEmail function to facilitate the on-device conversion measurement API.
9.0.0
- Changes
- General: Minimum supported editor version is now Unity 2018.
- General (Editor, macOS): Add support for Apple Silicon chips.
- General (iOS): Firebase Unity on iOS is now built using Xcode 13.3.1.
- General (iOS): Fixed crash when running on iPhoneOS 12 and older.
- Analytics: Removed deprecated event names and parameters.
- Crashlytics (Android): Fixed a bug with missing symbols when enabling minification via proguard.
- Messaging (Android): Fixed a bug with duplicate symbols when also using Functions.
- Realtime Database (Desktop): Fixed a bug handling server timestamps on 32-bit CPUs.
- Storage (Desktop): Set Content-Type HTTP header when uploading with custom metadata.
8.10.1
- Changes
- General (Android): Fix an issue when building with mainTemplate.gradle.
8.10.0
- Changes
- General (Editor, macOS): Fix an issue when finding "python" executable.
- General : Firebase Unity SDK starts to build using Unity 2019, and releases from git repo.
8.9.0
- Changes
- General (Editor, macOS): Support non-default "python" executable names, common in newer macOS versions.
- General (iOS): Fixed additional issues on iOS 15 caused by early initialization of Firebase iOS SDK.
- Remote Config: Fixed default FetchAsync() timeout being too high.
- Storage (Desktop): Added retry logic to PutFileAsync, GetFileAsync, and other operations.
8.8.1
- Changes
- General (iOS): Fixed additional issues on iOS 15 caused by early initialization of Firebase iOS SDK.
8.8.0
- Changes
- General (iOS): Another possible fix for an intermittent crash on iOS 15
caused by constructing C++ objects during Objective-C's
+load
method. - Storage: Added a method to access the url of a storage instance.
- Crashlytics (Android): Updated internal Crashpad version to commit
281ba7
. With this change, disabling tagged pointers is no longer required, so the following can be removed from your manifest's application tag:android:allowNativeHeapPointerTagging=false
. - Crashlytics (Android): Improved runtime efficiency of the
SetCustomKey
functions, significantly reducing the number objects created and disk writes when keys are updated frequently. - Remote Config: Fixed an issue where the TimeSpan field of FetchDataAsync was being used incorrectly.
- General (iOS): Another possible fix for an intermittent crash on iOS 15
caused by constructing C++ objects during Objective-C's
8.7.0:
- Changes
- General (iOS): Fixed an intermittent crash on iOS 15 caused by
constructing C++ objects during Objective-C's
+load
method. (#706) (#783) - Crashlytics (Android): Fixed a bug that prevented some Crashlytics session files from being removed after the session ended. All session-specific files are now properly cleaned up. (#737)
- General (iOS): Fixed an intermittent crash on iOS 15 caused by
constructing C++ objects during Objective-C's
8.6.2:
- Changes
- Messaging (Android): Clean up callbacks on termination, to possibly fix ANR issues in CheckAndFixDependenciesAsync (#1160).
8.6.1:
- Changes
- Crashlytics (Android): Updated the pinned dependency to fix a missing method error (#1177).
8.6.0:
- Changes
- General (Android): Minimum SDK version is now 19.
- General: Variant double type now supports 64-bit while saving to json. (#1133).
- Firestore: Released to general availability for Android and iOS (desktop support remains in beta).
- Firestore (iOS): Fixed intermittent crashes and empty results when retrieving the contents of a document. (#1171).
- Firestore (iOS): Fixed intermittent "start after" query filters failing to have any effects on the queries.
- Firestore (iOS): Fixed intermittent cases where specifying ServerTimestampBehavior.Previous would return empty values instead of the previous values.
- Crashlytics: Improved crash reporting for Unity Android apps using the IL2CPP scripting backend. To display symbolicated IL2CPP stack traces in the Crashlytics console, Android customers will need to upload symbol files for their builds. See the Getting Started with Crashlytics Unity Guide for more details.
- Messaging (Android): Fixed crash resulting in ANR on termination. (#1151).
8.5.0:
- Changes
- General (iOS): iOS SDKs are now built using Xcode 13.0.0.
- Firestore: Fixed an issue where the
Equals()
andGetHashCode()
methods ofDocumentSnapshot
would sometimes be inconsistent (#8647).
8.4.0:
- Changes
- General: Added support for Android x86 64.
- Firestore: Improved the efficiency of progress callbacks in
LoadBundleAsync()
. - Firestore: Fixed crashes in Unity Editor on Linux caused by C++ exceptions failing to be converted to C# exceptions.
- Firestore: Fixed intermittent hangs on Android when exceptions are thrown by callbacks.
- Firestore: Fixed a crash on Android when
DocumentReference.Set()
was invoked with an invaliddocumentData
value (e.g. an int). - Firestore: Fixed race conditions in the instance caching, terminate, and
disposal logic of
FirebaseFirestore
.
8.3.0:
- Changes
- Firestore: Simplified the API for modifying the settings of a
FirebaseFirestore
instance. This is a backwards-incompatible change and requires updates to code that setsFirebaseFirestore.Settings
. - Firestore: Changed an argument to
Query.WhereNotIn()
fromList
toIEnumerable
, to be consistent withQuery.WhereIn()
. - Messaging (Android): Fixes an issue with receiving tokens when initializing the app.
- Firestore: Simplified the API for modifying the settings of a
8.2.0:
- Changes
- Firestore: Removed
Equals
andGetHashCode
methods fromQuery
,QuerySnapshot
, andDocumentSnapshot
classes. These methods were unimplemented, and we plan to add proper support for them in a future release. - Crashlytics: Upload UnityFramework symbols in addition to the main app dSYM file to improve symbolication (#673).
- Messaging: Fixed a duplicate class error when building an application which also uses Firebase Functions.
- Firestore: Removed
8.1.0:
- Changes
- Database: Fixed a crash around using DataSnapshots within Coroutines (#635).
- Firestore: Implemented
IDisposable
forListenerRegistration
(#746). - Firestore: Added
null
and empty string argument checks to all public methods, which now throw exceptions instead of crashing (#1053). - Firestore: Fixed Android crash due to missing QueryEventListener class (#1080).
- Firestore: Added support for Firestore Bundles via
FirebaseFirestore.LoadBundleAsync()
andFirebaseFirestore.GetNamedQueryAsync()
. Bundles contain pre-packaged data produced with the Firestore Server SDKs and can be used to populate Firestore's cache without reading documents from the backend.
8.0.0:
- Breaking Changes
- Instance Id: Removed support for the previously-deprecated Instance ID SDK.
- Remote Config: The previously-deprecated class
FirebaseRemoteConfigDeprecated
and the propertyConfigSettings.IsDeveloperMode
have been removed.
- Changes
- Firestore: Internal assertions will now trigger C# exceptions (possible
exception types are
ArgumentException
,InvalidOperationException
andFirestoreException
withErrorCode
set toInternal
). These exceptions are not meant to be caught -- rather, they are to help with debugging and to avoid crashing the Unity editor instance. Important: on iOS, you would need to change two settings on the exported XCode project for this feature to work properly. OpenBuild Settings
and make sure thatEnable C++ Exceptions
andEnable C++ Runtime Types
settings are set toYes
for all of the following: theUnity-iPhone
scheme, theUnityFramework
scheme (for Unity versions 2019.3 and above) and theUnity-iPhone
project. If you're doing incremental iOS builds (i.e., if you useAppend
instead ofReplace
when doing the build), these settings will persist between rebuilds, so you would only have to do this once per project. - Firestore: Fix
RunTransactionAsync()
to roll back the transaction if the task returned from the given callback faults (#1042).
- Firestore: Internal assertions will now trigger C# exceptions (possible
exception types are
7.2.0:
- Changes
- Database: Fixed a potential crash that can occur as a result of a race
condition when adding, removing and deleting
ValueListener
s orChildListener
s rapidly. - Database: Fixed a crash when setting large values on Windows and Mac systems (#517].
- FCM (Android): Fixed triggering of callback handlers for background
notifications. Using
enqueueWork
instead ofstartService
. - Crashlytics: Added new Unity-specific metadata to help diagnose tricky crashes around specific hardware setups.
- Database: Fixed a potential crash that can occur as a result of a race
condition when adding, removing and deleting
7.1.0:
- Breaking Changes
- Remote Config: Changed
FirebaseRemoteConfig
to be an instanced class, with new APIs to better manage fetching config data. The old static methods are now deprecated, and can be accessed in the new classFirebaseRemoteConfigDeprecated
. - Remote Config:
ConfigSettings.IsDeveloperMode
is now obsolete and does nothing.ConfigSettings.MinimumFetchInternalInMilliseconds
should be adjusted instead.
- Remote Config: Changed
- Changes
- General: Add GoogleServices-Info.plist to
Unity-iPhone
target in Unity 2019.3+. - Firestore: Fixed partial updates in
UpdateAsync()
withFieldValue.Delete
(#882). - Firestore: Fixed
DocumentSnapshot.ToDictionary()
on non-existent documents when running on Android (#887). - Firestore: Fixed crash setting FirebaseFirestore.LogLevel on Android before any instances have been created (#888).
- Auth: Fixed a flaky crash when accessing the result from the task returned
by
FetchProvidersForEmailAsync
. - Auth: You can now specify a language for emails and text messages sent from your apps using UseAppLanguage() or setting the FirebaseAuth.LanguageCode property.
- Messaging (Android): Using
enqueueWork
instead ofstartService
. Fixes bug where we lost messages with data payloads received when app is in background. (#877 - Remote Config: Fixed numeric value conversion
ConfigValue.DoubleValue
andConfigValue.LongValue
to be locale independent. - Installations: Fixed pod version to 7.5.0.
- General: Add GoogleServices-Info.plist to
7.0.1:
- Changes
- Remote Config (Android): Fixed the crash bug introduced in 7.0.0.
7.0.0:
- Changes
- General (iOS): iOS SDKs are now built using Xcode 11.7.
- App (Editor): Remove deprecated service account APIs.
- App: Remove
FirebaseApp.CheckDependencies()
API. - Analytics: Remove deprecated SetMinimumSessionDuration call.
- Installations: Added Installations SDK. See Documentations for details.
- Instance Id: Marked Instance Id as deprecated.
- Messaging: Added getToken, deleteToken apis.
- Messaging: Removed deprecated Send() function.
- Storage: Remove deprecated
DownloadUrl
andDownloadUrls
properties inStorageMetadata
. - Messaging: raw_data has been changed from a std::string to a byte array.
- Dynamic Links: Remove deprecated
DynamicLinkComponents.DynamicLinkDomain
. Please useDynamicLinkComponents.DomainUriPrefix
instead. - Dynamic Links (Android): Bump up Android library version and remove dependency to GMS app invite.
- Firestore: Added support for
WhereNotEqualTo
andWhereNotIn
queries. - Firestore: Added new internal HTTP headers to the gRPC connection.
- Firestore: Fixed a Unity Editor hang on Windows when restarting an app after listening to a query, document, or snapshots in sync (#845).
- Firestore: Added support for
FirebaseFirestoreSettings.CacheSizeBytes
. - Firestore: Fixed an intermittent crash in the Unity Editor when the app is restarted while a transaction is in progress (#783).
- Firestore: Fixed a crash when writing to a document after having been offline for long enough that the auth token expired (#872).
6.16.1:
- Changes
- General (Android): Fixes regression in 6.16.0 about Android build error "Program type already present: com.google.firebase.unity.BuildConfig" when make Android build with Crashlytics SDK in Unity 2019 and below.
- General: Significantly reduced the filesize of the Linux libraries.
- Database (Desktop): Added a function to create directories recursively for persistent storage that fixes segfaults.
6.16.0:
- Changes
- General: Prevent Firebase SDK from causing GC in every frame.
- General (Editor): Improved the performance of Firebase Editor tools by delay initialization when condition met and improve asset searching.
- General: Deprecate Firebase.Unity.Editor.FirebaseEditorExtensions. Most of the functions is noop now and will be removed soon.
- General: Breaking Change Remove deprecated functions
FirebaseApp.SetEditorAuthUserId()
andFirebaseApp.GetEditorAuthUserId()
in order to improve performance. - General: (Android) Fixed that FirebaseApp failed to create for builds
created by Unity 2020+ due to google-services.json not found. All Firebase
Android resource files are moved to directories with
androidlib
extension. - General: (Android) Remove android:minSdkVersion from AndroidManifest.xml
under
Assets/Plugins/Android/Firebase
which is causing build error in Unity 2020. - Database (Desktop): Enabled offline persistence.
- Firestore: Fixed FirebaseFirestore.LogLevel for some log levels.
- Firestore: Added
Error.None
as a synonym forError.Ok
, which is more consistent with other Firebase Unity APIs. - auth.SWIG: Fix typo (across).
- Firestore: Fixed leaked memory in FirebaseFirestore C# objects.
- Crashlytics: Fixed an issue on iOS where the Crashlytics Run Script would fail to get added on versions of Unity 2018 and below #5569
- Crashlytics: (Android) Fixed crashes for builds created by Unity 2020+ due
to build ID is missing. Generated Crashlytics Android resource files are
moved to
Plugins/Android/FirebaseCrashlytics.androidlib
. - Firestore: Fixed
CollectionReference.AddAsync()
to propagate errors. - Firestore: Changed async tasks to fault with
FirestoreException
. - Firestore: Renamed the
Error
enum toFirestoreError
. - Messaging (Android): Updated library to be compatible with Android O, which should resolve a IllegalStateException that could occur under certain conditions.
- Messaging: Deprecated the
Send
function. - Firestore: Added meaningful error messages to the exceptions with which
ListenerRegistration.ListenerTask
tasks fault.
6.15.2
- Overview
- Changes
- Firestore (iOS): Fixed the missing Dispose symbol by updating to the correct Cocoapod version.
6.15.1
- Overview
- Changes
- Firestore: Significantly improved stability when reentering play mode, addressing this issue.
- Firestore: Fixed memory leaks that could cause a global reference table overflow on Android, addressing this issue.
- Fixed an issue that warns about Future handle not released properly.
- Firestore: Added the
ListenerRegistration.ListenerTask
property which facilitates discovering an error that causes the listener stream to stop. - Fixed an issue that cause Editor crash on the second time click play.
6.15.0
- Overview
- Replaced legacy Fabric Crashlytics Android and iOS SDKs with updated Firebase Crashlytics SDKs.
- Reduce editor freeze when play mode starts.
- Changes
- Crashlytics (Android and iOS): Updated with the Firebase Crashlytics Android & iOS SDKs, which now use Firebase-specific endpoints rather than the deprecated Fabric endpoints. Crashlytics C# APIs have not changed.
- Crashlytics (Editor): Removed UI for managing Fabric API keys, which are
no longer required. Migrated Fabric apps will automatically use the Google
App Id as defined in the
GoogleServicesInfo.plist
andgoogle-services.json
files. - Crashlytics (Editor): Fixed an issue that occurs when Crashlytics is imported using the Unity Package Manager.
- Crashlytics: Added
[assembly: Preserve]
attribute to Firebase.Crashlytics namespace, to prevent stripping of Crashlytics code by the UnityLinker. - Firestore: Fixed several serialization issues on iOS.
- Firestore: Added
WaitForPendingWritesAsync
method which allows users to wait on a task that completes when all pending writes are acknowledged by the firestore backend. - Firestore: Added
TerminateAsync
method which terminates the instance, releasing any held resources. - Firestore: Added
ClearPersistenceAsync
method which clears the persistent cache, allowing unit/integration tests to be more isolated. - Firestore: Added
Query.LimitToLast(int n)
, which returns the lastn
documents as the result. - Firestore: Added support for changing Firestore settings.
- Test Lab: Experimental release of Test Lab is now available on all supported platforms.
- Firestore: Removed the
DocumentReference.ListenerDelegate
andQuery.ListenerDelegate
delegates. These were intended to be internal-only types. - General: Reduce editor freeze when play mode starts by not running XcodeProjectPatcher, GeneratedXmlFromGoogleServices and AndroidManifestPatcher if the editor is in play mode or about to start play mode.
- Messaging: (Android) Using the MessagingUnityPlayerActivity will no longer interfere with Unity's built-in handling of deep links.
6.14.1
- Changes
- Auth: Added a new method: Firebase.Auth.Credential.IsValid().
- Auth: Added Firebase.Auth.FirebaseAccountLinkException which may be thrown by LinkAndRetrieveDataWithCredentialAsync. The exception includes a Firebase.Auth.UserInfo object which may contain additional information about the user's account.
- Auth (iOS): Added Firebase.Auth.UserInfo.UpdatedCredential. This credential may be valid in FirebaseAccountLinkExceptions indicating that the credential may be used to sign into Firebase as the Apple-linked user.
6.14.0
- Changes
- Firestore:
Firestore.LoggingEnabled
is replaced byFirestore.LogLevel
for consistency with other Firebase Unity APIs. The getter for this property has been removed. - Crashlytics (iOS): Removes references to UIWebView APIs to prevent App Store rejections.
- Firestore:
6.13.0
- Changes
- General: Update asset labels so that External Dependency Manager works even if files in Firebase SDK are moved.
- Firestore: Added
Query.WhereArrayContains()
query operator to find documents where an array field contains a specific element. - Firestore: Added
FieldValue.ArrayUnion()
andFieldValue.ArrayRemove()
to atomically add and remove elements from an array field in a document. - Firestore: Added
Query.WhereIn()
andQuery.WhereArrayContainsAny()
query operators.Query.WhereIn()
finds documents where a specified field’s value is IN a specified array.Query.WhereArrayContainsAny()
finds documents where a specified field is an array and contains ANY element of a specified array. - Firestore: Fixed QuerySnapshot.GetEnumerator() to not throw an InvalidCastException.
6.12.0
- Overview
- Added experimental support for Cloud Firestore SDK.
- Changes
- Firestore: Experimental release of Firestore is now available on all supported platforms.
6.11.0
- Overview
- Updated dependencies, changed minimum Xcode, and fixed an issue in Database handling Auth token revocation.
- Changes
- General (Editor): Added FirebaseAuth manifest file to FirebaseDatabase.unitypackage and FirebaseStorage.unitypackage for better package management through Play Services Resolver.
- General (iOS): Minimum Xcode version is now 10.3.
- General: When creating a FirebaseApp, the ProjectId from the default FirebaseApp is used if one is not provided.
- Database (Desktop): Fixed that database stops reconnecting to server after the auth token is revoked.
6.10.0
- Overview
- Auth bug fixes and resource generation improvements.
- Changes
- Auth (iOS): Enabled the method OAuthProvider.GetCredential. This method takes a nonce parameter as required by Apple Sign-in.
- Auth (Desktop): Fixed a deadlock that could cause the Unity Editor to freeze when disposing FirebaseAuth.
- Editor: Python 3 compatibility for resource generation script and added a fallback to use the Python interpreter on Windows 7/8.
- Editor: Removed debug logging when the resource generator script is executed.
6.9.0
- Overview
- Updated dependencies, added support for Apple Sign-in to Auth, support for signing-in using a 3rd party web providers and configuration of BigQuery export in Messaging, fixed a Crashlytics build reporting bug with Python 3 and fixed core editor plugin loading issue on Windows.
- Changes
- Auth: Added API for invoking FirebaseAuth.SignInWithProvider and User FirebaseUser.LinkWithProvider and FirebaseUser.ReauthenticateWithProvider for sign in with third party auth providers.
- Auth: Added constant ProviderId strings to the provider classes.
- Auth (iOS): Added support for linking Apple Sign-in credentials.
- Crashlytics: Fixed build event reporting when Python 3 is installed on Mac or Linux machines.
- Messaging (Android): Added the option to enable or disable message delivery metrics export to BigQuery. This functionality is currently only available on Android. Stubs are provided on iOS for cross platform compatibility.
- Editor: Fixed core editor plugin so that it loads without the iOS Unity extension installed on Windows.
6.8.1
- Overview
- Fixed Crashlytics and core editor plugin.
- Changes
- Crashlytics (Editor): Fixed Crashlytics editor plugin so that it loads without the iOS Unity extension installed.
- Editor: Fixed core editor plugin so that it loads without the iOS Unity extension installed.
6.8.0
- Overview
- Updated dependencies and fixed resource generation issue with python3.
- Changes
- Editor: Fixed an issue where resource generation from google-services.json or GoogleService-Info.plist would fail if python3 was used to execute the resource generation script.
6.7.0
- Overview
- Updated dependencies, fixed issues in Analytics, Database, Dynamic Links, Crashlytics, and Storage.
- Changes
- Storage (iOS/Android): Fixed an issue where FirebaseStorage.GetReferenceFromUrl would return an invalid StorageReference.
- Dynamic Links: Fixed an issue where removing delegate from DynamicLinks.DynamicLinkReceived does not stop the delegate from being called.
- Database: Fixed an issue causing timestamps to not be populated correctly when using DatabaseReference.UpdateChildren().
- Database (Desktop): Fixed an issue preventing listener events from being triggered after DatabaseReference.UpdateChildren() is called.
- Database (Desktop): Functions that take string parameters will now fail gracefully if passed a null pointer.
- Database (Desktop): Fixed an issue that could result in an incorrect snapshot being passed to listeners under specific circumstances.
- Database (Desktop): Fixed an issue causing DatabaseReference.RunTransaction() to fail due to datastale when the location previously stored a list with more than 10 items or a dictionary with integer keys.
- Crashlytics: Fixed an issue on iOS with Unity 2019.3 beta where the plugin fails to create a XCode run script to upload symbols.
- Analytics (iOS): Fixed the racy behavior of
FirebaseAnalytics.GetAnalyticsInstanceId()
after callingFirebaseAnalytics.ResetAnalyticsData()
.
6.6.0
- Overview
- Updated dependencies, fixed issues in Auth & Database.
- Changes
- Auth (Desktop): Fixed not loading provider list from cached user data.
- Database (Desktop): Fixed a crash that could occur when trying to keep a location in the database synced when you do not have permission.
- Database (Desktop): Queries on locations in the database with query rules now function properly, instead of always returning "Permission denied".
- Database (Desktop): Fixed the map-to-vector conversion when firing events that have maps containing enitrely integer keys.
6.5.0
- Overview
- Updated dependencies, improved logging for Auth and Database, and fixed the freeze in the editor.
- Changes
- General: The instance of FirebaseApp, FirebaseAuth, FirebaseDatabase, FirebaseFunctions, FirebaseInstanceId and FirebaseStorage will be kept alive after creation until explicitly disposed.
- Auth (Linux): Improved error logging if libsecret (required for login persistence) is not installed on Linux.
- Database: The database now supports setting the log level independently of the system level logger.
- Auth/Database (Desktop): Fixed the freeze when playing in the editor for the more than once or when closing the editor, when keeping a static reference to either FirebaseAuth or FirebaseDatabase instances.
6.4.0
- Overview
- Updated dependencies, improved error handling in the iOS build logic, improved error handling with deleted objects, fixed an issue with Auth persistence, and fixed a crash in Database.
- Changes
- General: Added more underlying null checks when accessing objects that can potentially be deleted, throwing exceptions instead of crashing.
- General (iOS): Handle malformed Info.plist files when patching Xcode projects.
- Auth (Desktop): Fixed an issue with updated user info not being persisted.
- Database (Desktop): Fixed a crash with saving a ServerTimestamp during a transaction.
6.3.0
- Overview
- Auth (iOS): Fixed an exception in Firebase.AuthVerifyPhoneNumber.
- Changes
- General (Editor): Fixed spurious errors about missing google-services.json file.
- General (iOS/Android): Fixed a bug that allows custom FirebaseApp instances to be created after the app has been restarted
- Auth (Desktop): Changed destruction behavior. Instead of waiting for all async operations to finish, now Auth will cancel all async operations and quit. For callbacks that are already running, this will protect against cases where auth instances might not exist anymore.
- Auth (iOS): Fixed an exception in PhoneAuthProvider.verifyPhoneNumber.
- Auth (iOS): Stopped Auth from hanging on destruction if any local tasks remain in scope.
- Database (Desktop): Fixed an issue that could cause a crash when updating the descendant of a location with a listener attached.
6.2.2
- Overview
- Bug fixes.
- Changes
- General (Editor): Worked around regression in Unity 2019.2 and 2019.3 which caused DllNotFoundException.
- General (Editor, macOS): Add support for macOS 10.11.x.
- Auth (Editor): After loading a persisted user data, ensure token is not expired.
- Auth (desktop): Ensure Database, Storage and Functions do not use an expired token after it's loaded from persistent storage.
- Database (Editor): Fixed a crash when calling UpdateChildrenAsync.
- Database (Editor): Deprecated service account authentication.
- Database (Editor): Fixed DatabaseReference.RunTransaction() sending invalid data to the server which causes error message "Error on incoming message" and freeze.
- Known Issues
- Database/Storage/Functions may fail to send authentication token to server if FirebaseAuth is garbage-collected. If you are unable to access to the server due to "Permission Denied", please try to keep FirebaseAuth alive.
6.2.1
- Overview
- Fixed Crashlytics on Android not working correctly.
- Changes
- Crashlytics (Android): Fixed an issue causing Crashlytics to believe it was shut down, blocking all functionality.
6.2.0
- Overview
- Moved Realtime Database to a C++ implementation on desktop, added support for custom domains to Dynamic Links, and fixed issues in Database, Instance ID, and Crashlytics.
- Changes
- General (Editor): Fixed an issue that could cause errors when trying to read a google-services.json file with unicode characters in its path.
- General (Editor, iOS): Added support for patching Xcode projects in Unity 2019.3+.
- General: Fixed a race that could lead to a crash when gabarge collecting FirebaseApp objects.
- General: Updated Play Services Resolver from 1.2.116 to 1.2.121 For more information, see this document. Added support for the Jetpack Jetifier , this allows the use of legacy Android support libraries with the latest release of Google Play Services that uses AndroidX.
- Crashlytics (Android): Fixed a crash when logging large call stacks.
- Crashlytics (Android): Fixed a crash in exception logging when the application is shutting down.
- Instance ID (Android): Fixed a crash when destroying InstanceID objects.
- Instance ID: Fixed a crash if multiple Instance ID objects are created and destroyed quickly.
- Dynamic Links: Added support for custom domains.
- Database (Editor): Moved Realtime Database to a C++ implementation on desktop to improve reliability across different Unity versions.
- Database (Editor): Moved transaction callbacks to the main thread to mirror Android and iOS.
- Database: Added a way to configure log verbosity of Realtime Database instances.
6.1.1
- Overview
- Fixed an issue when generating Firebase config files on Windows.
- Changes
- General (Editor): Fixed an issue when generating Firebase config files on Windows.
- General (Editor): Upgraded Play Services Resolver to from 1.2.115 to 1.2.116. For more information see this document.
6.1.0
- Overview
- Added Auth credential persistence on Desktop, fixed and cleaned up some documentation, converted testapps to use ContinueOnMainThread(), fixed issues in Auth and Database, and added additional information to Messaging notifications.
- Changes
- General (Editor): Removed Firebase Invites documentation from the in-editor documentation.
- General (Editor): Fixed an issue with resource generation when Firebase plugin files have been moved from their default locations.
- General (iOS): Fixed an issue where connections via NSURLSession (used internally by the iOS SDK) can be prematurely closed by the client if NSAppTransportSecurity is set to YES in the Info.plist and NSAllowsArbitraryLoadsInWebContent is not set. This can be fixed by setting NSAllowsArbitraryLoadsInWebContent to the same value as NSAppTransportSecurity.
- General (Editor): Upgraded Play Services Resolver to from 1.2.109 to 1.2.115. For more information see this document.
- Auth (Desktop): User's credentials will now persist between sessions. See the documentation for more information.
- Auth (Desktop): As part of the above change, if you access CurrentUser immediately after creating the FirebaseAuth instance, it will block until the saved user's state is finished loading.
- Auth (Desktop): Fixed an issue where Database/Functions/Storage might not use the latest auth token immediately after sign-in.
- Auth (Android): Fixed an issue where an error code could get reported incorrectly on Android.
- Crashlytics, Functions: Fixed an issue that could cause a crash during shutdown due to the destruction order of plugins being nondeterministic.
- Database (iOS): Fixed a race condition that could cause a crash when cleaning up database listeners on iOS.
- Database (iOS): Fixed an issue where long (64-bit) values could get written to the database incorrectly (truncated to 32-bits) on 32-bit devices.
- Messaging (Android): Added channel_id to Messaging notifications.
6.0.0
- Overview
- Released Crashlytics as generally available (GA); added Task.ContinueWithOnMainThread(); fixed issues in the Android Resolver, iOS Resolver, Auth, Database, Messaging, and Remote Config; removed Firebase Invites, removed deprecated methods in Firebase Remote Config, and deprecated a method in Firebase Analytics.
- Changes
- Updated Firebase iOS and Firebase Android dependencies.
- Crashlytics (iOS/Android): Crashlytics for Unity is now generally available (GA). Get the next evolution with BigQuery exports, Jira integration, and more. To migrate from Fabric Crashlytics for Unity to Firebase Crashlytics, follow the migration guide.
- Added an extension method,
Task.ContinueWithOnMainThread()
, which forces the continuation of asynchronous operations to occur in the Unity main thread rather than in a background thread. - General: Upgraded Play Services Resolver to from 1.2.104 to 1.2.109. For more information see this document.
- General (Android): Added support for Android SDK installed directly in Unity 2019.
- General (iOS): Fixed issues generating projects without using Cocoapods.
- Database (iOS/Android): Fixed an issue where integrating the SDK greatly increased the size of your app.
- Database: Fixed exception handling during listener events.
- Remote Config: Fixed an issue parsing boolean values.
- Auth (Desktop): Fixed a crash when attempting to call Game Center authentication methods from the Unity editor.
- Messaging (iOS/Android): Fix an issue where Subscribe and Unsubscribe never returned if the API was configured not to receive a registration token.
- Invites: Removed Firebase Invites, as it is no longer supported.
- Remote Config: Removed functions using config namespaces.
- Analytics: Deprecated SetMinimumSessionDuration.
5.7.0
- Overview
- Fixed an issue with escape characters in Auth, deprecated functions in Remote Config, and fixed an issue in the Android Resolver.
- Changes
- Auth: Fixed UserProfile.PhotoUrl removing percent encoded characters when being set.
- Remote Config: Config namespaces are now deprecated. You'll need to switch to methods that use the default namespace.
- General (Android): Fixed an exception on resolution in some versions of Unity 2017.4 by changing how Android ABI selection is handled.
5.6.1
- Overview
- Fixed race condition on iOS SDK startup and fixed some issues in the Android Resolver.
- Changes
- General (iOS): Updated to the latest iOS SDK to fix a crash on firebase::App creation caused by a race condition. The crash could occur when accessing the FIRApp firebaseUserAgent property of the iOS FIRApp.
- General (Android): Fixed Java version check in Android resolver when using Java SE 12 and above.
- General (Android): Whitelisted Unity 2017.4 and above for ARM64 builds. Previously required ARM64 libraries would be stripped from all Unity 2017 builds resulting in a DllNotFoundException.
5.6.0
- Overview
- Added Game Center sign-in to Auth and fixed intermittent crashes due to garbage collection.
- Changes
- Auth (iOS): Added Game Center authentication.
- General: Fixed intermittent crashes caused when multiple native objects were garbage-collected at the same time.
5.5.0
- Overview
- Added support for Crashlytics as a Beta release, deprecated Firebase Invites, and updated the Android Resolver.
- Changes
- Crashlytics: Crashlytics for Unity is now available as a Beta release. Get the next evolution with BigQuery exports, Jira integration, and more. To migrate from Fabric Crashlytics for Unity to Firebase Crashlytics, follow the migration guide.
- General (Android): Updated to using version 1.2.101 of the Android Resolver. Prompt the user before the resolver runs for the first time and allow the user to elect to disable from the prompt.
- Invites: Firebase Invites is deprecated. Please refer to https://firebase.google.com/docs/invites for details.
5.4.4
- Overview
- Fixed bugs in iOS/Android Resolver components, Realtime Database on mobile, and Cloud Functions on Android; fixed a general iOS bug; and fixed issues with Unity 5.6 and Unity 2018.3 and newer.
- Changes
- General (Android): Fixed packaging of AARs in the Android Resolver when using Unity 2018 and a recent version of Gradle.
- General: Reduced auto-resolution frequency in iOS and Android Resolvers, speeding up builds and reducing memory footprint.
- General: Fixed an issue with version number handling in iOS and Android Resolvers.
- General (iOS): Fixed an issue that caused apps to crash when exiting the app.
- General: Fixed parsing of Unity 5.6 metadata.
- General: Workaround for Unity 2018.3 and newer ignoring the "Any" platform.
- Realtime Database (mobile): Fixed an issue where certain DataSnapshots were missing data.
- Cloud Functions (Android): Fixed an issue with error handling.
- Known Issues
- The garbage collection race condition mentioned in version 5.4.2 still occurs in Firebase Auth, Database, Storage, and Instance ID. To work around the issue until a fixed is released, keep a reference to the Firebase object instance (for example, FirebaseAuth.DefaultInstance) to prevent garbage collection.
5.4.3
- Overview
- Bug fix for Firebase Storage on iOS.
- Changes
- Storage (iOS): Fixed an issue when downloading files with
GetBytesAsync
.
- Storage (iOS): Fixed an issue when downloading files with
5.4.2
- Overview
- Updated iOS and Android dependency versions, and fixed issues in the Android Resolver, FirebaseApp, Auth on Android, Database, and Dynamic Links on iOS.
- Changes
- General (Android): Fixed an infinite loop in Android Resolver when using auto-resolution.
- App: Fixed a race condition causing an occasional crash when FirebaseApp is garbage collected.
- Auth (Android): Removed an irrelevant error about the Java class FirebaseAuthWebException.
- Database: Fixed a race condition causing an occasional crash when FirebaseDatabase is garbage collected.
- Dynamic Links (iOS): Fixed Dynamic Links iOS when using Unity Cloud builds.
- Known Issues
- The garbage collection race condition mentioned above still occurs in Firebase Auth, Storage, and Instance ID. To work around the issue until a fixed is released, keep a reference to the Firebase object instance (for example, FirebaseAuth.DefaultInstance) to prevent garbage collection.
5.4.1
- Overview
- Fix for Google Analytics iOS dependency.
- Changes
- Analytics (iOS): Fixed issue with Google Analytics and Google App Measurement mismatch.
5.4.0
- Overview
- Improved support for .NET 4.x Unity projects, exposed method to enable Realtime Database peristence, bug fix for link shortening in Dynamic Links.
- Changes
- General: Added plugins that are pre-configured for import into .NET 4.x Unity projects.
- Realtime Database: Exposed method to enable persistence on mobile platforms.
- Dynamic Links (Android): Fixed short link generation failing with "error 8".
5.3.1
- Overview
- Updated iOS and Android dependency versions, bug fix for Invites, improved Android module initialization, fixed issue with Unity 2018.3 beta, added C# symbols and upgraded the Play Services Resolver.
- Changes
- General: Added symbols for all C# assemblies.
- General (Android): Improved module initialization so that the Unity SDK
does not attempt to use Android libraries unless the C# assembly is
included. For example, this allows users of the Firebase Analytics plugin
to use the
firebase-messaging
Android library without the Firebase Unity Messaging component. - General (Editor): Fixed loading of the Firebase.Editor.dll component in Unity 2018.3.0b2
- General (Editor): Updated the Play Services Resolver from version 1.2.88 to 1.2.91, see the GitHub changelog for details.
- General (Editor): Fixed the Android "Open in Console" button of the Firebase window (accessible under the Window > Firebase menu option) to correctly open the Firebase console in a web browser when the selected target platform is not Android in Unity 5.6 and above.
- Invites (Android): Fixed an exception when the Android Minimum Version code option is used on the Android.
5.3.0
- Overview
- Fixed bugs in Database, Functions, Storage, and the Android Resolver; changed minimum Xcode version to 9.4.1.
- Changes
- General (iOS): Minimum Xcode version is now 9.4.1.
- General (Android): Fixed an issue resolving additional types of version conflicts in the Android Resolver.
- General (Android): Fixed a hang in Unity 5.6.
- Database (Desktop): Fixed issues in ChildListener.
- Database (Desktop): Fixed a crash related to objects being garbage
- Functions (Android): Fixed an issue when a function returns an array.
- Storage: Fixed issues when transactions are canceled in .NET 4.6.
- Known Issues
- Dynamic Links (Android): Shortening dynamic links fails with "Error 8".
5.2.1
- Overview
- Updated Android and iOS dependency versions, and fixed bugs in App, Auth, Database, and the Android Resolver.
- Changes
- General (Android): Fixed an issue resolving certain types of version conflicts in the Android Resolver.
- App: Now throws an exception if any Firebase libraries are initialized
while
CheckAndFixDependenciesAsync()
is still in progress. - Auth, Database: Fixed a race condition returning Tasks when calling the same method twice in quick succession.
- Database (iOS/Android): Fixed a crash in DatabaseReference/Query during garbage collection (and other times).
5.2.0
- Overview
- Fixed bugs in Auth, changes to Functions, Messaging and Android builds.
- Changes
- Auth: Fixed per-frame allocation in the token refresh logic.
- Auth (Android): Fixed a crash in
FirebaseUser.UpdatePhoneNumberCredentialAsync()
. - Functions: Added a way to specify which region to run the function in.
- Messaging: Added
SubscribeAsync
andUnsubscribeAsync
, which return Tasks, and deprecatedSubscribe
andUnsubscribe
. - General (Android): Fixed a null reference in the Google Play Services availability checker.
- General (Android): Fixed Android problems merging Android library manifests in Unity 2018.
- General (Android): Added arm64-v8a build support.
5.1.1
- Overview
- Updated Android and iOS dependency versions only.
5.1.0
- Overview
- Changes to Analytics, Auth, and Database; and added Cloud Functions for Firebase.
- Changes
- Android (General): Fixed build issues due to the broken AndroidManifest merger in Unity 2018.x.
- Android (General): Improved compatibility with plugins that use Google Play services versions older than 15.0.0.
- Android (General): Improved dependency resolution when the Android SDK path is not configured.
- Analytics: Added
ResetAnalyticsData()
to clear all analytics data for an app from the device. - Analytics: Added
GetAnalyticsInstanceIdAsync()
which allows developers to retrieve the current app's analytics instance ID. - Auth: Linking a credential with a provider that has already been linked now produces an error.
- Auth (iOS): Fixed crashes in
FirebaseUser.LinkAndRetrieveDataWithCredential()
andFirebaseUser.ReauthenticateAndRetrieveData()
. - Auth (iOS): Fixed photo URL never returning a value on iOS.
- Auth (Android): Fixed setting the profile photo URL with
FirebaseUser.UpdateUserProfile()
. - Database: Added support for ServerValues in SetPriority methods.
- Database (iOS / Android): Now implemented as a wrapper around Firebase iOS and Android SDKs, to add offline support and increase reliability and performance.
- Functions: Added support for Cloud Functions for Firebase on iOS, Android, and desktop.
5.0.0
- Overview
- Renamed the static libraries to include firebase in their name, removed deprecated methods in App, Auth, and Storage, and exposed new APIs in Dynamic Links and Invites.
- Changes
- General: Library names that previously did not mention Firebase now have a "FirebaseCpp" prefix. For example, Auth.dll is now FirebaseCppAuth.dll.
- General (Android): Improved error handling when device is out of space.
- App: Removed deprecated method SetLogLevel.
- Auth: Removed deprecated properties PhotoUri and RefreshToken.
- Dynamic Links: Added MatchStrength to ReceivedDynamicLink, that describes the strength of the match for the received link.
- Invites: Added MatchStrength to InvitesReceivedEventArgs, that describes the strength of the match for the received invite.
- Storage: Deprecated StorageMetadata.DownloadUrl and StorageMetadata.DownloadUrls. Please use StorageReference.GetDownloadUrlAsync() instead.
- Messaging: Added an optional initialization options struct. This can be
used to suppress the prompt on iOS that requests permission to receive
notifications at start up. Permission can be requested manually using the
function
FirebaseMessaging.RequestPermissionAsync()
.
4.5.2
- Overview
- Fixed a build issue, and bugs in FirebaseApp, Auth and Linux Desktop.
- Changes
- Common: Updated Parse .NET 4.6 forwarding DLLs to fix build issues when using IL2CPP with the .NET 4.6 framework. The update works with IL2CPP in Unity 2017.2 and beyond. IL2CPP builds still fail in Unity 2017.1 as the IL2CPP distribution bundled with Unity 2017.1 does not correctly support type forwarding DLLs.
- Common: Root cert installation is now only performed in plugins that
use the .NET network stack (currently only the Realtime Database). This
should resolve exceptions on initialization that reference
/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
. - Common (Desktop): Fixed crash when using Firebase Auth, Storage, Realtime Database and Remote Config on Linux.
- Common (Android): Loading default AppOptions is now more robust on Android resulting in errors reported for missing fields rather than exiting the application with an error in the native library.
- Auth: Fixed regression in release 4.5.0 which led to an unhandled exception on auth token refresh.
- Known Issues
- IL2CPP builds will fail in Unity 2017.1 as the IL2CPP distribution bundled with Unity 2017.1 does not correctly support type forwarding DLLs.
4.5.1
- Overview
- Fixed some build issues, fixed bugs in Database, Dynamic Links, Invites, Remote Config, and Storage, and exposed new APIs in Auth on Desktop and Analytics.
- Changes
- Auth (Desktop): Added support for accessing user metadata.
- Analytics: Added SetMinimumSessionDuration() and SetSessionTimeoutDuration().
- Desktop: Fixed a bug when using iOS GoogleServicesInfo.plist config settings on desktop, which prevented "play in editor" mode from loading the correct project settings. (Only affected users who developed for iOS and not Android, who were using Desktop).
- Dynamic Links and Invites (Android): Fixed an issue with Dynamic Links getting lost when calling CheckAndFixDependenciesAsync.
- Messaging: Added TokenRegistrationOnInitEnabled property to enable or disable auto-token generation.
- Remote Config: Fixed a bug causing incorrect reporting of success or failure during a Fetch().
- Storage: Fixed a bug in Storage that was unescaping '/' characters in URL returned by StorageReference.GetDownloadUrlAsync(). This caused an "Invalid HTTP method/URL pair" error when attempting to download using the URL.
- General (Android): Fixed a bug causing Unity to hang due to FirebaseApp initializing on the wrong thread, when building in -batchmode.
4.5.0
- Overview
- Desktop workflow support for some features, Google Play Games authentication on Android, improved editor support, and changes to Auth, Instance ID and Storage.
- Changes
- General: Added support for plugins within the Unity Editor context.
- Auth, Remote Config: Stub implementations have been replaced with functional desktop implementations on Windows, OS X and Linux.
- Auth (Android): Added support for Google Play Games authentication.
- Auth, Instance ID: Fixed issues when destroying/finalizing Firebase objects.
- Storage: Added Md5Hash to StorageMetadata.
- Storage (iOS / Android): Now implemented as wrapper around Firebase iOS and Android SDKs, to increase reliability and performance.
- Known Issues
- On Windows and Mac OS, only 64-bit builds are supported (x86_64), not 32-bit.
4.4.3
- Overview
- Bug fixes in Dynamic Links, Invites, Remote Config and Storage.
- Changes
- Dynamic Links (iOS): Now fetches the invite ID when using universal links.
- Dynamic Links (iOS): Fixed crash on failure of dynamic link completion.
- Dynamic Links (iOS): Fixed an issue where some errors weren't correctly reported.
- Invites (Editor): Fixed SendInvite never completing.
- Remote Config (iOS): Fixed an issue where some errors weren't correctly reported.
- Storage: Fixed Metadata::content_language returning the wrong data.
- Storage (iOS): Reference paths formats are now consistent with other platforms.
- Storage (iOS): Fixed an issue where trying to upload to a non-existent path would not complete the Task.
- Storage (iOS): Fixed a crash when a download fails.
- Editor: Fixed a crash in the editor when using .NET 4.6 with certain versions of Unity 2017.
- General (Android): Fixed an issue when Google Play Services was out of date and would hang after returning from the update workflow.
4.4.2
- Overview
- Updated Firebase iOS dependency version.
- Changes
- General (iOS): Updated Firebase iOS Cocoapod dependency version.
4.4.1
- Overview
- Bug fixes for .Net 4.x, Storage, Realtime Database, and Instance ID on iOS.
- Changes
- Instance ID (iOS): GetTokenAsync no longer fails without an APNS certificate, and no longer forces registering for notifications.
- Storage: Added support for a progress listener and cancellation
token to
GetBytesAsync
. - Storage: Fixed an issue where the auth token was not refreshed when the application is started.
- Realtime Database: Fixed an issue where the auth token was not refreshed when the application is started.
- General (Android): Fixed a bug with handling transitive dependencies in the Android Resolver, where there was a common dependency name from different sources.
- General (Android): Fixed Android Resolver reporting non-existent conflicts.
- General: Fixed 'get_realtimeSinceStartup' Assert in development builds.
- General: Fixed issues when using types added in .NET 4.x such as Tuple. This requires switching to the appropriate Unity.Compat.dll when using .NET 4.x (see Known Issues).
4.4.0
- Overview
- Support for Instance ID, and an Auth fix.
- Changes
- Instance ID: Added Instance ID library.
- Auth: Fixed user metadata property names.
4.3.0
- Overview
- General threading / callback and other bug fixes and new features in Auth.
- Changes
- General: Fixed some invalid calls to Unity APIs from threads.
- General (Editor): Changed Firebase settings window to work with Unity 4.x
- General (Editor): Fixed GoogleServices-Info.plist not being read in batch mode.
- Auth: Fixed a bug due to a race condition fetching the authentication token which could cause Database and Storage operations to hang.
- Auth: Added support for accessing user metadata.
- Remote Config (Android): Fixed a bug where remote config values retrieved were misclassified as coming from a default config vs an active config.
- Database: Fixed hang when Time.timeScale is 0.
- Storage: Fixed hang when Time.timeScale is 0.
4.2.1
- Overview
- Bug fixes for Real-Time Database, Storage, API initialization in .NET 4.x, and improvements to the iOS and Android Resolver components.
- Changes
- General (Android): Fixed Android resolution when a project path contains apostrophes.
- General (iOS): Increased speed of iOS resolver dependency loading.
- General (Android): Removed legacy resolution method from Android Resolver. It is now only possible to use the Gradle or Gradle prebuild resolution methods.
- General (Android): Fixed Android Resolution issues with OpenJDK by updating the Gradle wrapper to 4.2.1.
- General (Android): Android resolution now also uses gradle.properties to pass parameters to Gradle in an attempt to workaround problems with command line argument
2 years ago