Skip to content

Commit be311a7

Browse files
committed
feat(analytics): new ConsentType
1 parent 0636cd4 commit be311a7

File tree

4 files changed

+107
-1
lines changed

4 files changed

+107
-1
lines changed

packages/firebase-analytics/common.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ export interface EventParameter {
1919
export enum ConsentType {
2020
Ad_Storage,
2121
Analytics_Storage,
22+
Ad_User_Data,
23+
Ad_Personalization,
2224
}
2325

2426
export enum ConsentStatus {

packages/firebase-analytics/index.android.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ export class Analytics implements IAnalytics {
132132
}
133133

134134
logEvent(name: string, parameters: EventParameter): void {
135-
this._native.logEvent(name, serialize(parameters) as android.os.Bundle);
135+
(<any>org).nativescript.firebase.analytics.FirebaseAnalytics.logEvent(this._native, name, serialize(parameters));
136136
}
137137

138138
resetAnalyticsData(): void {
@@ -156,6 +156,12 @@ export class Analytics implements IAnalytics {
156156
case ConsentType.Analytics_Storage:
157157
nativeKey = com.google.firebase.analytics.FirebaseAnalytics.ConsentType.ANALYTICS_STORAGE;
158158
break;
159+
case ConsentType.Ad_User_Data:
160+
nativeKey = com.google.firebase.analytics.FirebaseAnalytics.ConsentType.AD_USER_DATA;
161+
break;
162+
case ConsentType.Ad_Personalization:
163+
nativeKey = com.google.firebase.analytics.FirebaseAnalytics.ConsentType.AD_PERSONALIZATION;
164+
break;
159165
}
160166

161167
switch (value) {

packages/firebase-analytics/index.ios.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,12 @@ export class Analytics implements IAnalytics {
9191
case ConsentType.Analytics_Storage:
9292
nativeKey = FIRConsentTypeAnalyticsStorage;
9393
break;
94+
case ConsentType.Ad_User_Data:
95+
nativeKey = FIRConsentTypeAdUserData;
96+
break;
97+
case ConsentType.Ad_Personalization:
98+
nativeKey = FIRConsentTypeAdPersonalization;
99+
break;
94100
}
95101

96102
switch (value) {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
package org.nativescript.firebase.analytics
2+
3+
import android.os.Bundle
4+
import android.os.Handler
5+
import android.os.Looper
6+
import org.json.JSONObject
7+
import java.util.concurrent.Executors
8+
import com.google.firebase.analytics.logEvent
9+
10+
class FirebaseAnalytics {
11+
12+
class NativeScriptError(message: String?) : Exception(message) {}
13+
14+
interface Callback<T> {
15+
fun onSuccess(result: T?)
16+
fun onError(error: Any?)
17+
}
18+
19+
20+
companion object {
21+
22+
23+
@JvmStatic
24+
fun logEvent(
25+
analytics: com.google.firebase.analytics.FirebaseAnalytics,
26+
eventName: String,
27+
value: Bundle?
28+
) {
29+
analytics.logEvent(eventName, value)
30+
}
31+
32+
@JvmStatic
33+
fun logEvent(
34+
analytics: com.google.firebase.analytics.FirebaseAnalytics,
35+
eventName: String,
36+
value: Long
37+
) {
38+
analytics.logEvent(eventName) {
39+
param(eventName, value)
40+
}
41+
}
42+
43+
@JvmStatic
44+
fun logEvent(
45+
analytics: com.google.firebase.analytics.FirebaseAnalytics,
46+
eventName: String,
47+
value: Double
48+
) {
49+
analytics.logEvent(eventName) {
50+
param(eventName, value)
51+
}
52+
}
53+
54+
@JvmStatic
55+
fun logEvent(
56+
analytics: com.google.firebase.analytics.FirebaseAnalytics,
57+
eventName: String,
58+
value: Array<Bundle>
59+
) {
60+
analytics.logEvent(eventName) {
61+
param(eventName, value)
62+
}
63+
}
64+
65+
@JvmStatic
66+
fun logEvent(
67+
analytics: com.google.firebase.analytics.FirebaseAnalytics,
68+
eventName: String,
69+
value: String
70+
) {
71+
analytics.logEvent(eventName) {
72+
param(eventName, value)
73+
}
74+
}
75+
76+
77+
@JvmStatic
78+
var executorsCount = 3
79+
set(value) {
80+
executors = Executors.newFixedThreadPool(value)
81+
field = value
82+
}
83+
84+
private var executors = Executors.newFixedThreadPool(executorsCount)
85+
86+
private var handler = Handler(Looper.getMainLooper())
87+
private fun runOnMain(runnable: Runnable) {
88+
handler.post(runnable)
89+
}
90+
91+
}
92+
}

0 commit comments

Comments
 (0)