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
Copy file name to clipboardExpand all lines: README.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -47,7 +47,7 @@ This will add a line with the dependency like this to your `pubspec.yaml`:
47
47
48
48
```yml
49
49
dependencies:
50
-
snowplow_tracker: ^0.2.0
50
+
snowplow_tracker: ^0.3.0
51
51
```
52
52
53
53
Import the package into your Dart code:
@@ -157,7 +157,7 @@ The project is located in the `example` subfolder.
157
157
Running the example app on Android/iOS:
158
158
159
159
1. Change into the project folder and `cd example`
160
-
2. Run the integration tests (replace the Snowplow Micro URI with your IP address and set your iPhone or Android simulator name or remove to use default):
160
+
2. Run the app (replace the Snowplow Micro URI with your IP address and set your iPhone or Android simulator name or remove to use default):
161
161
162
162
```bash
163
163
flutter run --dart-define=ENDPOINT=http://192.168.100.127:9090 -d "iPhone 13 Pro"
@@ -167,13 +167,13 @@ To run the example app on Web:
167
167
168
168
1.[Download ChromeDriver](https://chromedriver.chromium.org/downloads) and launch it using `chromedriver --port=4444`
169
169
2. Change into the project folder and `cd example`
170
-
3. Run the integration tests (replace the Snowplow Micro URI with your IP address):
170
+
3. Run the app (replace the Snowplow Micro URI with your IP address):
171
171
172
172
```bash
173
173
flutter run --dart-define=ENDPOINT=http://0.0.0.0:9090 -d Chrome
174
174
```
175
175
176
-
Alternatively, you may also run the integration tests from Visual Studio Code using the "Run Example App" target (update your IP address in launch.json).
176
+
Alternatively, if you use Visual Studio Code you may also run the example app using the "Run Example App" target (update your IP address in .vscode/launch.json).
Copy file name to clipboardExpand all lines: android/src/main/kotlin/com/snowplowanalytics/snowplow_tracker/readers/configurations/TrackerConfigurationReader.kt
+8-3Lines changed: 8 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -25,6 +25,10 @@ class TrackerConfigurationReader(values: Map<String, Any>) {
Copy file name to clipboardExpand all lines: android/src/main/kotlin/com/snowplowanalytics/snowplow_tracker/readers/messages/CreateTrackerMessageReader.kt
+5Lines changed: 5 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -33,4 +33,9 @@ class CreateTrackerMessageReader(val values: Map<String, Any>) {
33
33
GdprConfigurationReader(it asMap<String, Any>)
34
34
}
35
35
}
36
+
val emitterConfig:EmitterConfigurationReader? by lazy {
Copy file name to clipboardExpand all lines: dartdoc_options.yaml
+4-1Lines changed: 4 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -15,7 +15,10 @@ dartdoc:
15
15
"Sessions and data model":
16
16
markdown: doc/05-sessions.md
17
17
name: Sessions and data model
18
-
categoryOrder: ["Getting started", "Initialization and configuration", "Tracking events", "Adding data to your events", "Sessions and data model"]
18
+
"Anonymous tracking":
19
+
markdown: doc/06-anonymous-tracking.md
20
+
name: Anonymous tracking
21
+
categoryOrder: ["Getting started", "Initialization and configuration", "Tracking events", "Adding data to your events", "Sessions and data model", "Anonymous tracking"]
Copy file name to clipboardExpand all lines: doc/02-configuration.md
+17-4Lines changed: 17 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,6 +25,7 @@ The only required attributes of the `Snowplow.createTracker` method are `namespa
25
25
|`trackerConfig`|`TrackerConfiguration?`| Configuration of the tracker and the core tracker properties. |
26
26
|`gdprConfig`|`GdprConfiguration?`| Determines the GDPR context that will be attached to all events sent by the tracker. |
27
27
|`subjectConfig`|`SubjectConfiguration?`| Subject information about tracked user and device that is added to events. |
28
+
|`emitterConfig`|`EmitterConfiguration?`| Configuration for how the events are sent. |
28
29
29
30
Setting a custom POST path can be useful in avoiding adblockers; it replaces the default "com.snowplowanalytics/snowplow/tp2". Your event collector must also be configured to accept the custom path.
30
31
@@ -37,16 +38,28 @@ Setting a custom POST path can be useful in avoiding adblockers; it replaces the
37
38
|`appId`|`String?`| Identifier of the app. | ✔ | ✔ | ✔ | null on Web, bundle identifier on iOS/Android |
38
39
|`devicePlatform`|`DevicePlatform?`| The device platform the tracker runs on. Available options are provided by the `DevicePlatform` enum. | ✔ | ✔ | ✔ | "web" on Web, "mob" on iOS/Android |
39
40
|`base64Encoding`|`bool?`| Indicates whether payload JSON data should be base64 encoded. | ✔ | ✔ | ✔ | true |
40
-
|`platformContext`|`bool?`| Indicates whether platform context should be attached to tracked events. | ✔ | ✔ || true |
41
-
|`geoLocationContext`|`bool?`| Indicates whether geo-location context should be attached to tracked events. | ✔ | ✔ | ✔ | false |
42
-
|`sessionContext`|`bool?`| Indicates whether session context should be attached to tracked events. | ✔ | ✔ | ✔ | true |
43
-
|`webPageContext`|`bool?`| Indicates whether context about current web page should be attached to tracked events. ||| ✔ | true |
41
+
|`platformContext`|`bool?`| Indicates whether [platform](http://iglucentral.com/schemas/com.snowplowanalytics.snowplow/mobile_context/jsonschema/1-0-2) (mobile) context should be attached to tracked events. | ✔ | ✔ || true |
42
+
|`geoLocationContext`|`bool?`| Indicates whether [geo-location](http://iglucentral.com/schemas/com.snowplowanalytics.snowplow/geolocation_context/jsonschema/1-1-0) context should be attached to tracked events. | ✔ | ✔ | ✔ | false |
43
+
|`sessionContext`|`bool?`| Indicates whether [session](http://iglucentral.com/schemas/com.snowplowanalytics.snowplow/client_session/jsonschema/1-0-2) context should be attached to tracked events. | ✔ | ✔ | ✔ | true |
44
+
|`webPageContext`|`bool?`| Indicates whether context about current [web page](http://iglucentral.com/schemas/com.snowplowanalytics.snowplow/web_page/jsonschema/1-0-0) should be attached to tracked events. ||| ✔ | true |
45
+
|`screenContext`|`bool?`| Indicates whether [screen](http://iglucentral.com/schemas/com.snowplowanalytics.mobile/screen/jsonschema/1-0-0) context should be attached to tracked events. | ✔ | ✔ || true |
46
+
|`applicationContext`|`bool?`| Indicates whether [application](http://iglucentral.com/schemas/com.snowplowanalytics.mobile/application/jsonschema/1-0-0) context should be attached to tracked events. | ✔ | ✔ || true |
44
47
|`webActivityTracking`| WebActivityTracking?` | Enables activity tracking using page views and pings on the Web. ||| ✔ | true |
48
+
|`userAnonymisation`|`bool?`| Anonymises certain user identifiers. | ✔ | ✔ | ✔ | false |
45
49
46
50
The optional `WebActivityTracking` property configures page tracking on Web. Initializing the configuration will inform `SnowplowObserver` observers (see section on auto-tracking in "Tracking events") to auto track `PageViewEvent` events instead of `ScreenView` events on navigation changes. Further, setting the `minimumVisitLength` and `heartbeatDelay` properties of the `WebActivityTracking` instance will enable activity tracking using 'page ping' events on Web.
47
51
48
52
Activity tracking monitors whether a user continues to engage with a page over time, and record how he / she digests content on the page over time. That is accomplished using 'page ping' events. If activity tracking is enabled, the web page is monitored to see if a user is engaging with it. (E.g. is the tab in focus, does the mouse move over the page, does the user scroll etc.) If any of these things occur in a set period of time (`minimumVisitLength` seconds from page load and every `heartbeatDelay` seconds after that), a page ping event fires, and records the maximum scroll left / right and up / down in the last ping period. If there is no activity in the page (e.g. because the user is on a different tab in his / her browser), no page ping fires.
49
53
54
+
See the separate page for information about anonymous tracking.
55
+
56
+
## Configuration of emitter properties: `EmitterConfiguration`
57
+
This Configuration class was added in v0.3.0. Currently, the only property is `serverAnonymisation`.
58
+
59
+
| Attribute | Type | Description | Android | iOS | Web | Default |
|`serverAnonymisation`|`bool?`| Prevents tracking of server-side user identifiers. | ✔ | ✔ | ✔ | false |
62
+
50
63
## Configuration of subject information: `SubjectConfiguration`
51
64
52
65
Subject information are persistent and global information about the tracked device or user. They apply to all events and are assigned as event properties.
0 commit comments