@bugfender/rn-bugfender 2.2.0 → 2.2.1
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/README.md +26 -98
- package/package.json +11 -6
package/README.md
CHANGED
|
@@ -2,66 +2,35 @@
|
|
|
2
2
|
|
|
3
3
|
Bugfender module for React Native and React Native for the Web. It depends on the iOS, Android and Javascript Bugfender SDKs.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
This version has been tested in React Native with both the Old and New Architecture.
|
|
6
|
+
The New Architecture is still experimental, and therefore subject to break in new React Native versions.
|
|
7
|
+
|
|
8
|
+
## Expo compatibility
|
|
6
9
|
|
|
7
|
-
|
|
10
|
+
Bugfender works with Expo in the ["bare workflow"](https://docs.expo.io/introduction/managed-vs-bare/#bare-workflow). The Expo Go application (used in the managed workflow) can not run the Bugfender SDK because it contains native code.
|
|
11
|
+
|
|
12
|
+
## Adding Bugfender to your project
|
|
8
13
|
|
|
9
14
|
`$ cd path_to_your_project`
|
|
10
15
|
|
|
11
16
|
Add the bugfender plugin from npm
|
|
12
17
|
|
|
13
|
-
`$ npm install
|
|
18
|
+
`$ npm install @bugfender/rn-bugfender @bugfender/sdk @bugfender/common`
|
|
14
19
|
|
|
15
|
-
|
|
16
|
-
You are done!
|
|
20
|
+
After installing, close and relaunch your app with `npm run ios` or `npm run android`.
|
|
17
21
|
|
|
18
|
-
|
|
19
|
-
You can finish the installation manually or via CocoaPods (recommended)
|
|
22
|
+
## Usage
|
|
20
23
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
1. Ensure your iOS project contains a Podfile, otherwise you need to add it now:
|
|
24
|
-
```
|
|
25
|
-
$ cd path_to_your_project/ios
|
|
26
|
-
$ pod init
|
|
24
|
+
```typescript
|
|
25
|
+
import { Bugfender, LogLevel } from '@bugfender/rn-bugfender';
|
|
27
26
|
```
|
|
28
|
-
Make sure you're targeting at least iOS platform version 10 (specify `platform :ios, '10.0'`).
|
|
29
|
-
|
|
30
|
-
2. After configuring the podfile you can now go to the console and run
|
|
31
|
-
|
|
32
|
-
`$ pod install`
|
|
33
|
-
|
|
34
|
-
When the installation has finished you should be able to run your project in iOS and Android.
|
|
35
|
-
|
|
36
|
-
**Remember that you should be using the Xcode workspace instead of the xcodeproj file from now on.**
|
|
37
|
-
|
|
38
|
-
*At the end of this document you can find a **[recommended podfile](#recommended-podfile)**. You can use it as an example*.
|
|
39
27
|
|
|
40
|
-
|
|
28
|
+
Please check the following URL for a complete API reference: https://js.bugfender.com.
|
|
41
29
|
|
|
42
|
-
|
|
30
|
+
Note: always import @bugfender/rn-bugfender instead of @bugfender/sdk. This will enable the native features of the SDK that you wouldn't get otherwise.
|
|
43
31
|
|
|
44
|
-
|
|
32
|
+
### Example
|
|
45
33
|
|
|
46
|
-
* Go to your **Project** > **Your Target** > **General** > **Linked Frameworks and Libraries** and drag `BugfenderSDK.framework` there (uncheck the "Copy items if needed" checkbox).
|
|
47
|
-
|
|
48
|
-
* Make sure you have linked `SystemConfiguration.framework`, `Security.framework`, `MobileCoreServices.framework` and `libc++.tbd` as well.
|
|
49
|
-
|
|
50
|
-
## Upgrading from version 1.x
|
|
51
|
-
After updating to version 2.x from version 1.x you should perform the following extra steps:
|
|
52
|
-
### Android
|
|
53
|
-
Open `MainApplication` class inside `android/app/src/main/java/com.<your_app>/` folder and remove any references to `com.bugfender.react.RNBugfenderPackage`
|
|
54
|
-
### iOS
|
|
55
|
-
Open `Podfile` inside `ios` folder and remove the following line:
|
|
56
|
-
```
|
|
57
|
-
pod 'RNBugfender', :path => '../node_modules/@bugfender/rn-bugfender'
|
|
58
|
-
```
|
|
59
|
-
and then execute the following command under `ios` folder:
|
|
60
|
-
```
|
|
61
|
-
pod deintegrate && pod install
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
## RNBugfender Usage
|
|
65
34
|
```typescript
|
|
66
35
|
import { Bugfender, LogLevel } from '@bugfender/rn-bugfender';
|
|
67
36
|
|
|
@@ -82,19 +51,6 @@ Bugfender.init({
|
|
|
82
51
|
// version: '1.0', // Web sprecific
|
|
83
52
|
});
|
|
84
53
|
|
|
85
|
-
// Alternatively, SDKOptionsBuilder can be used to make it apparent what options are specific of certain platforms
|
|
86
|
-
Bugfender.init(
|
|
87
|
-
new SDKOptionsBuilder({
|
|
88
|
-
appKey: '<YOUR APP KEY>',
|
|
89
|
-
}).native({
|
|
90
|
-
enableLogcatLogging: false,
|
|
91
|
-
}).web({
|
|
92
|
-
logBrowserEvents: true,
|
|
93
|
-
build: '42',
|
|
94
|
-
version: '1.0',
|
|
95
|
-
}).build()
|
|
96
|
-
);
|
|
97
|
-
|
|
98
54
|
// Send logs with different levels
|
|
99
55
|
Bugfender.log('This is a debug log in Bugfender from React Native');
|
|
100
56
|
Bugfender.warn('This is a warn log in Bugfender from React Native');
|
|
@@ -161,6 +117,7 @@ Bugfender.getSessionURL().then((url) => console.log('Session url: %s', url));
|
|
|
161
117
|
// Synchronizes all logs and issues with the server once
|
|
162
118
|
Bugfender.forceSendOnce();
|
|
163
119
|
```
|
|
120
|
+
|
|
164
121
|
## Changelog
|
|
165
122
|
The changelog of the Bugfender Web SDK can be found in ReleaseNotes under the [react-native](https://bugfender.releasenotes.io/tag/react-native) tag. For all the Bugfender product changes please visit the general release notes.
|
|
166
123
|
|
|
@@ -186,47 +143,18 @@ The React Native SDK API has changed in order be unified with [Bugfender Web SDK
|
|
|
186
143
|
* `setDeviceKey` method replaces `setDeviceBoolean`, `setDeviceString`, `setDeviceInteger` & `setDeviceFloat`
|
|
187
144
|
|
|
188
145
|
## Cocoapods Troubleshooting
|
|
189
|
-
We
|
|
146
|
+
We often get questions about CocoaPods install failing. Whilst this has nothing to do with Bugfender, you may
|
|
147
|
+
encounter this problem while installing the pod.
|
|
190
148
|
|
|
191
|
-
|
|
149
|
+
To reinstall the pods, you can do:
|
|
192
150
|
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
platform :ios, '10.0'
|
|
196
|
-
|
|
197
|
-
target 'SampleProject' do
|
|
198
|
-
# Comment the next line if you don't want to use dynamic frameworks
|
|
199
|
-
use_frameworks!
|
|
200
|
-
|
|
201
|
-
# Pods for SampleProject
|
|
202
|
-
pod 'AFNetworking'
|
|
203
|
-
|
|
204
|
-
# Add new pods below this line
|
|
205
|
-
pod 'RnBugfender', :path => '../node_modules/@bugfender/rn-bugfender'
|
|
206
|
-
|
|
207
|
-
rn_path = '../node_modules/react-native'
|
|
208
|
-
|
|
209
|
-
pod 'yoga', path: "#{rn_path}/ReactCommon/yoga"
|
|
210
|
-
pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec'
|
|
211
|
-
pod 'React', path: rn_path, subspecs: [
|
|
212
|
-
'Core',
|
|
213
|
-
'CxxBridge',
|
|
214
|
-
'DevSupport',
|
|
215
|
-
'RCTActionSheet',
|
|
216
|
-
'RCTAnimation',
|
|
217
|
-
'RCTGeolocation',
|
|
218
|
-
'RCTImage',
|
|
219
|
-
'RCTLinkingIOS',
|
|
220
|
-
'RCTNetwork',
|
|
221
|
-
'RCTSettings',
|
|
222
|
-
'RCTText',
|
|
223
|
-
'RCTVibration',
|
|
224
|
-
'RCTWebSocket',
|
|
225
|
-
]
|
|
226
|
-
|
|
227
|
-
end
|
|
151
|
+
```sh
|
|
152
|
+
bundle exec pod install
|
|
228
153
|
```
|
|
229
154
|
|
|
230
|
-
|
|
155
|
+
Or, for the New Architecture:
|
|
156
|
+
```sh
|
|
157
|
+
RCT_NEW_ARCH_ENABLED=1 bundle exec pod install
|
|
158
|
+
```
|
|
231
159
|
|
|
232
|
-
|
|
160
|
+
You can find more details here: https://reactnative.dev/docs/environment-setup
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bugfender/rn-bugfender",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.1",
|
|
4
4
|
"description": "React Native bindings for Bugfender SDK",
|
|
5
5
|
"main": "lib/commonjs/index",
|
|
6
6
|
"module": "lib/module/index",
|
|
@@ -54,14 +54,14 @@
|
|
|
54
54
|
"registry": "https://registry.npmjs.org/"
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|
|
57
|
-
"@arkweid/lefthook": "^0.7.7",
|
|
58
|
-
"@babel/eslint-parser": "^7.19.1",
|
|
59
57
|
"@commitlint/config-conventional": "^17.2.0",
|
|
58
|
+
"@evilmartians/lefthook": "^1.4.8",
|
|
60
59
|
"@react-native-community/eslint-config": "^3.2.0",
|
|
61
|
-
"@release-it/conventional-changelog": "^
|
|
60
|
+
"@release-it/conventional-changelog": "^7.0.0",
|
|
62
61
|
"@types/jest": "^29.2.2",
|
|
63
62
|
"@types/react": "^18.2.19",
|
|
64
63
|
"@types/react-native": "^0.72.2",
|
|
64
|
+
"@typescript-eslint/parser": "^5.62.0",
|
|
65
65
|
"commitlint": "^17.2.0",
|
|
66
66
|
"eslint": "^8.27.0",
|
|
67
67
|
"eslint-config-prettier": "^8.5.0",
|
|
@@ -72,8 +72,8 @@
|
|
|
72
72
|
"react": "^18.2.0",
|
|
73
73
|
"react-native": "^0.72.3",
|
|
74
74
|
"react-native-builder-bob": "^0.21.3",
|
|
75
|
-
"release-it": "^
|
|
76
|
-
"typescript": "^4.
|
|
75
|
+
"release-it": "^16.1.4",
|
|
76
|
+
"typescript": "^4.9.5"
|
|
77
77
|
},
|
|
78
78
|
"resolutions": {
|
|
79
79
|
"@types/react": "17.0.21"
|
|
@@ -84,6 +84,11 @@
|
|
|
84
84
|
"react": "*",
|
|
85
85
|
"react-native": "*"
|
|
86
86
|
},
|
|
87
|
+
"overrides": {
|
|
88
|
+
"@release-it/conventional-changelog": {
|
|
89
|
+
"semver": "~7.5.2"
|
|
90
|
+
}
|
|
91
|
+
},
|
|
87
92
|
"jest": {
|
|
88
93
|
"preset": "react-native",
|
|
89
94
|
"modulePathIgnorePatterns": [
|