Skip to content

Commit 3797445

Browse files
authored
Merge pull request #14 from logicwind/dev
fixed crash issue while not pass dimension
2 parents 4e1f8f5 + 0ad96c1 commit 3797445

File tree

5 files changed

+31
-33
lines changed

5 files changed

+31
-33
lines changed

android/src/main/java/com/logicwind/reactnativematomotracker/ReactNativeMatomoTrackerModule.kt

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ class ReactNativeMatomoTrackerModule(reactContext: ReactApplicationContext) :
8181
}
8282

8383
@ReactMethod
84-
fun trackScreen(screenName:String,title:String,dimensions:ReadableArray) {
84+
fun trackScreen(screenName:String,title:String,dimensions:ReadableArray?=null) {
8585
if (tracker != null) {
8686
val trackBuilder = TrackHelper.track()
8787
trackActionCustomDimension(dimensions,trackBuilder)
@@ -90,7 +90,7 @@ class ReactNativeMatomoTrackerModule(reactContext: ReactApplicationContext) :
9090
}
9191

9292
@ReactMethod
93-
fun trackEvent(category:String,action:String,name:String,value:Float,dimensions:ReadableArray) {
93+
fun trackEvent(category:String,action:String,name:String,value:Float,dimensions:ReadableArray?=null) {
9494
if (tracker != null) {
9595
val trackBuilder = TrackHelper.track()
9696
trackActionCustomDimension(dimensions,trackBuilder)
@@ -106,7 +106,7 @@ class ReactNativeMatomoTrackerModule(reactContext: ReactApplicationContext) :
106106

107107

108108
@ReactMethod
109-
fun trackOutlink(url:String,dimensions: ReadableArray) {
109+
fun trackOutlink(url:String,dimensions: ReadableArray?=null) {
110110
val validUrl = URL(url)
111111
if (tracker != null) {
112112
val trackBuilder = TrackHelper.track()
@@ -118,7 +118,7 @@ class ReactNativeMatomoTrackerModule(reactContext: ReactApplicationContext) :
118118
}
119119

120120
@ReactMethod
121-
fun trackSearch(keyword:String,dimensions: ReadableArray) {
121+
fun trackSearch(keyword:String,dimensions: ReadableArray?=null) {
122122
if (tracker != null) {
123123
val trackBuilder = TrackHelper.track()
124124
trackActionCustomDimension(dimensions,trackBuilder)
@@ -129,7 +129,7 @@ class ReactNativeMatomoTrackerModule(reactContext: ReactApplicationContext) :
129129
}
130130

131131
@ReactMethod
132-
fun trackImpression(contentName:String,dimensions: ReadableArray) {
132+
fun trackImpression(contentName:String,dimensions: ReadableArray?=null) {
133133
if (tracker != null) {
134134
val trackBuilder = TrackHelper.track()
135135
trackActionCustomDimension(dimensions,trackBuilder)
@@ -141,7 +141,7 @@ class ReactNativeMatomoTrackerModule(reactContext: ReactApplicationContext) :
141141

142142

143143
@ReactMethod
144-
fun trackInteraction(contentName:String,contentInteraction:String,dimensions: ReadableArray) {
144+
fun trackInteraction(contentName:String,contentInteraction:String,dimensions: ReadableArray?=null) {
145145
if (tracker != null) {
146146
val trackBuilder = TrackHelper.track()
147147
trackActionCustomDimension(dimensions,trackBuilder)
@@ -152,7 +152,7 @@ class ReactNativeMatomoTrackerModule(reactContext: ReactApplicationContext) :
152152
}
153153

154154
@ReactMethod
155-
fun trackDownload(category: String,action: String,url: String,dimensions: ReadableArray) {
155+
fun trackDownload(category: String,action: String,url: String,dimensions: ReadableArray?=null) {
156156
if (tracker != null) {
157157
val trackBuilder = TrackHelper.track()
158158
trackActionCustomDimension(dimensions,trackBuilder)
@@ -169,7 +169,7 @@ class ReactNativeMatomoTrackerModule(reactContext: ReactApplicationContext) :
169169
}
170170

171171
@ReactMethod
172-
fun trackScreens(dimensions: ReadableArray) {
172+
fun trackScreens(dimensions: ReadableArray?=null) {
173173
if (tracker != null) {
174174
val trackBuilder = TrackHelper.track()
175175
trackActionCustomDimension(dimensions,trackBuilder)
@@ -178,7 +178,7 @@ class ReactNativeMatomoTrackerModule(reactContext: ReactApplicationContext) :
178178
}
179179

180180
@ReactMethod
181-
fun trackGoal(goalId:Int,revenue:Float,dimensions: ReadableArray) {
181+
fun trackGoal(goalId:Int,revenue:Float,dimensions: ReadableArray?=null) {
182182
if (tracker != null) {
183183
val trackBuilder = TrackHelper.track()
184184
trackActionCustomDimension(dimensions,trackBuilder)
@@ -225,9 +225,7 @@ class ReactNativeMatomoTrackerModule(reactContext: ReactApplicationContext) :
225225
}
226226

227227
@ReactMethod
228-
fun trackCampaign(title:String, campaignUrl: String,dimensions:ReadableArray) {
229-
230-
228+
fun trackCampaign(title:String, campaignUrl: String,dimensions:ReadableArray?=null) {
231229

232230
if (tracker != null) {
233231
val userAgent = getUserAgent(context)
@@ -238,7 +236,7 @@ class ReactNativeMatomoTrackerModule(reactContext: ReactApplicationContext) :
238236
"&url=${encode(campaignUrl)}" +
239237
"&action_name=${title}"
240238

241-
if (dimensions.size() > 0) {
239+
if (dimensions!=null && dimensions.size() > 0) {
242240
for (i in 0 until dimensions.size()) {
243241
val dimension = dimensions.getMap(i)
244242
val key = dimension?.getString("key")
@@ -279,11 +277,11 @@ class ReactNativeMatomoTrackerModule(reactContext: ReactApplicationContext) :
279277

280278
@ReactMethod
281279
fun trackCustomDimension(
282-
dimensions: ReadableArray
280+
dimensions: ReadableArray?=null
283281
) {
284282

285283
val trackBuilder = TrackHelper.track()
286-
if (dimensions.size() > 0) {
284+
if ( dimensions!=null && dimensions.size() > 0) {
287285
for (i in 0 until dimensions.size()) {
288286
val dimension = dimensions.getMap(i)
289287
val key = dimension?.getString("key")
@@ -318,7 +316,7 @@ class ReactNativeMatomoTrackerModule(reactContext: ReactApplicationContext) :
318316
mediaHeight: String,
319317
mediaSE: String,
320318
mediaFullScreen:String,
321-
actionDimensions: ReadableArray
319+
actionDimensions: ReadableArray?=null
322320
) {
323321

324322
if(siteId.isNotEmpty() && tracker!=null){
@@ -411,10 +409,10 @@ class ReactNativeMatomoTrackerModule(reactContext: ReactApplicationContext) :
411409
}
412410

413411
fun trackActionCustomDimension(
414-
dimensions: ReadableArray,
412+
dimensions: ReadableArray?=null,
415413
matomoTracker: TrackHelper
416414
): TrackHelper {
417-
if (dimensions.size() > 0) {
415+
if (dimensions!=null && dimensions.size() > 0) {
418416
for (i in 0 until dimensions.size()) {
419417
val dimension = dimensions.getMap(i)
420418
val key = dimension?.getString("key")

example/src/App.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ export default function App() {
8686
<Pressable
8787
style={styles.button}
8888
onPress={() => {
89-
trackEvent('test category', 'test action', ' test name', 2, [
89+
trackEvent('test category', 'test action', ' test name', 2,[
9090
{ key: "1",value:"visit dimension 1"},
9191
{ key:"2",value:"visit dimension 2"},
9292
{ key:"3",value:"action dimension 3"},

ios/ReactNativeMatomoTracker.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -275,7 +275,7 @@ class ReactNativeMatomoTracker: NSObject {
275275

276276

277277
let urlString = "\(baseUrl)?\(query)"
278-
278+
279279
if let url = URL(string: urlString) {
280280
var request = URLRequest(url: url)
281281
let device = Device.makeCurrentDevice();
@@ -285,9 +285,9 @@ class ReactNativeMatomoTracker: NSObject {
285285
request.setValue(userAgent, forHTTPHeaderField: "User-Agent")
286286
request.setValue("\(authToken)", forHTTPHeaderField: "token_auth")
287287
let task = URLSession.shared.dataTask(with: request) { data, response, error in
288-
if let httpResponse = response as? HTTPURLResponse {
289-
let statusCode = httpResponse.statusCode
290-
}
288+
if let httpResponse = response as? HTTPURLResponse {
289+
let statusCode = httpResponse.statusCode
290+
}
291291
}
292292
task.resume()
293293
}

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@logicwind/react-native-matomo-tracker",
3-
"version": "0.3.9",
3+
"version": "0.3.10",
44
"description": "React-native plugin for matomo analytics",
55
"main": "lib/commonjs/index",
66
"module": "lib/module/index",

src/index.tsx

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,35 +22,35 @@ export function createTracker(uri: String="", siteId: Number=0,token:String="")
2222
}
2323

2424
export function trackScreen(screenName: String, title: String,actionDimensions?:Array<Object>) {
25-
return ReactNativeMatomoTracker.trackScreen(screenName, title,actionDimensions??[]);
25+
return ReactNativeMatomoTracker.trackScreen(screenName, title,actionDimensions);
2626
}
2727

2828
export function trackEvent(category:String,action:String,name:String="",value:Number=0,actionDimensions?:Array<Object>) {
29-
return ReactNativeMatomoTracker.trackEvent(category,action,name,value,actionDimensions??[]);
29+
return ReactNativeMatomoTracker.trackEvent(category,action,name,value,actionDimensions);
3030
}
3131

3232
export function trackDispatch(){
3333
return ReactNativeMatomoTracker.trackDispatch();
3434
}
3535

3636
export function trackOutlink(url:String,actionDimensions?:Array<Object>) {
37-
return ReactNativeMatomoTracker.trackOutlink(url,actionDimensions??[]);
37+
return ReactNativeMatomoTracker.trackOutlink(url,actionDimensions);
3838
}
3939

4040
export function trackSearch(keyword:String,actionDimensions?:Array<Object>) {
41-
return ReactNativeMatomoTracker.trackSearch(keyword,actionDimensions??[]);
41+
return ReactNativeMatomoTracker.trackSearch(keyword,actionDimensions);
4242
}
4343

4444
export function trackImpression(contentName:String,actionDimensions?:Array<Object>){
45-
return ReactNativeMatomoTracker.trackImpression(contentName,actionDimensions??[]);
45+
return ReactNativeMatomoTracker.trackImpression(contentName,actionDimensions);
4646
}
4747

4848
export function trackInteraction(contentName:String,contentInteraction:String,actionDimensions?:Array<Object>) {
49-
return ReactNativeMatomoTracker.trackInteraction(contentName,contentInteraction,actionDimensions??[]);
49+
return ReactNativeMatomoTracker.trackInteraction(contentName,contentInteraction,actionDimensions);
5050
}
5151

5252
export function trackDownload(category:String,action:String,url:String,actionDimensions?:Array<Object>){
53-
return ReactNativeMatomoTracker.trackDownload(category,action,url,actionDimensions??[]);
53+
return ReactNativeMatomoTracker.trackDownload(category,action,url,actionDimensions);
5454
}
5555

5656
export function setUserId(id:String) {
@@ -79,7 +79,7 @@ export function startSession() {
7979
}
8080

8181
export function trackCampaign(title:String,campaignUrl:String,actionDimensions?:Array<Object>) {
82-
return ReactNativeMatomoTracker.trackCampaign(title,campaignUrl,actionDimensions??{});
82+
return ReactNativeMatomoTracker.trackCampaign(title,campaignUrl,actionDimensions);
8383
}
8484

8585
export function trackMediaEvent(
@@ -105,7 +105,7 @@ export function trackMediaEvent(
105105
}
106106

107107
export function trackCustomDimension(
108-
{dimensions=[]}:{
108+
{dimensions}:{
109109
dimensions?: Array<Object>
110110
}): Promise<number> {
111111
return ReactNativeMatomoTracker.trackCustomDimension(dimensions);

0 commit comments

Comments
 (0)