window.sendAnalyticsEvent = function(eventName, eventParams) { if (window.analytics) { try { // Ensure eventParams is an object const params = typeof eventParams === 'string' ? JSON.parse(eventParams) : eventParams; window.logEvent(window.analytics, eventName, params); } catch (e) { console.error("Failed to log event:", e); } } else { console.error("Firebase Analytics is not initialized."); } }; window.isAnalyticsInitialized = function() { return !!window.analytics; }; window.initializeFirebase = function(config) { import('https://www.gstatic.com/firebasejs/10.12.5/firebase-app.js').then(({ initializeApp }) => { import('https://www.gstatic.com/firebasejs/10.12.5/firebase-analytics.js').then(({ getAnalytics,logEvent,setUserId,setUserProperties }) => { const app = initializeApp(config); const analytics = getAnalytics(app); window.analytics = analytics; window.logEvent = logEvent; window.setFirebaseUserId = setUserId; window.setFirebaseUserProperties = setUserProperties; console.log("Firebase Analytics initialized successfully."); // Call the named callback function to notify Unity that Firebase is initialized if(window.analytics){ FirebaseInitialized(); } }).catch((error) => { console.error("Failed to load Firebase Analytics:", error); }); }).catch((error) => { console.error("Failed to load Firebase App:", error); }); }; function FirebaseInitialized() { console.log("Direct call to OnFirebaseInitialized"); postMessage({ eventType: 'firebaseInitialization' }); } window.setUserId = function(userId) { if (window.setFirebaseUserId) { try { window.setFirebaseUserId(window.analytics, userId); // Correct call to the Firebase function console.log("User ID set to: " + userId); } catch (e) { console.error("Failed to set User ID:", e); } } else { console.error("Firebase Analytics is not initialized."); } }; window.setUserProperties = function(id, properties) { if (window.setFirebaseUserProperties) { try { window.setFirebaseUserProperties(window.analytics, properties); // Correct call to the Firebase function console.log("User properties set for: " + id); } catch (e) { console.error("Failed to set User Properties:", e); } } else { console.error("Firebase Analytics is not initialized."); } };