You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Updated Analytics Windows to allow multiple DLL hashes, and add usage of Options struct. (#1744)
* Update script and code to handle known hashes for multiple DLLs.
* Fixed issues on Windows with multi-dll-hash code.
* Fix: Link Crypt32.lib for firebase_analytics on Windows
Add Crypt32.lib to the linked libraries for the firebase_analytics
target on Windows. This resolves a linker error LNK2019 for
_CryptBinaryToStringA@20, which was occurring in builds that
included analytics_windows.obj (e.g., firebase_analytics_test).
While CryptBinaryToStringA is not directly called in
analytics_windows.cc, the linker indicates that analytics_windows.obj
requires this symbol, possibly due to an indirect dependency or
other build system interactions. Linking Crypt32.lib provides the
necessary symbol.
* Fix: Link Crypt32.lib for firebase_analytics_test on Windows
I've added Crypt32.lib to the dependencies of the firebase_analytics_test
target in `analytics/tests/CMakeLists.txt` when building on Windows.
This is to resolve a persistent LNK2019 error for
_CryptBinaryToStringA@20, which occurs during the linking phase of
firebase_analytics_test.obj. This change directly links the
required system library at the test executable level.
* Update DLL.
* Remove unused file.
* Remove extra file.
* Initialize Analytics C SDK with AppOptions on desktop
This change updates the desktop analytics initialization to use the
newly required Options struct for the Windows C API.
- In `analytics/src/analytics_desktop.cc`:
- `firebase::analytics::Initialize(const App& app)` now retrieves
`app_id` and `package_name` from `app.options()`.
- It calls `GoogleAnalytics_Options_Create()` to create the options struct.
- Populates `app_id`, `package_name`, and sets a default for
`analytics_collection_enabled_at_first_launch`.
- Calls `GoogleAnalytics_Initialize()` with the populated options struct.
- String lifetimes for `app_id` and `package_name` are handled by
creating local `std::string` copies before passing their `c_str()`
to the C API.
* Update stub generation.
* Format code.
* Fix build issues.
* Update Analytics to use new options struct. (#1745)
* Initialize Analytics C SDK with AppOptions on desktop
This change updates the desktop analytics initialization to use the
newly required Options struct for the Windows C API.
- In `analytics/src/analytics_desktop.cc`:
- `firebase::analytics::Initialize(const App& app)` now retrieves
`app_id` and `package_name` from `app.options()`.
- It calls `GoogleAnalytics_Options_Create()` to create the options struct.
- Populates `app_id`, `package_name`, and sets a default for
`analytics_collection_enabled_at_first_launch`.
- Calls `GoogleAnalytics_Initialize()` with the populated options struct.
- String lifetimes for `app_id` and `package_name` are handled by
creating local `std::string` copies before passing their `c_str()`
to the C API.
* Format code.
* Fix build issues.
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
* Format code.
* Only display Analytics warnings if we are not in stub mode.
* Format code.
* Address review comments and add missing copyright notices.
* Remove extraneous commented out code.
* Add another known hash to the list.
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
0 commit comments