diff --git a/package.json b/package.json index ad48e211..c744a36b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "plugins", - "version": "3.2.1", + "version": "3.2.2", "license": "MIT", "scripts": { "postinstall": "husky install && npx ts-patch install", diff --git a/packages/firebase-admob/package.json b/packages/firebase-admob/package.json index 10fb883a..f0cf661b 100644 --- a/packages/firebase-admob/package.json +++ b/packages/firebase-admob/package.json @@ -1,6 +1,6 @@ { "name": "@nativescript/firebase-admob", - "version": "3.2.1", + "version": "3.2.2", "description": "NativeScript Firebase - Admob", "main": "index", "typings": "index.d.ts", diff --git a/packages/firebase-analytics/README.md b/packages/firebase-analytics/README.md index 03567509..7c2b18b9 100644 --- a/packages/firebase-analytics/README.md +++ b/packages/firebase-analytics/README.md @@ -231,6 +231,8 @@ See the description [here](https://firebase.google.com/docs/reference/android/co enum ConsentType { Ad_Storage, Analytics_Storage, + Ad_User_Data, + Ad_Personalization, } ``` #### ConsentStatus diff --git a/packages/firebase-analytics/common.ts b/packages/firebase-analytics/common.ts index 6f402d9c..fe70c08c 100644 --- a/packages/firebase-analytics/common.ts +++ b/packages/firebase-analytics/common.ts @@ -19,6 +19,8 @@ export interface EventParameter { export enum ConsentType { Ad_Storage, Analytics_Storage, + Ad_User_Data, + Ad_Personalization, } export enum ConsentStatus { diff --git a/packages/firebase-analytics/index.android.ts b/packages/firebase-analytics/index.android.ts index 93a6f6f8..3c384e2b 100644 --- a/packages/firebase-analytics/index.android.ts +++ b/packages/firebase-analytics/index.android.ts @@ -132,7 +132,7 @@ export class Analytics implements IAnalytics { } logEvent(name: string, parameters: EventParameter): void { - this._native.logEvent(name, serialize(parameters) as android.os.Bundle); + (org).nativescript.firebase.analytics.FirebaseAnalytics.logEvent(this._native, name, serialize(parameters)); } resetAnalyticsData(): void { @@ -156,6 +156,12 @@ export class Analytics implements IAnalytics { case ConsentType.Analytics_Storage: nativeKey = com.google.firebase.analytics.FirebaseAnalytics.ConsentType.ANALYTICS_STORAGE; break; + case ConsentType.Ad_User_Data: + nativeKey = com.google.firebase.analytics.FirebaseAnalytics.ConsentType.AD_USER_DATA; + break; + case ConsentType.Ad_Personalization: + nativeKey = com.google.firebase.analytics.FirebaseAnalytics.ConsentType.AD_PERSONALIZATION; + break; } switch (value) { diff --git a/packages/firebase-analytics/index.ios.ts b/packages/firebase-analytics/index.ios.ts index a0c23c69..96f7c064 100644 --- a/packages/firebase-analytics/index.ios.ts +++ b/packages/firebase-analytics/index.ios.ts @@ -91,6 +91,12 @@ export class Analytics implements IAnalytics { case ConsentType.Analytics_Storage: nativeKey = FIRConsentTypeAnalyticsStorage; break; + case ConsentType.Ad_User_Data: + nativeKey = FIRConsentTypeAdUserData; + break; + case ConsentType.Ad_Personalization: + nativeKey = FIRConsentTypeAdPersonalization; + break; } switch (value) { diff --git a/packages/firebase-analytics/package.json b/packages/firebase-analytics/package.json index af0cdb88..3e850b8d 100644 --- a/packages/firebase-analytics/package.json +++ b/packages/firebase-analytics/package.json @@ -1,6 +1,6 @@ { "name": "@nativescript/firebase-analytics", - "version": "3.2.1", + "version": "3.2.2", "description": "NativeScript Firebase - Analytics", "main": "index", "typings": "index.d.ts", diff --git a/packages/firebase-analytics/platforms/android/java/org/nativescript/firebase/analytics/FirebaseAnalytics.kt b/packages/firebase-analytics/platforms/android/java/org/nativescript/firebase/analytics/FirebaseAnalytics.kt new file mode 100644 index 00000000..eacba1bc --- /dev/null +++ b/packages/firebase-analytics/platforms/android/java/org/nativescript/firebase/analytics/FirebaseAnalytics.kt @@ -0,0 +1,92 @@ +package org.nativescript.firebase.analytics + +import android.os.Bundle +import android.os.Handler +import android.os.Looper +import org.json.JSONObject +import java.util.concurrent.Executors +import com.google.firebase.analytics.logEvent + +class FirebaseAnalytics { + + class NativeScriptError(message: String?) : Exception(message) {} + + interface Callback { + fun onSuccess(result: T?) + fun onError(error: Any?) + } + + + companion object { + + + @JvmStatic + fun logEvent( + analytics: com.google.firebase.analytics.FirebaseAnalytics, + eventName: String, + value: Bundle? + ) { + analytics.logEvent(eventName, value) + } + + @JvmStatic + fun logEvent( + analytics: com.google.firebase.analytics.FirebaseAnalytics, + eventName: String, + value: Long + ) { + analytics.logEvent(eventName) { + param(eventName, value) + } + } + + @JvmStatic + fun logEvent( + analytics: com.google.firebase.analytics.FirebaseAnalytics, + eventName: String, + value: Double + ) { + analytics.logEvent(eventName) { + param(eventName, value) + } + } + + @JvmStatic + fun logEvent( + analytics: com.google.firebase.analytics.FirebaseAnalytics, + eventName: String, + value: Array + ) { + analytics.logEvent(eventName) { + param(eventName, value) + } + } + + @JvmStatic + fun logEvent( + analytics: com.google.firebase.analytics.FirebaseAnalytics, + eventName: String, + value: String + ) { + analytics.logEvent(eventName) { + param(eventName, value) + } + } + + + @JvmStatic + var executorsCount = 3 + set(value) { + executors = Executors.newFixedThreadPool(value) + field = value + } + + private var executors = Executors.newFixedThreadPool(executorsCount) + + private var handler = Handler(Looper.getMainLooper()) + private fun runOnMain(runnable: Runnable) { + handler.post(runnable) + } + + } +} diff --git a/packages/firebase-app-check-debug/package.json b/packages/firebase-app-check-debug/package.json index a41d2817..1be073f0 100644 --- a/packages/firebase-app-check-debug/package.json +++ b/packages/firebase-app-check-debug/package.json @@ -1,6 +1,6 @@ { "name": "@nativescript/firebase-app-check-debug", - "version": "3.2.1", + "version": "3.2.2", "description": "NativeScript Firebase - App Check", "main": "index", "typings": "index.d.ts", diff --git a/packages/firebase-app-check/package.json b/packages/firebase-app-check/package.json index 87a548c4..98cc0a1d 100644 --- a/packages/firebase-app-check/package.json +++ b/packages/firebase-app-check/package.json @@ -1,6 +1,6 @@ { "name": "@nativescript/firebase-app-check", - "version": "3.2.1", + "version": "3.2.2", "description": "NativeScript Firebase - App Check", "main": "index", "typings": "index.d.ts", diff --git a/packages/firebase-auth/package.json b/packages/firebase-auth/package.json index 6f7d057d..01083c67 100644 --- a/packages/firebase-auth/package.json +++ b/packages/firebase-auth/package.json @@ -1,6 +1,6 @@ { "name": "@nativescript/firebase-auth", - "version": "3.2.1", + "version": "3.2.2", "description": "NativeScript Firebase - Auth", "main": "index", "typings": "index.d.ts", diff --git a/packages/firebase-core/package.json b/packages/firebase-core/package.json index 43a4abca..9c694217 100644 --- a/packages/firebase-core/package.json +++ b/packages/firebase-core/package.json @@ -1,6 +1,6 @@ { "name": "@nativescript/firebase-core", - "version": "3.2.1", + "version": "3.2.2", "description": "NativeScript Firebase - Core", "main": "index", "typings": "index.d.ts", diff --git a/packages/firebase-crashlytics/package.json b/packages/firebase-crashlytics/package.json index 6cc4a1b7..848b87f6 100644 --- a/packages/firebase-crashlytics/package.json +++ b/packages/firebase-crashlytics/package.json @@ -1,6 +1,6 @@ { "name": "@nativescript/firebase-crashlytics", - "version": "3.2.1", + "version": "3.2.2", "description": "NativeScript Firebase - Crashlytics", "main": "index", "typings": "index.d.ts", diff --git a/packages/firebase-database/package.json b/packages/firebase-database/package.json index 21e4dddf..b6ee2c80 100644 --- a/packages/firebase-database/package.json +++ b/packages/firebase-database/package.json @@ -1,6 +1,6 @@ { "name": "@nativescript/firebase-database", - "version": "3.2.1", + "version": "3.2.2", "description": "NativeScript Firebase - Database", "main": "index", "typings": "index.d.ts", diff --git a/packages/firebase-dynamic-links/package.json b/packages/firebase-dynamic-links/package.json index 27305fca..b093f8b0 100644 --- a/packages/firebase-dynamic-links/package.json +++ b/packages/firebase-dynamic-links/package.json @@ -1,6 +1,6 @@ { "name": "@nativescript/firebase-dynamic-links", - "version": "3.2.1", + "version": "3.2.2", "description": "NativeScript Firebase - Dynamic Links", "main": "index", "typings": "index.d.ts", diff --git a/packages/firebase-firestore/package.json b/packages/firebase-firestore/package.json index 6d5fcd54..9883934d 100644 --- a/packages/firebase-firestore/package.json +++ b/packages/firebase-firestore/package.json @@ -1,6 +1,6 @@ { "name": "@nativescript/firebase-firestore", - "version": "3.2.1", + "version": "3.2.2", "description": "NativeScript Firebase - Firestore", "main": "index", "typings": "index.d.ts", diff --git a/packages/firebase-functions/package.json b/packages/firebase-functions/package.json index 72396bd4..df0fe382 100644 --- a/packages/firebase-functions/package.json +++ b/packages/firebase-functions/package.json @@ -1,6 +1,6 @@ { "name": "@nativescript/firebase-functions", - "version": "3.2.1", + "version": "3.2.2", "description": "NativeScript Firebase - Functions", "main": "index", "typings": "index.d.ts", diff --git a/packages/firebase-in-app-messaging/package.json b/packages/firebase-in-app-messaging/package.json index 1f0f3cc8..cc36ea34 100644 --- a/packages/firebase-in-app-messaging/package.json +++ b/packages/firebase-in-app-messaging/package.json @@ -1,6 +1,6 @@ { "name": "@nativescript/firebase-in-app-messaging", - "version": "3.2.1", + "version": "3.2.2", "description": "NativeScript Firebase - In App Messaging", "main": "index", "typings": "index.d.ts", diff --git a/packages/firebase-installations/package.json b/packages/firebase-installations/package.json index d082e87b..5dc6b498 100644 --- a/packages/firebase-installations/package.json +++ b/packages/firebase-installations/package.json @@ -1,6 +1,6 @@ { "name": "@nativescript/firebase-installations", - "version": "3.2.1", + "version": "3.2.2", "description": "NativeScript Firebase - Installations", "main": "index", "typings": "index.d.ts", diff --git a/packages/firebase-messaging-core/package.json b/packages/firebase-messaging-core/package.json index 08408e5a..24979333 100644 --- a/packages/firebase-messaging-core/package.json +++ b/packages/firebase-messaging-core/package.json @@ -1,6 +1,6 @@ { "name": "@nativescript/firebase-messaging-core", - "version": "3.2.1", + "version": "3.2.2", "description": "NativeScript Push Messaging Core", "main": "index", "typings": "index.d.ts", diff --git a/packages/firebase-messaging/package.json b/packages/firebase-messaging/package.json index b143cc9d..c3228066 100644 --- a/packages/firebase-messaging/package.json +++ b/packages/firebase-messaging/package.json @@ -1,6 +1,6 @@ { "name": "@nativescript/firebase-messaging", - "version": "3.2.1", + "version": "3.2.2", "description": "NativeScript Firebase - Messaging", "main": "index", "typings": "index.d.ts", diff --git a/packages/firebase-performance/package.json b/packages/firebase-performance/package.json index 22790883..a6f1adf8 100644 --- a/packages/firebase-performance/package.json +++ b/packages/firebase-performance/package.json @@ -1,6 +1,6 @@ { "name": "@nativescript/firebase-performance", - "version": "3.2.1", + "version": "3.2.2", "description": "NativeScript Firebase - Performancee", "main": "index", "typings": "index.d.ts", diff --git a/packages/firebase-remote-config/package.json b/packages/firebase-remote-config/package.json index 0b7cff40..5be4585d 100644 --- a/packages/firebase-remote-config/package.json +++ b/packages/firebase-remote-config/package.json @@ -1,6 +1,6 @@ { "name": "@nativescript/firebase-remote-config", - "version": "3.2.1", + "version": "3.2.2", "description": "NativeScript Firebase - Remote Config", "main": "index", "typings": "index.d.ts", diff --git a/packages/firebase-storage/package.json b/packages/firebase-storage/package.json index 7f13de1b..e696bbc0 100644 --- a/packages/firebase-storage/package.json +++ b/packages/firebase-storage/package.json @@ -1,6 +1,6 @@ { "name": "@nativescript/firebase-storage", - "version": "3.2.1", + "version": "3.2.2", "description": "NativeScript Firebase - Storage", "main": "index", "typings": "index.d.ts", diff --git a/packages/firebase-ui/package.json b/packages/firebase-ui/package.json index dd516dbb..ff634618 100644 --- a/packages/firebase-ui/package.json +++ b/packages/firebase-ui/package.json @@ -1,6 +1,6 @@ { "name": "@nativescript/firebase-ui", - "version": "3.2.1", + "version": "3.2.2", "description": "NativeScript Firebase - UI", "main": "index", "typings": "index.d.ts",