@snowplow/react-native-tracker 0.2.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG CHANGED
@@ -1,3 +1,27 @@
1
+ Version 1.1.0 (2022-02-07)
2
+ --------------------------
3
+ Update mobile tracker dependencies to v3 (#141)
4
+ Add deep link and message notification events (#142)
5
+ Update demo app to show accessing tracker instance from platform native code (#136)
6
+ Fix compilation error for iOS build on ARM macs (#140)
7
+ Fix check for byteLimitGet when reading emitter configuration (#138)
8
+ Fix check for Android version in GitHub Actions (#134)
9
+ Update year in all copyright notices (#148)
10
+ Update dependencies (#150)
11
+
12
+ Version 1.0.0 (2021-08-09)
13
+ --------------------------
14
+ Fix action-gh-release to specific commit (#133)
15
+ Update devDependencies (#132)
16
+ Publish sourcemaps (#131)
17
+ Lint DemoApp separately (#130)
18
+ Get Session Context Data (#53)
19
+ Update version in podspec (#110)
20
+ Set amended v_tracker indicating react-native (#18)
21
+ Add global contexts (#104)
22
+ Upgrade iOS Tracker and Android Tracker to v2 (#113)
23
+ Add test suite (#60)
24
+
1
25
  Version 0.2.0 (2021-06-21)
2
26
  --------------------------
3
27
  Bump dependencies in DemoApp (#114)
package/LICENSE CHANGED
@@ -187,8 +187,8 @@
187
187
  same "printed page" as the copyright notice for easier
188
188
  identification within third-party archives.
189
189
 
190
- Significant portions Copyright (c) 2019 DataCamp. Remainder copyright
191
- 2020-2021 Snowplow Analytics Ltd. All rights reserved.
190
+ Copyright (c) 2020-2022 Snowplow Analytics Ltd, 2019 DataCamp.
191
+ All rights reserved.
192
192
 
193
193
  Licensed under the Apache License, Version 2.0 (the "License");
194
194
  you may not use this file except in compliance with the License.
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
 
2
2
  # @snowplow/react-native-tracker
3
3
 
4
- [![Early Release]][Tracker Classificiation]
4
+ [![actively-maintained]][tracker-classification]
5
5
  [![Build Status][gh-actions-image]][gh-actions]
6
6
  [![License][license-image]][license]
7
7
 
@@ -10,299 +10,179 @@
10
10
  [![downloads][downloads-dm-image]][downloads-dm]
11
11
 
12
12
 
13
- Feedback and contributions are welcome - if you have identified a bug, please log an issue on this repo. For all other feedback, discussion or questions please open a thread on our [discourse forum](https://discourse.snowplowanalytics.com/).
13
+ Snowplow is a scalable open-source platform for rich, high quality, low-latency data collection. It is designed to collect high quality, complete behavioral data for enterprise business.
14
14
 
15
- ## Getting started
15
+ **To find out more, please check out the [Snowplow website][website] and our [documentation][docs].**
16
16
 
17
- From the root of your [React Native][react-native] project:
18
17
 
19
- `$ npm install @snowplow/react-native-tracker --save`
18
+ ## Snowplow React-Native Tracker Overview
20
19
 
21
- ### Instrumentation
20
+ The Snowplow React Native Tracker allows you to add analytics to your React Native apps when using a [Snowplow][snowplow] pipeline.
22
21
 
23
- To setup, you first need to import the module and then create the tracker object using the `createTracker` function.
22
+ With this library you can collect granular event-level data as your users interact with your React Native applications. It is build on top of Snowplow's [Mobile Native][native-trackers] [iOS][objc-tracker] and [Android][android-tracker] Trackers, in order to support the full range of out-of-the-box Snowplow events and tracking capabilities.
24
23
 
25
- Then you can start tracking events using the relevant tracking methods.
26
24
 
27
- ```JavaScript
28
- import { createTracker } from '@snowplow/react-native-tracker';
25
+ ## Quick start
29
26
 
30
- const tracker = createTracker('my-namespace', {
31
- // required
32
- endpoint: 'test-url',
33
- appId: 'my-app-id',
34
-
35
- // optional - defaults shown
36
- method: 'post',
37
- protocol: 'https',
38
- base64Encoded: true,
39
- platformContext: true,
40
- applicationContext: false,
41
- lifecycleEvents: false,
42
- screenContext: true,
43
- sessionContext: true,
44
- foregroundTimeout: 600,
45
- backgroundTimeout: 300,
46
- checkInterval: 15,
47
- installTracking: false,
48
- });
49
-
50
- tracker.trackSelfDescribingEvent(
51
- {
52
- schema: 'iglu:com.acme/hello_world_event/jsonschema/1-0-0',
53
- data: {
54
- message: 'hello world'
55
- }
56
- }
57
- );
27
+ From the root of your [React Native][react-native] project:
58
28
 
59
29
  ```
60
-
61
- ### Running on iOS
62
-
63
- `cd ios && pod install && cd ..`
64
-
65
- Run the app with: `react-native run-ios` from the root of the project.
66
-
67
- ### Running on Android
68
-
69
- `react-native run-android` from the root of the project.
70
-
71
- ## Available tracker methods
72
-
73
- All methods take a JSON of named arguments.
74
-
75
-
76
- ### Set the subject data:
77
-
78
- Setting custom subject data is optional, can be called any time, and can be called again to update the subject. Once set, the specified parameters are set for all subsequent events. (For example, a userid may be set after login, and once set all subsequent events will contain the userid).
79
-
80
- ```JavaScript
81
- setSubjectData({ // All parameters optional
82
- userId: 'my-userId', // user id, string
83
- screenWidth: 123, // screen width, integer
84
- screenHeight: 456, // screen height, integer
85
- colorDepth: 20, // colour depth, integer
86
- timezone: 'Europe/London', // timezone, string enum
87
- language: 'en', // language, string enum
88
- ipAddress: '123.45.67.89', // IP address, string
89
- useragent: '[some-user-agent-string]', // user agent, string
90
- networkUserId: '5d79770b-015b-4af8-8c91-b2ed6faf4b1e', // network user id, UUID4 string
91
- domainUserId: '5d79770b-015b-4af8-8c91-b2ed6faf4b1e',// domain user id, UUID4 string
92
- viewportWidth: 123, // viewport width, integer
93
- viewportHeight: 456 // viewport height, integer
94
- }
95
- );
30
+ npm install --save @snowplow/react-native-tracker
31
+ npx pod-install
96
32
  ```
97
33
 
34
+ Then, instrument the tracker in your app and start tracking events. For example:
98
35
 
99
- ### Track a custom event:
100
-
101
- ```JavaScript
102
- trackSelfDescribingEvent({ // Self-describing JSON for the custom event
103
- schema: 'iglu:com.acme/event/jsonschema/1-0-0',
104
- data: {message: 'hello world'}
105
- });
106
- ```
36
+ ```javascript
37
+ import { createTracker } from '@snowplow/react-native-tracker';
107
38
 
108
- ### Track a structured event:
109
-
110
- ```JavaScript
111
- trackStructuredEvent({
112
- // required
113
- category: 'my-category',
114
- action: 'my-action',
115
- // optional
116
- label: 'my-label',
117
- property: 'my-property',
118
- value: 50.00
119
- }
39
+ const tracker = createTracker(
40
+ 'my-namespace',
41
+ { endpoint: 'https://my-collector.endpoint' }
120
42
  );
121
- ```
122
-
123
- ### Track a Screen View:
124
-
125
- Note - for the track Screen View method, if previous screen values aren't set, they should be automatically set by the tracker.
126
43
 
127
- ```JavaScript
128
- trackScreenViewEvent({
129
- screenName: 'my-screen-name', //required
130
- // optional:
131
- screenType: 'my-screen-type',
132
- transitionType: 'my-transition'
133
- }
134
- );
44
+ tracker.trackScreenViewEvent({ name: 'myScreenName' });
135
45
  ```
136
46
 
137
- ### Track a Page View:
47
+ The Snowplow React Native Tracker also provides first-class support for TypeScript, as it is fully typed.
138
48
 
139
- ```JavaScript
140
- trackPageViewEvent({
141
- pageUrl: 'https://www.my-page-url.com', // required
142
- //optional:
143
- pageTitle: 'my page title',
144
- pageReferrer: 'http://www.my-refr.com'
145
- }
146
- );
147
- ```
49
+ See also our [DemoApp][demoapp] for an example implementation.
148
50
 
149
- ### Attaching custom contexts
150
-
151
- All track methods take an optional second argument - an array of 0 or more self-describing JSONs for custom contexts that will be attached to the event:
152
-
153
- ```JavaScript
154
-
155
- trackSelfDescribingEvent(
156
- // Self-describing JSON for the custom event
157
- {
158
- schema: 'iglu:com.acme/event/jsonschema/1-0-0',
159
- data: {message: 'hello world'}
160
- },
161
- // array of contexts
162
- [
163
- {
164
- schema: 'iglu:com.acme/entity/jsonschema/1-0-0',
165
- data: {myEntityField: 'hello world'}
166
- }
167
- ]
168
- );
169
51
 
170
- trackStructuredEvent(
171
- // the structured event's properties
172
- {
173
- // required
174
- category: 'my-category',
175
- action: 'my-action',
176
- // optional
177
- label: 'my-label',
178
- property: 'my-property',
179
- value: 50.00
180
- },
181
- // the contexts' array
182
- [
183
- {
184
- schema: 'iglu:com.acme/entity/jsonschema/1-0-0',
185
- data: {myEntityField: 'hello world'}
186
- }
187
- ]
188
- );
52
+ ## Find out more
189
53
 
190
- trackScreenViewEvent(
191
- // the screen_view event's properties
192
- {
193
- screenName: 'my-screen-name', //required
194
- // optional:
195
- screenType: 'my-screen-type',
196
- transitionType: 'my-transition'
197
- },
198
- // the contexts' array
199
- [
200
- {
201
- schema: 'iglu:com.acme/entity/jsonschema/1-0-0',
202
- data: {myEntityField: "hello world"}
203
- }
204
- ]
205
- );
54
+ | Technical Docs | Setup Guide |
55
+ |-----------------------------------|-----------------------------|
56
+ | [![i1][techdocs-image]][techdocs] | [![i2][setup-image]][setup] |
57
+ | [Technical Docs][techdocs] | [Setup Guide][setup] |
206
58
 
207
- trackPageViewEvent(
208
- // the page_view event's properties
209
- {
210
- pageUrl: 'https://www.my-page-url.com', //required
211
- // optional
212
- pageTitle: 'my page title',
213
- pageReferrer: 'http://www.my-refr.com'
214
- },
215
- // the context's array
216
- [
217
- {
218
- schema: 'iglu:com.acme/entity/jsonschema/1-0-0',
219
- data: {myEntityField: "hello world"}
220
- }
221
- ]
222
- );
223
- ```
224
59
 
225
- ## Contributing
226
60
 
227
- Please read CONTRIBUTING.md for general guidelines on contributing.
61
+ ## Maintainer quick start
228
62
 
229
- ### Maintainer quick start
63
+ ### Launching the DemoApp
230
64
 
231
- Assuming a [react-native environment][react-native-environment] is set up, from the root of the repository to launch the DemoApp:
65
+ Assuming a [react-native environment][react-native-environment] is set up, from the root of the repository:
232
66
 
233
67
  ```bash
234
68
  npm install
235
- npm run compile
236
-
69
+ npm run bootstrap
237
70
  cd DemoApp
238
- yarn install
239
-
240
- yarn start # to start Metro
241
-
242
71
  ```
243
72
 
244
- Then in another terminal:
245
-
246
- 1. For Android
73
+ **For Android:**
247
74
 
248
75
  ```bash
249
- cd DemoApp
250
76
  yarn android
251
77
  ```
78
+ _Note_: Linux users who want to run the DemoApp for Android, would also need to run `yarn start` in a separate terminal.
252
79
 
253
- 2. For iOS
80
+ **For iOS:**
254
81
 
255
82
  ```bash
256
- cd DemoApp/ios && pod install
257
- cd .. && yarn ios
83
+ yarn pods && yarn ios
258
84
  ```
259
85
 
260
- ### Testing
261
-
262
- Currently, testing is done manually. It is recommended to use [Snowplow Micro][snowplow-micro] or a [Snowplow Mini][snowplow-mini] instance to test your changes during development.
263
-
264
- During development, to quickly test changes, the `.scripts/quickTest.sh` bash script can be used, assuming the DemoApp has already been built before. This simply replaces relevant files in the node_modules folder, and re-runs react native.
86
+ During development, to quickly test changes, the `.scripts/quickTest.sh` bash script can be used.
265
87
 
266
88
  ```bash
267
89
  # android
268
-
269
90
  bash .scripts/quickTest.sh android
270
-
271
91
  # ios
272
-
273
92
  bash .scripts/quickTest.sh ios
274
-
275
93
  # both
276
-
277
94
  bash .scripts/quickTest.sh both
278
95
  ```
279
96
 
280
- The `.scripts/cleanBuildAndRun.sh` script offers a naive way to rebuild the entire project with your changes. It uses `npm pack` to create an npm package locally, and installs it to the DemoApp, then it removes pod and gradle lock files and rebuilds all dependencies.
97
+ Similarly, the `.scripts/cleanBuildAndRun.sh` script offers a naive way to clean-rebuild the entire project with your changes.
281
98
 
282
99
  ```bash
283
100
  # android
284
-
285
101
  bash .scripts/cleanBuildAndRun.sh android
286
-
287
102
  # ios
288
-
289
103
  bash .scripts/cleanBuildAndRun.sh ios
290
-
291
104
  # both
292
-
293
105
  bash .scripts/cleanBuildAndRun.sh both
294
106
  ```
295
107
 
296
- ## Find out more
297
108
 
298
- | Technical Docs |
299
- |-----------------------------|
300
- | ![i1][techdocs-image] |
301
- | [Technical Docs][techdocs] |
109
+ ### End-to-end tests
110
+
111
+ Snowplow React-Native Tracker is being end-to-end tested using [Snowplow Micro][snowplow-micro] and [Detox][detox]. To run these tests locally:
112
+
113
+ #### Prerequisites
114
+
115
+ 1. **Docker**: Used to launch Snowplow Micro and expose its collector endpoint on `http://0.0.0.0:9090`.
116
+ 2. **Perl**: Used to substitute the endpoint placeholders in `DemoApp/App.js` with Micro's endpoint for respective emulator/simulator.
117
+ 3. **Detox** platform-specific development environment setup:
118
+ - [For Android][detox-android-env]. Namely:
119
+ - Java 8
120
+ - Android SDK
121
+ - Android Open-Source Project emulator
122
+ - [For iOS][detox-ios-env]. Namely:
123
+ - applesimutils
124
+
125
+ #### Testing
126
+
127
+ Once the prerequisites are in place:
128
+
129
+ ```
130
+ npm install
131
+ npm run bootstrap
132
+ cd DemoApp
133
+ ```
134
+
135
+ - **e2e-android**
136
+ ```
137
+ yarn e2e:android:micro
138
+ ```
139
+
140
+ - **e2e-ios**
141
+ ```
142
+ yarn e2e:ios:micro
143
+ ```
302
144
 
303
- [Tracker Classificiation]: https://docs.snowplowanalytics.com/docs/collecting-data/collecting-from-own-applications/tracker-maintenance-classification/
304
- [Early Release]: https://img.shields.io/static/v1?style=flat&label=Snowplow&message=Early%20Release&color=014477&labelColor=9ba0aa&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAeFBMVEVMaXGXANeYANeXANZbAJmXANeUANSQAM+XANeMAMpaAJhZAJeZANiXANaXANaOAM2WANVnAKWXANZ9ALtmAKVaAJmXANZaAJlXAJZdAJxaAJlZAJdbAJlbAJmQAM+UANKZANhhAJ+EAL+BAL9oAKZnAKVjAKF1ALNBd8J1AAAAKHRSTlMAa1hWXyteBTQJIEwRgUh2JjJon21wcBgNfmc+JlOBQjwezWF2l5dXzkW3/wAAAHpJREFUeNokhQOCA1EAxTL85hi7dXv/E5YPCYBq5DeN4pcqV1XbtW/xTVMIMAZE0cBHEaZhBmIQwCFofeprPUHqjmD/+7peztd62dWQRkvrQayXkn01f/gWp2CrxfjY7rcZ5V7DEMDQgmEozFpZqLUYDsNwOqbnMLwPAJEwCopZxKttAAAAAElFTkSuQmCC
145
+ The above commands will take care to kill Micro's running container before exiting. If you'd prefer to keep Micro running in order to inspect the tracked events through Micro's REST API, you can alternatively control Micro through:
305
146
 
147
+ ```
148
+ yarn micro:run
149
+ yarn micro:stop
150
+ ```
151
+ and run the e2e-tests on their own:
152
+ ```
153
+ yarn e2e:android
154
+ # or
155
+ yarn e2e:ios
156
+ ```
157
+
158
+
159
+ ## Contributing
160
+
161
+ Feedback and contributions are welcome - if you have identified a bug, please log an issue on this repo. For all other feedback, discussion or questions please open a thread on our [discourse forum][discourse].
162
+
163
+ | Contributing |
164
+ |-------------------------------------------|
165
+ | [![i3][contributing-image]][contributing] |
166
+ | [Contributing][contributing] |
167
+
168
+
169
+
170
+ ## Copyright and license
171
+
172
+ The Snowplow React Native Tracker is copyright 2020-2022 Snowplow Analytics Ltd, 2019 DataCamp.
173
+
174
+ Licensed under the **[Apache License, Version 2.0][license]** (the "License");
175
+ you may not use this software except in compliance with the License.
176
+
177
+ Unless required by applicable law or agreed to in writing, software
178
+ distributed under the License is distributed on an "AS IS" BASIS,
179
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
180
+ See the License for the specific language governing permissions and
181
+ limitations under the License.
182
+
183
+
184
+ [tracker-classification]: https://docs.snowplowanalytics.com/docs/collecting-data/collecting-from-own-applications/tracker-maintenance-classification/
185
+ [actively-maintained]: https://img.shields.io/static/v1?style=flat&label=Snowplow&message=Actively%20Maintained&color=6638b8&labelColor=9ba0aa&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAeFBMVEVMaXGXANeYANeXANZbAJmXANeUANSQAM+XANeMAMpaAJhZAJeZANiXANaXANaOAM2WANVnAKWXANZ9ALtmAKVaAJmXANZaAJlXAJZdAJxaAJlZAJdbAJlbAJmQAM+UANKZANhhAJ+EAL+BAL9oAKZnAKVjAKF1ALNBd8J1AAAAKHRSTlMAa1hWXyteBTQJIEwRgUh2JjJon21wcBgNfmc+JlOBQjwezWF2l5dXzkW3/wAAAHpJREFUeNokhQOCA1EAxTL85hi7dXv/E5YPCYBq5DeN4pcqV1XbtW/xTVMIMAZE0cBHEaZhBmIQwCFofeprPUHqjmD/+7peztd62dWQRkvrQayXkn01f/gWp2CrxfjY7rcZ5V7DEMDQgmEozFpZqLUYDsNwOqbnMLwPAJEwCopZxKttAAAAAElFTkSuQmCC
306
186
  [gh-actions]: https://github.com/snowplow-incubator/snowplow-react-native-tracker/actions
307
187
  [gh-actions-image]: https://github.com/snowplow-incubator/snowplow-react-native-tracker/workflows/build/badge.svg?branch=master
308
188
 
@@ -318,10 +198,30 @@ bash .scripts/cleanBuildAndRun.sh both
318
198
  [downloads-dm]: https://www.npmjs.com/package/@snowplow/react-native-tracker
319
199
  [downloads-dm-image]: https://img.shields.io/npm/dm/@snowplow/react-native-tracker
320
200
 
321
- [techdocs]: https://docs.snowplowanalytics.com/docs/collecting-data/collecting-from-own-applications/react-native-tracker/
201
+ [website]: https://snowplowanalytics.com
202
+ [docs]: https://docs.snowplowanalytics.com
203
+ [snowplow]: https://github.com/snowplow/snowplow
204
+ [discourse]: https://discourse.snowplowanalytics.com
205
+
206
+ [techdocs]: https://docs.snowplowanalytics.com/docs/collecting-data/collecting-from-own-applications/react-native-tracker/introduction
322
207
  [techdocs-image]: https://d3i6fms1cm1j0i.cloudfront.net/github/images/techdocs.png
208
+ [setup]: https://docs.snowplowanalytics.com/docs/collecting-data/collecting-from-own-applications/react-native-tracker/quick-start-guide/
209
+ [setup-image]: https://d3i6fms1cm1j0i.cloudfront.net/github/images/setup.png
210
+
211
+ [contributing]: https://github.com/snowplow-incubator/snowplow-react-native-tracker/blob/master/CONTRIBUTING.md
212
+ [contributing-image]: https://d3i6fms1cm1j0i.cloudfront.net/github/images/contributing.png
323
213
 
324
214
  [react-native]: https://reactnative.dev/
325
215
  [react-native-environment]: https://reactnative.dev/docs/environment-setup
326
216
  [snowplow-micro]: https://github.com/snowplow-incubator/snowplow-micro
327
217
  [snowplow-mini]: https://github.com/snowplow/snowplow-mini
218
+
219
+ [native-trackers]: https://docs.snowplowanalytics.com/docs/collecting-data/collecting-from-own-applications/mobile-trackers/mobile-trackers-v2-0
220
+ [objc-tracker]: https://github.com/snowplow/snowplow-objc-tracker
221
+ [android-tracker]: https://github.com/snowplow/snowplow-android-tracker
222
+
223
+ [demoapp]: https://github.com/snowplow-incubator/snowplow-react-native-tracker/tree/master/DemoApp
224
+ [gh-actions-workflows]: https://github.com/snowplow-incubator/snowplow-react-native-tracker/tree/master/.github/workflows
225
+ [detox]: https://github.com/wix/Detox
226
+ [detox-android-env]: https://github.com/wix/Detox/blob/master/docs/Introduction.AndroidDevEnv.md
227
+ [detox-ios-env]: https://github.com/wix/Detox/blob/master/docs/Introduction.iOSDevEnv.md
@@ -0,0 +1,24 @@
1
+ require 'json'
2
+
3
+ package = JSON.parse(File.read(File.join(__dir__, 'package.json')))
4
+
5
+ Pod::Spec.new do |s|
6
+ s.name = "RNSnowplowTracker"
7
+ s.version = package['version']
8
+ s.license = package['license']
9
+
10
+ s.summary = "Snowplow React Native tracker"
11
+ s.description = package['description']
12
+ s.homepage = package['homepage']
13
+ s.author = { "Snowplow Analytics Ltd" => "info@snowplowanalytics.com" }
14
+
15
+ s.platforms = { :ios => "9.0" }
16
+
17
+ s.source = { :git => "https://github.com/snowplow-incubator/snowplow-react-native-tracker.git", :tag => "#{s.version}" }
18
+ s.source_files = "ios/**/*.{h,m}"
19
+
20
+ s.requires_arc = true
21
+
22
+ s.dependency "React-Core"
23
+ s.dependency "SnowplowTracker", "~> 3.0"
24
+ end
@@ -4,24 +4,24 @@ def safeExtGet(prop, fallback) {
4
4
 
5
5
  buildscript {
6
6
  repositories {
7
- google()
8
7
  mavenCentral()
8
+ google()
9
9
  }
10
10
 
11
11
  dependencies {
12
- classpath "com.android.tools.build:gradle:3.4.1"
12
+ classpath "com.android.tools.build:gradle:4.2.1"
13
13
  }
14
14
  }
15
15
 
16
16
  apply plugin: "com.android.library"
17
17
 
18
18
  android {
19
- compileSdkVersion safeExtGet('compileSdkVersion', 28)
19
+ compileSdkVersion safeExtGet('compileSdkVersion', 30)
20
20
  buildToolsVersion safeExtGet('buildToolsVersion', '28.0.3')
21
21
 
22
22
  defaultConfig {
23
- minSdkVersion safeExtGet('minSdkVersion', 16)
24
- targetSdkVersion safeExtGet('targetSdkVersion', 28)
23
+ minSdkVersion safeExtGet('minSdkVersion', 21)
24
+ targetSdkVersion safeExtGet('targetSdkVersion', 30)
25
25
  versionCode 1
26
26
  versionName "1.0"
27
27
  }
@@ -44,12 +44,11 @@ repositories {
44
44
  }
45
45
 
46
46
  dependencies {
47
- def lifecycle_version = "2.0.0"
48
47
  implementation fileTree(dir: "libs", include: ["*.jar"])
49
- implementation "androidx.lifecycle:lifecycle-extensions:$lifecycle_version"
48
+ implementation 'androidx.lifecycle:lifecycle-extensions:2.2.+'
50
49
 
51
50
  // Required Dependency for the Tracker
52
- implementation "com.squareup.okhttp3:okhttp:3.12.1"
51
+ implementation "com.squareup.okhttp3:okhttp:4.9.3"
53
52
  implementation "com.facebook.react:react-native:+"
54
- implementation "com.snowplowanalytics:snowplow-android-tracker:1.+"
53
+ implementation 'com.snowplowanalytics:snowplow-android-tracker:3.+'
55
54
  }
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
3
3
  distributionPath=wrapper/dists
4
4
  zipStoreBase=GRADLE_USER_HOME
5
5
  zipStorePath=wrapper/dists
6
- distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip
6
+ distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip